Note de lecture : Agile and iterative development a manager’s guide, par Craig Larman

Note : 9 ; Eclairé et agréable à lire. Comme toujours, avec Larman…

Nous commençons à avoir l’habitude de la qualité des textes de Craig Larman. Celui-ci ne fait pas exception et est également témoin du virage de l’auteur vers les pratiques agiles. Dans cet ouvrage, Larman se focalise sur l’aspect gestion de projet, mettant l’emphase sur le cycle itératif et ses bénéfices, notamment par rapport au cycle en V. Il s’agit donc bien d’un ouvrage pour convaincre et faire prendre conscience du changement de paradigme qu’amène l’agilité. Le texte date de 8 ans, mais je pense qu’il reste tout à fait d’actualité, d’une part car il reste beaucoup de monde à convaincre, et d’autre part car il est à peu près seul sur son créneau, la plupart des livres dédiés à l’agilité se focalisent sur le « comment » plus que le « pourquoi ». Il serait plutôt à comparer à « Agile Software Development Ecosystem » de Jim Highsmith.

Cela dit, ce volume n’est pas un guide touristique. Ses 330 pages découpées en 12 chapitre en attestent. Je passe rapidement sur le premier chapitre qui ne compte que 6 pages : il fournit quelques généralités sur la logique de projet prédictifs à opposer avec le développement de nouveaux produits. Il fournit aussi nombre de liens dont beaucoup sont toujours actifs ! Le second chapitre traite sur une quinzaine de pages la logique des projets évolutifs et itératifs. C’est très abondamment illustré, extrêmement clair et chirurgical, dirais-je. Un plaisir !

Lire la suite

Less is more avec Craig Larman

En préambule d’une formation LESS (j’y reviendrais bientôt), Greg Hutchings nous a permis d’assister à une présentation dans le cadre du Scrum User Group. Une présentation autour de LESS, bien entendu. De mon point de vue, une présentation de Craig Larman, ça vaut toujours le détour: ses talents d’orateur ne sont plus à démontrer et même si vous n’adhérez pas à la totalité de son propos, vous êtes sûr de repartir avec de nouvelles connaissances, des idées et surtout de quoi reflechir !

Pour commencer

Avant même d’aborder le thème même de la présentation et après la traditionnelle histoire drôle qui ouvre toujours ses présentations, Craig campe l’ambiance : je ne suis pas intéressé par vos opinions ! Je ne suis d’ailleurs pas non plus intéressé par MES opinions. Ce qui compte, ce sont les faits. Même les études de cas sont insuffisantes. Ce qui compte, ce sont les études menées de manière scientifiques sont des échantillons statistiquement signifiants et publiés dans des journaux à comités de lecture. Une approche scientifique sur laquelle l’orateur se revendique de Thomas Kuhn.

image

Pour lui, nous sommes à l’âge de l’obscurantisme du management, où les croyances prédominent sur les faits. Où une plus grande attention aux recherches académiques devrait être portée, alors que 50 ans de recherche en management sont simplement ignorées. Alors, laissons tomber les opinions personnelles.

Le “Scrum fake” : à la recherche des causes racines (1ère partie)

Le constat premier de Craig Larman rejoint le mien : il y a de plus en plus de “Scrum Fake” dans les mises en place de Scrum aujourd’hui. Le co-auteur de LESS y voir 2 causes racines. Des causes racines qu’il faut activement adresser, car si notre transition agile ne les adressent pas, celle-ci pourrait faire plus de mal (la déstabilisation liée au changement) que de bien (la mise en place d’un véritable environnement agile).

Cette première cause racine a un nom : le “contract game”. C’est à dire le jeu autour du contrat auquel se livrent les équipes de développement d’une part et le client (au sens client interne) d’autre part. Oui, on parle bien d’un contrat “virtuel” interne et non d’un contrat légal avec un client externe. Pourtant le fond reste le même.

image

