Note de lecture : La cinquième discipline, par Peter Senge

Note : 7 ; La systémique en tant que philosophie de vie !

Ceci est un grand classique, il m’était difficile d’échapper à cette lecture ! La 5ème discipline, c’est la systémique. Ce texte est la grande référence sur le sujet et il étale le sujet sur 5 parties couvrant 400 pages dans cette édition française. Le tout représente 18 chapitres.

La première partie « comment nos actions façonnent notre réalité… » compte un peu moins de 60 pages sur 3 chapitres. Le premier sert d’introduction pour nous diriger vers le véritable objectif de l’auteur : les organisations apprenantes et fait un bref teasing sur les 5 leviers : la pensée systémique, la maîtrise personnelle, les modèles mentaux, la vision partagée et l’apprenance en équipe. On retrouvera ces 5 sujets au cours de l’ouvrage. Le second chapitre aborde d’ailleurs la capacité des organisations à apprendre et les 7 mythes répandus qui y font obstacle. Ainsi « l’ennemie est au-dehors » me rappellent toutes les raisons exogènes que l’on énumère pour éviter de fixer nos propres faiblesses… Le chapitre met l’eau à la bouche. Le 3ème chapitre est un vrai plaisir, car il aborde le jeu de la bière que je vous suggère d’essayer et qui nous met le pied dans la vue systémique d’un cycle production-consommation !

La seconde partie est consacrée aux leviers des organisations apprenantes. Il s’agit de 4 chapitres occupant un peu moins de 70 pages. Le chapitre 4 sur les principes de la pensée systémique est un peu décevant. Non que je ne sois d’accord avec les points abordés, comme la non-corrélation entre l’ampleur de l’action et celle du résultat, mais il explique plus le cadre que les fondements. C’est par contre ce que fait fort bien le chapitre 5 en expliquant les boucles de causalités grâce à des exemples simples. L’auteur en profite aussi pour introduire sa notation. Bien vu ! On entre plus avant avec les systèmes archétypaux au chapitre 6. Ils sont clairs et bien expliqués mais demandent certainement un peu de pratique. L’auteur introduit simplement les principaux archétypes : modèle à limitation de croissance et remède symptomatique, le tout bien étayé d’exemples. Cette seconde partie se referme sur un chapitre 7 un peu moins punchy. Mais on en a bien profité.

Lire la suite

Note de lecture : The Five Dysfunctions of a Team, par Patrick Lencioni

Note : 7 ; Des principes simples et importants pour faire fonctionner une équipe, expliqués clairement au travers d’un story telling efficace.

Le story telling, ça marche. Les ouvrages présentés sous forme d’histoire ou de fable (comme l’auteur appelle cela) comptent parmi mes meilleures lectures. Cela fonctionne aussi à plein ici, avec l’histoire de Kathryn, CEO fraîchement nommée à

la place du fondateur de la société, mais rompue à l’exercice de la direction.
Les 225 pages de l’ouvrage sont essentiellement consacrées à la « fable », soit 185 pages. Le reste est consacré au modèle (les fameuses 5 dysfonctions). Le format état plus petit qu’à l’accoutumée et story-telling aidant, la fable se lit très rapidement. C’est un régal. Comme souvent, l’histoire est un peu « fleur bleue », même si l’intrigue possède son vilain canard (qui finira par être virée par Kathryn) et un sceptique qui finira par être convaincu. Mais dans l’ensemble, le texte illustre très bien les 5 points que l’auteur voulait mettre en évidence.

Le modèle, lui se présente sous une forme de pyramide de cinq étages que nous allons aborder en commençant par la base :

Lire la suite

Note de lecture : Fooled by Randomness 2nd edt., par Nassim Nicholas Taleb

Note : 5 ; Troublant, intéressant … et brouillon et égocentrique !

Les choses ne sont pas aussi déterministes que nous aimerions le croire. Là où nous voyons des corrélations et de l’expertise il n’y a bien souvent que de la pure chance. Tel est le propos central de cet ouvrage.

Le texte compte environ 260 pages en format 12 x 22. Il est divisé en 3 parties. C’est une lecture plus difficile qu’il ne semble de prime abord, car l’auteur écrit dans un anglais plutôt élaboré. La première partie « Solomon’s warning » compte 7 chapitres pour 130 pages, c’est donc la moitié de l’ouvrage. Le premier chapitre « si vous êtes si riche, pourquoi n’êtes-vous pas plus intelligent » marque de son empreinte la condescendance dont fait preuve l’auteur. C’est un trait qui couvre la totalité du livre. Ce premier chapitre nous comte les histoires de Nero et de John, tous deux traders. L’un fait preuve d’aversion aux risques tandis que l’autre s’expose au « randomness » risque et termine ruiné. Il y est donc question de tenter le destin.

