Note de lecture : Lean Software Development, An agile toolkit, par Mary Poppendieck & Tom Poppendieck

Note: 8 ; L’anti-taylorisme tel que nous l’enseigne l’industrie !

Le « Lean Développement » dont Mary Poppendieck est l’une des figures de proue est l’adaptation au monde du développement logiciel du mouvement « Lean production » issue de l’industrie, pratiqué notamment chez 3M et Toyota. L’ouvrage n’hésite d’ailleurs pas à illustrer les concepts évoqués par des exemples tirés de l’histoire de ces 2 sociétés (et d’autres).

Le Lean Développement, comme la plupart des méthodes agiles, ne propose pas un cadre prescriptif pour la construction logicielle, mais un ensemble de 7 principes et de 22 pratiques.

  • Eliminer le déchet : c’est l’un des principes fondamentaux du Lean développement (et des méthodes agiles en général). Il s’agit de se débarrasser de ce qui est inutile et ne participe pas à la chaîne de valeur, en utilisant deux outils que sont le repérage du gâchis et le « value stream map ».
  • Amplifier l’apprentissage : le développement d’un système informatique n’est pas une activité de production, mais un travail de développement (comme son nom l’indique), où la découverte et l’expérience jouent un rôle prépondérant. Ce principe est supporté par des outils tels que le feedback, les itérations, la synchronisation des acteurs et le « set based développement » qui privilégie la communication basé sur les contraintes (qui permet de laisser les options ouvertes) plutôt que celle basée sur les choix (qui ferme ces options).
  • Décider aussi tard que possible : Ne pas s’enfermer dans le choix de certaines options tant que l’on peut garder les options ouvertes ! Ce principe est soutenu par des outils tels que « l’option thinking », le « dernier moment raisonnablement possible » par l’utilisation d’abstraction d’interfaces ou de paramètres lors de la conception
  • Délivrer aussi rapidement que possible : cette pratique dont le nom est auto explicite s‘appuie sur des outils tels que le « pull system », où le travail est tiré, choisi au moment où l’on peut l’effectuer plutôt que d’être assigné à l’avance de façon autoritaire ; une approche directement héritée des « kanban » , la « théorie des queues », le « coût des délais ».
  • « Team empowerment » est un des fondements des méthodes agiles, mais aussi de ce que l’on appelle parfois le « Toyotisme ». Il s’agit ici de descendre le pouvoir de décision au niveau de ceux qui réalisent le travail, une approche servant-based management en rupture totale avec le taylorisme. 
  • L’intégrité : Ce principe se décline en « intégrité conceptuelle » dans laquelle les principes centraux du système fonctionnent de façon cohérente, et en « intégrité perçue » dans laquelle le système assure le bon équilibre entre fonctionnalités, ergonomie, fiabilité et critères économiques.
  • Voir l’ensemble : ce principe nous invite à améliorer le processus de développement en le considérant dans sa globalité plutôt que par optimisations locales, en utilisant des outils tels que les mesures ou les contrats.

Cet ouvrage est à mon avis hautement instructif, pratique et éclairé, il considère le développement logiciel comme une activité exploratoire, donnant la part belle à l’initiative, à l’organisation émergente et au leadership, par opposition aux processus prescriptifs, gérés par le contrôle de la conformité aux plans. Le texte rompt l’idée préconçue que le processus de développement doit être identique au processus de production et que le taylorisme est la réponse ultime de l’organisation, alors même que cette illusion a pris fin depuis plus d’un demi-siècle.

Ce livre n’évite aucun sujet épineux et traite même des aspects contractuels de la réalisation de projets, qui est un sujet hautement problématique des méthodes agiles. Les apports de la logistique industrielle que nous offrent les auteurs sont originaux et particulièrement instructifs, le plus souvent en rupture avec les idées préconçues que nous pouvons avoir sur le sujet.

La compacité du texte (186 pages) sera, j’espère, un argument supplémentaire pour vous décider à en aborder la lecture. A dévorer sans réserve !

lean-soft-dev-toolkit

Référence complète : Lean Software Development, An agile toolkit – Mary Poppendieck & Tom Poppendieck – Addison Wesley / ASD series 2003 – ISBN: 0-321-15078-3

Lean Software Development: An Agile Toolkit for Software Development Managers