La première partie du projet, celle où se joue l’établissement de ce contrat, est le théâtre d’un duel où le business demande “plus, plus, plus” et où l’équipe de développement réponds “moins, moins, moins”. Il y a ce combat, car chacun sait qu’au moment où celui-ci sera ficelé, le jeu changera :

  • Le business n’a plus la main, elle passe au développement qui devient seul maitre.
  • Le business lui-même ne veut pas être inclus dans le jeu du développement.
  • Ce contrat est basé sur l’illusion de la faible variabilité. Une illusion dont on sait qu’elle est fausse depuis de nombreuses décennies.
  • On dit d’un d’un contrat qu’il est aboutit quand les deux parties sont mécontentes de manière équilibrée. Au fait, quel est son rôle au contrat ? Ce n’est pas de permettre la réussite du projet mais de permettre de blâmer l’autre partie en cas d’échec !

Donc on s’engage dans une longue phase de réalisation où le chef de projet fait le lien avec le business. Craig nous parle des outils du PMI (qu’il appelle le Project Magic Intitute) concernant la relation entre le chef de projet et le client :

  • Comment le chef de projet assure le client de la réussite : en déclarant « je m’engage ! » ; une approche dont on sait depuis longtemps qu’elle ne marche pas !
  • Comme dans toute magie, on utilise des symboles ésotériques : ici, on les appellent « diagrammes de Gantt » … en fait une illusion de contrôle !

Enfin les managers pilotant ces projets à plusieurs niveaux hiérarchiques de distance transmettent des rapports d’avancements faussement optimistes au grée des remontées d’information entre niveaux hiérarchiques ! Un phénomène appelé « greenshifting ».

Tout cela se paie à la fin du projet : les blâmes sont rejetés entre les acteurs du projet, le périmètre est bâclé en toute urgence pour se débarrasser du projet en sacrifiant la moindre parcelle de qualité. Enfin, le tout se conclut en « dette managériale » : les bons managers et les bons développeurs quittent la structure !

image

Larman explicite ces fonctionnements par ce qu’il appelle en toute modestie les « lois de Larman » !

1 – Les organisations sont sont implicitement optimisées pour maintenir le statut quo du pouvoir des managers de proximité et des spécialistes

2 – Corollaire de la première loi, toute initiative de changement sera réduite à des changements d’appellation maintenant ce statut quo.

3 – Second corollaire de la première loi, les initiatives de changement seront tournées en dérision, puis qualifiées de « puristes », « théoriques » ou « révolutionnaires », puis « nécessitant des adaptations pragmatiques pour customiser pour l’organisation », menant au statut quo managers / spécialistes.

4 – La culture se calque sur la structure : les plans de carrière favorisent la spécialisation. Changer la culture en tant que tel n’est pas possible.

La seconde cause : le découpage par fonction

Le découpage « orienté composants » présente de graves lacunes :

  • Du « code privé » : au contraire d’augmenter la qualité, ces groupes créent une complexité artificielle qu’ils ne sont plus capables de voir au bout d’un certain temps !
  • Les fonctionnalités à délivrer traversent les composants. Mais comme elles deviennent subordonnées aux planning locaux, elles mettent très longtemps à être livrées. Donc un cycle de feedback qui va de même.
  • Les fonctionnalités étant l’assemblage de fonctionnalités implémentées dans les divers composants, les tests de bout en bout ne peuvent avoir lieu qu’une fois l’ensemble complété. Notre cycle de développement est en fait séquentiel à ce stade. Il subit le syndrome du « hands of » typique du cycle en cascade.
  • Ce « hands of » n’est pas seulement en aval, il est aussi effectif en amont: chaque fonctionnalité demandée doit être ventilée en éléments de réalisation, il est donc nécessaire d’avoir des analystes effectuant ce découpage au préalable du développement !
  • Le staffing étant effectué par composant, l’occupation générée par ls demandes n’est pas nécessairement en ligne avec cette disposition de ressources. La priorisation des fonctionnalités finit donc par être dirigée par l’occupation des équipes, plutôt que par les priorités métier !

Hélas, le « découpage par composants » a des airs bien trop familiers pour moi. La démonstration de Craig est plutôt édifiante !

image

Mais alors…

Et LESS, dans tout ça ?

Le point de départ de la reflexion de LESS vient de l’expérience de RUP (j’y ai participé chez Valtech, à la fin des années 90). Les deux grands défauts de RUP, que je partage avec l’orateur, étaient :

  • Un niveau de détail bien trop grand. Personnellement, je traduis celà comme une rémanence d’une vision Tayloriste du travail .
  • Un manque de contextualisation.