Le chapitre 2 évoque un système de comptabilité bizarre. Il y est question d’histoires alternatives. De là l’auteur nous conduit vers son outil préféré : la simulation Monte Carlo, qu’il utilise en lieu et place de la lecture des informations ! Le chapitre 3 permet à l’auteur d’évoquer le médiocre respect qu’il a pour les leçons de l’histoire (dont il juge les corrélations avec le présent sujet à caution) et son mépris des journalistes. Quand je vous parle d’égo… Je passe rapidement sur le chapitre 4, fort court et qui ne développe pas de nouveau thème.

Lire la suite

Note de lecture : Extreme Ownership, par Jocko Willink & Leif Babin

Note : 8 ; Quand le leadership signifie assumer ses responsabilités.

Voilà un livre (lâchons le mot : un best-seller) qui ne va pas revendiquer comme s’alignant sur les principes agiles, et pourtant… Les auteurs nous proposent les leçons de leadership durement acquises et éprouvées sur le terrain : celui des Navy Seals au centre des combats les plus violents en Irak. Bien sûr elles s’exercent au sein d’une chaine de commandements militaire, mais les auteurs savent en extraire les pépites qui prennent sens dans l’organisation d’une entreprise « pour diriger et gagner » et dans une certaine mesure dans les contextes agiles.

Le texte pèse 312 pages en moyen format en comptant l’annexe (qu’il est recommandé de lire). Les 12 chapitres empruntent tous le même format : la narration d’un épisode de la vie des Navy Seals, la plupart en zone de combat, sur plus de la moitié du chapitre. Puis un exposé du ou des principes mis en avant dans le chapitre, sur une à 3 pages. La fin du chapitre est dédiée à l’application du principe au monde de l’entreprise via un story-telling issu d’une expérience postérieure aux Navy Seals, dans l’accompagnement de managers via la société de conseil crée par les auteurs : Echelon Front.

Les 12 chapitres sont répartis sur 3 parties avec la régularité d’un papier à musique. Donc 4 chapitres par partie, à l’exclusion d’une introduction. Celle-ci n’emprunte pas la structure précédemment décrite mais décrit l’entrainement des Navy Seals afin de véhiculer un seul message : le leadership est l’unique facteur réellement important. La première partie s’intitule « gagner la guerre de l’intérieur ». Elle s’ouvre par le chapitre qui donne son nom à l’ouvrage : « extreme ownership ». Le message est simple : quoi qu’il arrive au sein de l’unité organisationnelle du manager, celui-ci doit assumer la responsabilité de tout ! Le second chapitre s’intitule « pas de mauvaises équipes, seulement de mauvais leaders ». J’en retiens une phrase forte : le standard de votre organisation, ce n’est pas ce que vous prêchez, c’est ce que vous tolérez. En corollaire, la responsabilité du leader est envers l’équipe avant d’être envers les individus.

Lire la suite

Note de lecture : Testing Microservices with Mountebank, par Brandon Byars

Note : 4 ; Une guide d’utilisation de Mountebank par son créateur. Bien écrit, mais assez basique

Mountebank est un framework de test (encore un) bien adapté au test des microservices, utilisant comme l’auteur nous le développera, le principe de l’imposture ! Malheureusement pour moi, la bête s’utilise avec du code JavaScript (avec du Node.js pour être précis), un obstacle que je n’avais pas anticipé. Cela a certainement impacté la note, dommage car le principe de ce moteur de test qui permet de simuler les services environnant au runtime ouvre nombre de perspectives.

Reprenons au départ : le volume se présente sous forme d’un texte de près de 220 pages découpé en 3 parties totalisant 10 chapitres. La première partie « premières étapes » ne compte que 2 chapitres sur 40 pages. Le premier chapitre « testing microservices » campe le décor. Il positionne clairement cet outil sur le volet « end to end » et introduit les notions de prédicats et d’imposteurs qui seront clé par la suite. Le second chapitre est le « hello world » … mais il s’avère rapidement être plus que cela. Il commence doucement en requêtes curl et en json, mais bascule rapidement sur le JavaScript ! L’auteur brûle un peu les étapes.

La seconde partie compte 6 chapitres et s’étend sur 130 pages. C’est le gros de la troupe et il est d’ailleurs sobrement intitulé « using Mountebank ». Il s’ouvre au chapitre 3 par le concept de réponses préfabriquées (canned responses), ce qui nous amène aussi à évoquer les prédicats. C’est plutôt clair et bien illustré. Les prédicats sont justement le sujet du chapitre 4. On les aborde en commençant par les expressions régulières pour terminer avec le JSonpath en passant par les champs multivalués. Le chapitre est riche et clair la plupart du temps.

