close icon
close icon

    Liens du 21 avril 2023


    Myth of the Lone Genius, Où je me suis trompé sur l’agilité, How Complex Systems Fail, No Ghosts!

    Myth of the Lone Genius

    While we frame early pioneers in our field as lone geniuses who applied their technical prowess to invent new technologies and ways of solving challenging problems, the reality is that these people never really worked alone. The notion of the lone genius arguably has its origins in the 18th century, during the period that historians have dubbed The Enlightenment.

    Comment la notion du génie solitaire est née et pourquoi elle est un mythe dans l'industrie technologique. L'auteure relate des relations de collaboration et de partenariat au sujet d'inventions bien connues pour expliquer en quoi elles sont en réalité le moteur de la créativité, et remet en question l'importance des compétences techniques par rapport aux compétences interpersonnelles.

    Où je me suis trompé sur l’agilité : l’état d’esprit

    Ces réflexions trouvent leur apothéose en 2015 avec le livre The Agile Mind-Set de Gil Broza qui affirme que la pièce manquante des processus Agiles, c’est l’état d’esprit Agile. Le chapitre 1 comporte une description des éléments constitutifs d’un état d’esprit.

    J’ai trouvé utile de considérer qu’un état d’esprit comporte trois éléments : Valeurs : ce que vous considérez comme étant le plus important dans la situation actuelle. Croyances : ce que vous considérez comme vrai dans ce genre de situation. Principes : les normes qui guident vos choix, vos décisions et vos actions.

    Plus loin, Broza précise ce qu’il entend par croyances.

    Les croyances évoquent le fait religieux, mais dans le contexte de l’état d’esprit Agile, elles ont un sens tout autre. Une croyance est une conviction. C’est quelque chose que vous considérez comme vrai mais que vous n’avez pas prouvé et peut-être que vous ne pouvez pas prouver de manière rigoureuse.

    Aujourd’hui cette affirmation que l’agilité est un état d’esprit est tellement courante qu’elle a été reprise par d’autres mouvements comme le Produit.

    […]

    Il n’y a pas si longtemps, je me serais senti bien seul en disant que l’agilité ne doit pas être définie comme un état d’esprit. Aujourd’hui, grâce à une insatisfaction grandissante envers l’agilité, j’ai de plus en plus d’interlocuteurs, comme Denis Migot ou Allen Holub, qui seraient d’accord ou du moins intrigués.

    C’est en particulier grâce à l’écoute de diverses présentations données par Dave Snowden que j’ai commencé à revoir ma position sur le sujet. Il avance plusieurs arguments qui m’ont paru suffisants. Mais je sais qu’ils ne sont pas convaincants pour tout le monde alors je me permets d’en ajouter d’autres à la liste.

    Une chambre d’écho pour moi, plus ça va moins je suis à l’aise avec les discours d’anciennes et nouvelles méthodes répandues ou comme on dit "évangélisées". Je pense même que dans mon contexte pro actuel on pourra bien plus trouver notre bonheur dans un bon vieux cycle V à notre sauce qu’en cherchant même juste à tendre vers l’agilité.

    How Complex Systems Fail

    1. Post-accident attribution to a ‘root cause’ is fundamentally wrong.

    Because overt failure requires multiple faults, there is no isolated ‘cause’ of an accident. There are multiple contributors to accidents. Each of these is necessarily insufficient in itself to create an accident. Only jointly are these causes sufficient to create an accident. Indeed, it is the linking of these causes together that creates the circumstances required for the accident. Thus, no isolation of the ‘root cause’ of an accident is possible. The evaluations based on such reasoning as ‘root cause’ do not reflect a technical understanding of the nature of failure but rather the social, cultural need to blame specific, localized forces or events for outcomes.

    […]

    1. Hindsight biases post-accident assessments of human performance.

    Knowledge of the outcome makes it seem that events leading to the outcome should have appeared more salient to practitioners at the time than was actually the case. This means that ex post facto accident analysis of human performance is inaccurate. The outcome knowledge poisons the ability of after-accident observers to recreate the view of practitioners before the accident of those same factors. It seems that practitioners “should have known” that the factors would “inevitably” lead to an accident. 2 Hindsight bias remains the primary obstacle to accident investigation, especially when expert human performance is involved.

    De bonnes piqures de rappel sur la nature des systèmes complexes, de la présence constante des erreurs, et de la rareté des véritables incidents.

    No Ghosts!

    By “ghost” here, I mean any situation where resources are referenced by plain data.

    And by “plain data” here, I mean strings, integers, or any other data where independently produced copies of the data are interchangeable. For example, two completely independent parts of a system may create a string with the value "Purple", and the two strings will be interchangeable.

    Plain data can contain filenames, network addresses, usernames, or other forms of data which effectively reference resources.

    For example, when we say that a particular string contains a filesystem path, we mean that it refers to an entity in a filesystem namespace. Filesystem namespaces are not explicitly passed as arguments in the APIs of many popular systems, so from the perspective of an API, while paths are explicit string parameters, the additional information referenced by those paths is not. In this post, we'll say this additional information is being carried by a “ghost”.

    Un article de sécu sur les communications inter-systèmes. Non seulement j’en ai appris sur la sécu, mais je repars aussi avec le concept de Ghost et tout ce que ça implique en archi logicielle et SI ! Ça se lit tout seul