Le framework LESS est guidé par plusieurs principes :

  • Celui des organisations apprenantes, en s’inspirant du Shu Ha Ri. Ainsi plutôt que le ras-de-marée de détails, LESS propose des principes et juste « un peu moins que nécessaire » d’éléments de processus. Il se revendique en cela dans la lignée de Scrum.
  • Une organisation en « feature teams » plutôt qu’en composants. Comme c’est le cas chez Spotify.
  • Une « serious change initiative » destinée à bouleverser l’organisation et les titres de postes ! LESS se revendique d’inspiration Lean ici : La préservation des emplois ne signifie pas la préservation des rôles !

Pour démarrer tout cela, Larman débute une réorganisation LESS avec 2 points de rencontre très importants :

  • L’informed consent meeting. C’est un meeting de 2 à 3 jours avec Craig, avec tous les exécutifs ! S’ils ne peuvent y consacrer ce temps, c’est qu’ils ne sont pas sérieux sur leur volonté de changement ! D’après l’orateur, la plupart des organisation n’en valent pas le coup ! Hum…
  • Une fois le changement décidé, il y a le « flip », qui dure 2 heures. C’est le Design Team Meeting. Il s’agit d’une grande place de marché où les équipes s’auto-forment en s’appuyant sur une « check list ». Cela nécessite parfois plusieurs tours. Une fois cela fait, les équipes embauchent… leur Scrum Master ! Puis… leurs managers !
image

Il y a de nombreux éléments spécifiques à LESS, comme la façon de gérer les planning meetings, les démos et les sprints synchronisés. Par ailleurs, pour donner de la cohérence à l’ensemble des travaux menés par des features teams indépendantes, il faut des communautés de pratiques: certaines sont requises, d’autres informelles.

En conclusion

Tout d’abord, Craig Larman est un orateur hors pair. Non seulement sa diction est claire, mais son jeu de scène est vivant, son propos est intéressant et souvent pertinent. L’approche de changement des organisations de Larman me semble par ailleurs brutale : le RAZ sans tenir compte de l’existant ou du contexte, avec le dogme que l’organisation LESS est de toute façon la bonne. Pour Olaf Levitz, cela démontre un manque de respect. Je le rejoins sur ce point.

Les pré-requis au passage à LESS sont très importants car Craig Larman n’accepte aucun compromis. De fait peu d’entreprises acceptent un tel changement, mais doit-on dire de fait que les autres ne « valent pas le coup » ? Je ne suis pas non plus l’auteur sur ce point.

image

LESS est résolument d’inspiration Scrum par sa légèreté. Au contraire de SAFe que je trouve sujet à caution, la fibre agile de ce process me semble réelle. Mais je reste dubitatif sur le concept même et sur la motivation du scaling, quel que soit la dose d’intelligence qui y est mise (ce qui est bien le cas ici). L’idée de « scaler » me semble une réminiscence d’un ancien mode de pensée qui vient infecter le nouveau. Je pense que l’enseignement de l’agilité est différent…

Vous pourrez retrouver quelques éléments de la prose de Craig dans l’interview suivant. Un livre sur le sujet est à venir cette année, mais on trouve déjà une majorité du matériel dans les deux livres co-écrits avec Bas Vodde, dont celui-ci.

The Scrum Primer

Plus étoffé que le Scrum en 5 minutes, ce “primer” donne une vision plus précise de Scrum, mais aussi plus subjectives, car elle intègre des pratiques qui, si elles sont généralement acceptées" ne font pas partie de le définition stricte de Scrum. L’article présente aussi l’avantage d’être abondemment illustré de photos mais aussi de représentations d’artefacts tels que les auteurs les utilisent sur leurs projets (je reconnais au moins l’un d’eux que j’avais hérité de Craig Larman).

Avec ses 22 pages et une police plus classique, c’est plutôt 1 heure, voir plus, qu’il vous faudra consacrer à cette lecture. Le public n’est donc pas le manager très occupé. De plus certaines techniques comme les réestimations systématiques ou le burndown ne font pas nécessairement partie de votre processus.

Ce primer figure aussi en annexe du livre co-écrit par Craig Larman : Scaling Lean & Agile Development.

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