http://www.goodreads.com/book/add_to_books_widget_frame/0321150783?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : The Art of Lean Software Development, par Curt Hibbs, Steve Jewett & Mike Sullivan

Note: 3 ; Tour d’horizon superficiel du développement agile .. sans vision particulièrement « lean » !

J’ai l’habitude d’apprécier les livres succincts. Ils ont le bon goût d’aller à l’essentiel et ainsi de distiller efficacement une information utile. J’étais curieux de voir ce qu’il en allait être de cet ouvrage à la fois particulièrement court (120 pages) et pas spécialement bon marché ! Une autre source de curiosité était la juxtaposition des mots « Lean » et « développement ». Si le sujet est à la mode et que l’on développe largement la pensée « lean » dans la communauté agile, j’avoue avoir encore du mal à cerner en quoi le lean influence les pratiques de développement popularisées par les méthodes agiles.

Globalement, ce livre est hélas une déception. Il constitue certainement une bonne approche pour sensibiliser des managers aux grands principes du développement agile : il reste au niveau des grands principes et fait le tour d’horizon des pratiques agiles en expliquant leur utilité. Ainsi 6 chapitres sur les 9 que compte l’ouvrage sont dédiés aux principales pratiques de développement déjà promues par Scrum, XP ou les pragmatiques programmeurs :

  • Scripter les builds et utiliser un gestionnaire de version, plutôt que de compter sur une procédure interactive pour rendre un « build » répétable.
  • Automatiser les tests, au niveau des tests de développements ou des tests comportementaux (tests d’intégration ou de recette). Ce chapitre présente d’ailleurs un condensé plutôt réussi du sujet, même s’il reste un peu superficiel.
  • Mettre en place une intégration continue.
  • Optimiser le volume de code, en ne gardant que le code utile. Ce qu’on appelle le YAGNI (you ain’t gonna need it) dans XP.
  • Petites itérations. Inutile d’épiloguer, le titre parle de lui-même.
  • L’implication continue de l’utilisateur, en l’impliquant dans la boucle de feedback de l’itération. Ce que les auteurs appellent aussi le « CRACK customer » (Collaborative, Representative, Authorized, Commited, Knowledgeable).

Finalement, seul le chapitre 9 approche les pratiques Lean et leur application au développement logiciel. Les auteurs évoquent ici les ateliers Kaizen et le value stream mapping essentiellement et mentionnent les autres pratiques Lean (ainsi que des approches complémentaires comme la théorie des contraintes). 

L’intérêt de sortir un livre de sensibilisation sur les pratiques de développement agile en 2009 alors que le sujet est déjà bien couvert m’échappe un peu, je dois dire. Je mettrais celui-ci au niveau du livre de Craig Larman (agile and iterative development, a manager’s guide) pour ce qui est du public visé, avec un très gros point en faveur de ce dernier ouvrage. Enfin, le titre du livre est assez trompeur, comme j’ai pu le dire.

Sans doute pourrais-je proposer de lire cet opuscule à un développeur ou à un manager désireux d’acquérir une compréhension de premier niveau des principales pratiques agiles. La brièveté du texte sera là une réelle qualité.

En conclusion : un livre bien trop cher eut égard au contenu et dont l’intérêt est peu probant par rapport à la bibliographie existante. Il reste toutefois une petite niche de lecteurs potentiels auxquels je pourrais même conseiller l’ouvrage. Le passionné n’y trouvera pas son compte.

art-of-lean-agile-dev

Référence complète : The Art of Lean Software Development – Curt Hibbs, Steve Jewett & Mike Sullivan – O’Reilly 2009 – EAN : 978 0 596 51731 1

The Art of Lean Software Development: A Practical and Incremental Approach


http://www.goodreads.com/book/add_to_books_widget_frame/0596517319?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Panorama des méthodes agiles en 2006

Je vous propose à nouveau un peu d’archéologie et de nous replonger en cette année 2006.

Cette présentation faite lorsque j’étais chez Valtech nous présente le paysage des méthodes agiles à cette époque qui nous parait déjà si éloignée…

Have fun !

http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=http://b.scorecardresearch.com/beacon.js?c1=7&c2=7400849&c3=1&c4=&c5=&c6=

Note de lecture : Scaling Lean & Agile Development, par Craig Larman & Bas Vodde