Lire la suite

Note de lecture : Microservices Patterns, par Chris Richardson

Note : 8 ; La bible du Microservice !

A beaucoup de points de vue, c’est un livre imposant ! D’abord par sa taille : 470 pages, découpées en seulement 13 chapitres, mais aussi par son contenu qui va assez loin dans les aspects techniques abordés. Le propos n’en reste pas moins clair, je regrette juste que les fameux patterns soient juste évoqués mais pas vraiment documentés en tant que tel.

Le premier chapitre couvre une trentaine de pages et aborde deux sujets : le monolithe et les patterns. Le monolithe est traité avec intelligence, loin du bashing habituel. Ici on part du postulat d’une architecture hexagonale pour explorer les conséquences en maintenance et en organisation d’équipe ! La big picture des patterns vaut aussi le détour, pas seulement pour la classification de ces derniers, mais aussi par la qualité de l’explication sur l’approche patterns.

Ce sont aussi une trentaine de pages consacrées au chapitre 2 sur les stratégies de décomposition. On y parle, et c’est un peu inattendu, UML, Use Cases et DDD. C’est aussi le moment pour l’auteur d’exposer sa vision du découpage en « capabilities » et « services ». C’est intéressant, de bon niveau même, mais pas flamboyant.

Les choses sérieuses commencent au chapitre 3 et ses 45 pages sur l’IPC qui en est le sujet ! Il couvre les aspects conceptuels tels que la définition des interfaces, le versionning et les transactions. Puis on rentre dans le dur avec la communication synchrone (ReST, gRPC), puis asynchrone (JMS, Kafka), en publication ou en requête / réponse. Le chapitre s’étend jusqu’aux patterns essentiels que sont le circuit breaker et le gateway. C’est du solide.

Lire la suite

Note de lecture : Microservices in Action, par Morgan Bruce & Paulo A. Pereira

Note : 4 ; Plus sur l’infrastructure microservices que sur le microservice lui-même… avec beaucoup d’inaction dans ce « in action » !

Petite déception pour ce nouvel opus de la série « in action » de chez Manning. Celui-ci manque un peu de concret et de profondeur, malgré ses 350 pages. J’étais prévenu, le code serait en Python, mais au final il y en a assez peu, ce qui est à la fois un bien et un mal pour moi. La plus grande surprise est sans doute que l’on ne rentre pas dans la conception des microservices, mais plutôt dans l’architecture de systèmes à base de microservices qui est, il est vrai, une partie importante du concept. Ces architectures sont illustrées à base de diagrammes où chaque microservice est représenté sous forme d’hexagone : est-ce une évocation de l’architecture hexagonale d’Alistair Cockburn ? Nous n’aurons pas la réponse dans ces pages.

L’ouvrage lui-même est structuré en 4 parties pour un total de 13 chapitres. La première, “the lay of the land” couvre moins de 50 pages sur 2 chapitres. On débute par une introduction générale, ou plutôt un teasing des thèmes qui seront développés au fil des pages sur les principes et les challenges que représentent la conception de microservices. Le second chapitre rentre dans l’étude de cas qui servira de fil rouge : SimpleBank. Personnellement, je trouve celle-ci un peu complexe. L’illustration du découpage de feature en service s’en ressent.

La seconde partie s’intitule « design » et compte 5 chapitres sur 135 pages. C’est donc la partie la plus conséquente du livre. Elle débute par un chapitre 3 dédié à l’architecture des applications. Hélas elle reste très haut niveau, brossant à peine les styles d’architectures et les patterns de communication. Petite mention toutefois pour le « micro front-end » que je croise ici pour la première fois. Le chapitre 4 aborde sur 30 pages la question de la conception de nouvelles fonctionnalités. Les auteurs s’appuient sur les notions de « business capabilities » et de « technical capabilities » et sur un découpage en cas d’utilisation ! C’est finalement dans ce chapitre que je trouve trace de la Clean Architecture de Robert Martin, alors que je pensais la croiser au chapitre précédant.

Lire la suite

Note de lecture : Enterprise Java Microservices, par Ken Finnigan

Note : 3 ; Un « placement de produit » JBoss peu attractif.

Il commence à y avoir pas mal d’ouvrages sur les Microservices et tous ne se valent pas. Hélas, comme nous allons le voir, celui-ci ne rentre pas dans la bonne catégorie. Au départ il se voulait plus ou moins l’équivalent du « Spring Microservices in Action » pour JEE.