Note : 9 ; Enfin un ouvrage sur le Lean développement qui renouvelle les idées ! Book of the year 2010 !

Le problème des ouvrages sur le Lean développement, c’est qu’ils ne savent guère que tourner en rond, exposer et (dans le meilleur des cas) développer les idées sous-jacentes aux principes Lean. Bien que le Lean soit à la mode, chaque lecture d’ouvrage sur ce domaine tend à se transformer en ennui annoncé.

J’ai donc une excellente nouvelle pour vous : ici, il n’en est rien ! Cet ouvrage de 330 pages est complété d’un « companion book » plus imposant, écrit par les deux mêmes auteurs. Mais nous allons nous concentrer sur celui-ci pour l’instant. Si l’ouvrage est écrit par deux auteurs, l’un des deux au moins, ne m’est pas inconnu : Craig Larman est « chief scientist » de mon employeur précédent, mais aussi un auteur émérite. Bref, il sait écrire, et je n’ai jamais été déçu par ses textes jusqu’à présent. Et disons que la série se poursuit.

Avant d’attaquer le contenu, je vous livre une de mes petites manies permettant d’avoir des indices sur la qualité du livre, avant et après lecture. Avant de commencer la lecture, je regarde les 1ère et 4ème de couverture. Une proportion importante des meilleurs ouvrages y propose des schémas ou des tableaux récapitulatifs du livre, ou même des aides mémoire. On a ça ! Après lecture, je compte le nombre de post It que j’ai placé sur le livre : ici j’en ai posé 22, c’est très très bon.

Après la forme, le fond. Le livre se découpe en 3 parties constituées de 12 chapitres, ce qui fait donc une moyenne de moins de 30 pages par chapitre. Ca va.

Autant nous occuper tout de suite de la 3ème partie, « miscellany » essentiellement constituée du dernier chapitre « Scrum Primer », qui n’est en fait pas écrite par les auteurs, mais par des auteurs du site http://www.scrumprimer.com ; Pour distinguer ce texte de celui des auteurs, le corps de la police utilisée est différent, plus petit. Il s’agit d’un bon « Scrum primer » qui présente l’avantage d’être assez direct et succinct et de bien recadrer ce qui fait partie du corpus de la méthode et ce qui n’en fait pas partie mais est généralement utilisé ! En plus de ce chapitre, on trouve les annexes habituelles (index et bibliographie), accompagné d’un « recommanded readings » assez sympa.

La première partie est consacrée aux « thinking Tools ». Il est long de 140 pages découpées en 5 chapitres (je n’ai pas compté le chapitre d’introduction, qui précède cette première partie). Le chapitre 2 (system thinking) est essentiellement un tutorial aux « causal loop diagram », même si les « fishbone diagrams » sont aussi évoqués. Le diagramme de boucles causales sera d’ailleurs utilisé ultérieurement dans le livre. Très réussi. On poursuit au chapitre 3 (Lean thinking) où l’on présente « Lean thinking house ». Les principes sont déclinés en pratiques. Les pratiques sont développés et illustrées. Impeccable là aussi. La théorie des queues est un volet important du Lean thinking. Le chapitre 4 qui lui est consacré est assez ardu à suivre. Mais on coupe court aux idées fausses de manière abrupte et l’on en a pour son argent ! Le chapitre 5 (false dichotomies) est sans doute l’un des plus abstraits par sa nature. Il s’agit là aussi de couper court aux idées fausses et de réfuter certaines idées prétendument opposées. Enfin le chapitre 6 (be agile) termine cette première partie en promouvant l’idée « d’être agile », donc de s’adosser aux valeurs, plutôt que de « faire de l’agilité » et donc de ne voir que les pratiques.