Avec 227 pages, l’ouvrage n’est guère volumineux. Le tout est structuré en 11 chapitres regroupés en deux parties. La première partie « microservices basics » compte les 5 premiers d’entre-eux et totalise une centaine de pages. Le premier chapitre est sobrement intitulé « Enterprise Java Microservices » ! Il s’agit surtout d’un survol pour nous rappeler ce qu’est une architecture JEE, puis sa conséquence le monolithe. C’est de manière simplifiée que l’auteur nous présente l’architecture microservices dans ses grandes lignes pour terminer sur les patterns permettant de transiter de l’un à l’autre. Un chapitre simple mais hélas simpliste.

On rentre dans le dur avec le chapitre 2 qui nous propose le cas d’utilisation du livre, le site Cayambe, et le développement d’une application minimaliste en REST. C’est l’occasion de faire notre « hello world » en architecture JEE new style. Pas transcendant, mais correct. La chapitre 3 prends un peu de hauteur pour nous présenter les différentes options pour développer des microservices dans le monde Java. J’ai beaucoup aimé l’approche « cartographique » et la largeur de l’écosystème abordé. Bien sûr (hélas) ceci est là pour nous montrer que Thorntail (aujourd’hui déjà à l’abandon) est le meilleur ! Un biais qui nuit à la qualité du chapitre.

Lire la suite

Note de lecture : Accelerate, par Nicole Forsgren, Jez Humble & Gene Kim

Note : 6 ; Une étude approfondie sur ce qui marche ou ne marche pas mais délivrée de façon un peu austère

Ce livre a été très chaudement recommandé par Martin Fowler comme étant le « livre de l’année ». J’ai du mal à être d’accord avec lui pour des raisons sur lesquelles je reviendrais. Accelerate reprend et développe les conclusions de 4 années de sondage du « state of the DevOps ». La première partie du texte reprend les observations faites et cherche à les expliquer, mais uniquement en s’appuyant sur les informations collectées, sans formuler d’extrapolations. 2 deux autres parties sont consacrée aux éléments de recherche d’une part et au « comment » de la transformation.

La première partie est celle qui est la plus riche d’enseignements sur ce qui marche et ce qui ne marche pas, elle s’empare logiquement de 115 des 200 pages du texte (hors annexes). Ce sont 11 chapitres qui forment cette première partie. Je passe sur le premier chapitre essentiellement introductif pour aborder le second, « performance », où les auteurs introduisent leurs critères d’une organisation performante. Ils se focalisent essentiellement sur une définition « Lean » du terme et en se référant à la Wardley Mapping Method.

Le 3ème chapitre, « measuring and changing culture » nous introduit au Westrum Organisational Culture. Selon ce modèle, les organisations les plus performantes ont les flux les plus efficaces. On en revient au Lean.

Lire la suite

Note de lecture : Release It ! 2nd edition, par Michael T. Nygard

Note : 9 ; Actualisé et repensé, mais toujours aussi riche et pertinent !

11 ans se sont écoulés depuis la parution de la première édition. De mon point de vue, c’était le premier vrai texte évoquant la culture devops. A vrai dire, j’ai continué à le considérer ainsi jusqu’à la parution de cette nouvelle édition. De prime abord, celle-ci semble avoir subi une cure d’amaigrissement… en fait, c’est le papier qui est plus fin, car celle-ci compte le même nombre de pages, mais réparties en 17 chapitres (au lieu de 18) sur 3 parties. Il s’est passé des choses en 11 ans, et nous allons voir que le texte le reflète bien.

Le chapitre d’introduction n’a guère bougé dans son essence avec son fameux « un million par ci, un million par là… », mais sa forme a été remaniée. La première partie « create stability » compte aussi toujours 4 chapitres. Je retrouve au chapitre 2 la même histoire horrible de l’exception qui a mis un aéroport en rideau. L’erreur dans le code est visible sans être grossière, mais les conséquences sont catastrophiques. L’ambiance est campée pour ce livre emblématique. Le chapitre 3 développe sur cette base la notion de « cracks propagation » en faisant référence au livre de James Chiles « Inviting Disaster ». Je ne retrouve pas dans ce chapitre le diagramme de patterns de l’édition précédente : dommage.

Au chapitre 4, on retrouve les antipatterns de stabilité. C’est un chapitre particulièrement conséquent avec 60 pages. Sa structure épouse celle de l’édition précédente, mais le propos est sensiblement modernisé dans cette seconde édition. Cela dit, j’avais trouvé l’édition précédente plus pédagogique à cet égard. L’auteur semble avoir voulu gagner en efficacité dans son propos. Cela a un prix. Après les antipatterns, les patterns. Ils sont présentés au chapitre 5. Les patterns sont les mêmes d’une édition à l’autre, mais l’auteur a fait le choix de les modifier dans le détail. L’ensemble est un peu modernisé sans que la différence soit notable.

Lire la suite