La seconde partie est dédiée aux « organizationnal Tools ». De taille égale à la premier (5 chapitres pour 150 pages), il focalise chaque chapitre sur une pratique Scrum inspirée de Lean, et adaptée aux projets de grande taille. Le chapitre 7 (feature team) met en exergue l’idée d’équipes pluridisciplinaires, par opposition aux organisations orientées composant. Le chapitre 8 (teams) est la poursuite de cette idée, avec une emphase sur le caractère auto organisée des équipes et sur la gestion des dépendances externes. Le chapitre 9 (requirements area) introduit une idée nouvelle sur la gestion de très gros backlogs. Dommage que ce chapitre de seulement 9 pages n’ait pas été plus développé ! Le chapitre 10 évoque l’extension de l’organisation agile au niveau de l’organisation de l’entreprise. J’y ai surtout aimé la distinction projet / produit, souvent incomprise et source de problème, tandis que les aspects ressources humaines sont du déjà vu et hélas une appréhension bien trop idéaliste du sujet. Enfin le chapitre 11 (large scale Scrum) évoque une partie du sous-titre de l’ouvrage et dit en substance que l’adaptation de Scrum aux grands projets … n’existe pas en tant que tel !

Finalement, j’ai retardé la lecture de cet ouvrage ne me sentant pas tellement concerné par le « large scale Scrum ». C’était une erreur, car en fait pu de choses dans ce livre sont vraiment dédiées spécifiquement aux grandes équipes. Au contraire, la littérature agile qui me semble rabâcher les mêmes propos depuis quelques années retrouve un peu de fraicheur ici. J’ai hâte de lire la suite, et bien sûr je recommande chaudement, sans aucune réserve !

scaling-lean-agile-dev-Larman

Référence complète : Scaling Lean & Agile Development, Thinking and organizational Tools for large-scale Scrum – Craig Larman & Bas Vodde – Addison Wesley 2009 – ISBN : 978 0 321 48096 5

Scaling Lean & Agile Development: Thinking and Organizational Tools for Large-Scale Scrum

http://www.goodreads.com/book/add_to_books_widget_frame/0321480961?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : Lean from the Trenches, managing large-scale projets with Kanban, par Henrik Kniberg

Note : 10 ; Efficace, pertinent, intelligent !

J’ai acheté ce livre avec de grosses attentes. Non pas sur le contenu, car je ne me suis même pas préoccupé d’en connaître la teneur en l’achetant, mais simplement de par la connaissance des autres écrits d’Henrik Kniberg.

Henrik Kniberg aime faire court. Une tendance qui s’agrave avec l’âge : ce texte fait 150 pages. Et encore la partie principale (celle qui vient des tranchées) n’en compte que 100. A l’arnaque me direz-vous ? Il n’en est rien. L’auteur boucle en 100 pages ce qui en demande 250 à d’autres ! Ca tombe bien : notre temps est précieux, quand l’auteur va droit au but et fait que chaque ligne compte et donne de l’information, cela fait vraiment la différence. A ce jeux, Henrik Kniberg est le meilleur.

A l’image de Scrum from the trenches, l’auteur nous livre un retour d’expérience. Il nous livre ce qu’il a fait, ce qui a marché et ce qui n’a pas marché, comment son équipe en est arrivé là et qu’est-ce qui reste imparfait. Le texte est un modèle de clarté, de pertinence et d’honnêteté. Il est éclairant de par ses bonnes idées, par la démarche et l’analyse fine qui sous-tend cela. Mais que recèle donc ce texte ?

En fait les 16 (oui, 16 chapitres sur 100 pages !) tournent autour du tableau Kanban : la façon dont il est construit, comment a-t-il évolué, quelles sont les dynamiques de travail qui gravitent autour, quelles métriques en sont extraites. Bien sûr le texte est naturellement illustré par des photos (parfois auxquelles des indications sont supperposées) du Kanban ou de l’équipe. L’auteur n’a pas essayé de décrire de manière approfondie la façon de travailler de l’équipe (à la façon de ce qu’il avait fait dans « Scrum from the Trenches »), mais plutôt de se focaliser sur les dynamiques de l’équipe et du projet.

La seconde partie consacre 4 chapitres sur 50 pages pour évoquer certains aspects plus informatifs auxquels le texte principal se rapporte : ce qu’il y a dans XP, Scrum, Lean et Kanban ; l’automatisation des tests ; le planning poker et les diagrammes de cause-effets. Chaque chapitre est un modèle de pertinence et de concision.

Je ne vais pas passer du temps à décrire ce que contient le livre : il vous faut simplement le lire vous-même. Si vous êtes agiliste, débutant ou expert, il n’y a simplement aucune raison, aucune excuse pour ne pas consacrer du temps à vous plonger dedans !

lean-from-trenches-pragprog

Référence complète : Lean from the Trenches, managing large-scale projets with Kanban – Henrik Kniberg – Pragmatic Bookshelf 2011 – ISBN : 978-1-934356-85-2

Lean from the Trenches: Managing Large-Scale Projects with Kanban


http://www.goodreads.com/book/add_to_books_widget_frame/1934356859?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on

Note de lecture : Système Lean, 2ème édition, par James Womack & Daniel Jones

Note: 9 ;La transition vers le Lean : en pratique (mon “book of the year 2011)

Que n’ai-je lu ce livre avant ? Pourquoi l’ai-je laissé prendre la poussière ? Passé mon enthousiasme initial, j’ai simplement mis le bouquin de côté attendant le jour propice pour me lancer dans une lecture qui s’annonçait rébarbative. La lecture n’a rien de rébarbative, les auteurs connaissent leur sujet, il savent comment le découper et le présenter, ils savent écrire … et ils savent raconter des histoires !

Je ne détaillerais pas les chapitres un à un . Le livre en lui-même est divisé en 3 parties.

La première partie « les principes de la démarche Lean » couvre 5 chapitres et totalise 83 pages. On y traite successivement de la valeur, de la chaine de valeur, du flux, du système tiré et de la perfection. Chaque chapitre étant une introduction au chapitre suivant. Cette première partie permet de comprendre les principes globaux qui guident Lean : ce qui est valeur contre ce qui est gâchis, pourquoi s’intéresser à la chaine de valeur complète depuis la matière première jusqu’au consommateur et donc la nécessité de passer à un système « tiré » ! La logique de raisonnement est limpide, seul le 5ème chapitre détonne un peu et est un peu moins fluide dans sa compréhension.

Dans la seconde partie « de la théorie à la pratique », les auteurs couvrent des exemples de transition vers le Lean. Il s’agit de loin de la partie la plus passionnante de l’ouvrage. On y voit concrètement et de manière magistralement racontée la façon et les personnes ayant conduit à ce changement. Des anecdotes émaillent les récits et l’histoire des entreprises y est même racontée. Afin d’éclairer le sujet, les auteurs ont couvert de très diverses typologies d’entreprises : depuis l’entreprise familiale, à l’entreprise de moyenne taille jusqu’au géant industriel. Puis afin de couvrir la diversité culturelle, ces 3 exemples sont complété d’un cas de figure Allemand (Porsche en l’occurrence) et d’un cas au Japon. Ces 160 pages passent vraiment très vite !

La troisième partie qui couvre 65 pages sur 4 chapitres sert de synthèse et de conclusion au livre. Elle reprend les éléments de la seconde partie pour en tirer des leçon et des tendances.

Même s’il couvre uniquement le volet « système de production » du Lean, cet ouvrage est sans doute le premier que je lis qui m’a permit de toucher du doigt la véritable nature de l’approche Lean. Les récits sont édifiants à cet égard.

Le seul véritable reproche que je puis faire est que les parties 1 et 2 n’ont guère été retouchées depuis la première édition, c’est à dire depuis 1996 ! C’est bien dommage, car il aurait été intéressant de poursuivre chaque histoire jusqu’à la traversée de la bulle Internet, alors que le récit s’achève ici avant le véritable avènement du Web. Cet dimension n’est d’ailleurs jamais évoquée dans la seconde partie. Ce livre n’est par ailleurs pas un livre de recette de mise en place du Lean, il n’a pour but que de faire comprendre la nature fondamentale de cette approche. Ce n’est pas facile car ce mouvement est très souvent mal compris et dévoyé, je pense donc que cet ouvrage devrait être la lecture préalable à la mie en œuvre des outils Lean.

Une excellent lecture que je recommande fortement et a mérité son label « book of the year » !

systeme-lean

Référence complète : Système Lean, 2ème édition, penser l’entreprise au plus juste – James Womack & Daniel Jones – Village Mondial 2005 (V.O. : Lean Thinking ; Simon & Schuster 2003) – ISBN : 2-7440-6136-0

Système Lean, penser l’entreprise au plus juste


http://www.goodreads.com/book/add_to_books_widget_frame/2744061360?atmb_widget%5Bbutton%5D=atmb_widget_1.png&atmb_widget%5Bhide_friends%5D=on