Lorsqu'un testeur rejoint une équipe agile, il doit inspirer au sein de l'équipe en permettant [Laing 2016] :
- Tester pendant le sprint plutôt que de le faire à la fin du sprint ou après.
- Prévenir bugs plutôt que de chercher bugs
- Comprendre ce qu'il faut tester plutôt que de vérifier les fonctionnalités
- Concevoir un meilleur système plutôt que d'essayer de casser le logiciel
- L'équipe est responsable de la qualité du produit plutôt que les testeurs sont responsables de la qualité.
Dans cette mise en œuvre, le testeur agira comme un coach de test au sein de l'équipe de la même manière que [Moustier 2019b] :
- Le Scrum Master qui est un coach sur Scrum : il montre la voie en matière de pratiques agiles.
- Le Product Owner qui est un coach sur le produit : il explique les besoins du client.
- Le développeur qui est un coach sur les aspects techniques : il montre la faisabilité.
Pour l'aider, une bonne connaissance de la testabilité et des pratiques Lean est indispensable, mais avant d'atteindre l'excellence, il faut sans doute permettre à l'équipe d'acquérir les prérequis indispensables.
Systèmes de maturité
Pour ce faire, [TMMi 2020] propose une échelle de progression héritée d'un système de maturité proche du CMMi [CMMi 2010] et se présente sur 5 niveaux avec pour chaque niveau une gradation des pratiques allant du niveau 1 (l'organisation est capable de produire quelque chose mais avec un niveau de qualité aléatoire) au niveau 5 où les processus sont définis, gérés, mesurés et où une optimisation constante basée sur les mesures permet de tendre vers l'excellence.
Dans une veine équivalente, [Rohen-Harel 2010] propose l'ATMM (Agile Testing Maturity Model) avec une gradation plutôt orientée vers l'agilisation des différents aspects du test sur 5 niveaux :
- L0 - Waterfall: l'équipe est en mesure de tester ces produits, mais les activités de test et de développement sont clairement séparées et séquencées (les tests viennent en dernier).
- L1 - Formation: les testeurs commencent à être impliqués dans toutes les activités.
- L2 - Agile Bonding: les testeurs sont pleinement intégrés à l'équipe.
- L3 - Performant: l'équipe développe un état d'esprit de compréhension et d'action sur les objectifs du test.
- L4 - Mise à l'échelle: les testeurs guident l'équipe à travers de multiples concepts liés à la qualité
Comme le CMMi avec ses pratiques génériques utilisées pour institutionnaliser chaque pratique, l'ATMM fournit également un chemin vers la maturité [Rayaprolu 2020]. Ce type de système remonte aux années 1970 [Mettler 2011] et tente de correspondre à la courbe d'apprentissage classique de [Thurstone 1919] en anticipant les besoins de la phase suivante [Gibson 1974] mais ces systèmes présentent quelques inconvénients :
- Les modèles proposent tous une vision sans expliquer les raisons de ces choix [Mettler 2011] et si les hypothèses initiales ne correspondent pas, seule une forte expérience des parties prenantes permettra d'éviter l'échec.
- L'évaluation du niveau d'une organisation est délicate car elle repose sur les personnes interrogées et des biais peuvent être introduits volontairement en raison de jeux politiques dans l'entreprise ou simplement par ignorance ; de plus, dans une entreprise composée de plusieurs dizaines d'équipes, la maturité n'est pas homogène et la lenteur du processus d'évaluation peut rendre la mesure imprécise
- Une fois le niveau 5 atteint, les vraies difficultés commencent car la maturité n'est qu'un début
.
De plus, la culture agile consiste tellement à diaboliser tout ce qui est poussé depuis le sommet de l'organisation ; on peut se souvenir d'Henrik Kniberg (le " créateur " du modèle Spotify) diabolisant SAFe, comme une resucée d'un vieux modèle nommé RUP qui vient du sommet. Bien qu'il reconnaisse la sagesse qu'il contient [Kniberg 2015], la base de l'entreprise (les employés) rejette l'idée même dès le départ et réduit les chances de succès. Aussi, le modèle régulièrement cité est plutôt le terme japonais " Shuhari - 守破離 " dans lequel l'ATMM tente de s'inscrire :
- Shu (守, "protéger", "obéir") - sagesse traditionnelle - apprendre les bases. Ce premier kanji est composé des éléments suivants :
- 宀 : le toit
- 寸 : la mesure, la dimension, petit, 1/10ème d'un shaku (soit ~3cm) - Ha (破, " se détacher ", " faire une digression ") - rompre avec la tradition - trouver des exceptions à la sagesse traditionnelle, trouver de nouvelles approches. Dans certains styles de musique japonaise (gagaku et noh), il s'agit également du milieu de la chanson. Les composants de ce kanji sont
- 石 : la pierre
- 皮 : la peau
Ce kanji peut être compris comme la coquille, le masque, la surface - Ri (離, " quitter ", " séparer ") - transcender - il n'y a pas de technique ou de sagesse traditionnelle, tous les mouvements sont permis. Ce kanji est composé des éléments suivants :
- 亠 : le couvercle de la bouilloire
- 凵 : la boîte ouverte
- 禹 : cet élément fait référence à l'empereur chinois " Yu le Grand " déifié comme le gouverneur des eaux suite à l'invention des techniques d'irrigation qui ont permis le contrôle des rivières et des lacs chinois. Yu est associé à la persévérance et à la détermination et serait à l'origine du proverbe chinois " L'échec est la mère du succès "
- 隹 : l'oiseau
Ce kanji peut être compris comme " L'ouverture de la cage d'un oiseau qui donnera quelque chose de grand à force de persévérance ". On peut noter que Ri contient les radicaux 冂 - "la boîte renversée" et 厶 - "soi-même". Cependant, on peut également noter que sous le couvercle, la boîte contient une petite croix, il s'agit du radical 凶 qui signifie "malchance, désastre"...
.
Catalogue de bonnes pratiques
Une autre approche consiste à fournir un catalogue de bonnes pratiques dans lequel l'équipe peut puiser. Le tableau proposé par [Rohen-Harel 2010] fournit une évolution de chaque aspect du test en décrivant les effets, mais il est difficile de concevoir un catalogue qui contiendrait la moitié d'une pratique, ainsi chaque pratique dans un tel catalogue peut être caractérisée par [Jacobson 2007] :
- Une description du problème que la pratique aborde
- Une approche pour résoudre ce problème
- Aides à la résolution du problème (conseils, documents, compétences nécessaires, autres bonnes pratiques connexes)
- Moyens de vérifier que le problème a été traité
Mais un tel catalogue ne dispense pas de la notion d'interaction entre individus telle que proposée dans le manifeste agile car :
- son contenu peut être incomplet, mal formulé ou mal interprété
- La part des connaissances tacites dans une pratique ne peut être négligée.
Quelques principes et pratiques sous-jacents
L'expérimentation génère des guides qui forment des cadres d'où émergent des principes. C'est ainsi que Craig Larman a développé LeSS [Larman 2017]. À leur tour, les principes constituent une base pour la culture et les pratiques que les outils peuvent mettre en œuvre.
Comme nous l'avons vu, un système de maturité est un outil permettant de progresser dans une direction donnée. Les quelques pratiques qui suivent sont également complétées par des principes à respecter. Pour vous aider à les comprendre :
- Un jeu de cartes est fourni pour vous et d'autres arriveront en temps voulu...
- Chaque élément est résumé ici avec quelques références pour vous permettre d'aller plus loin.
- Ce jeu de cartes peut ensuite être utilisé pour vous aider à faire progresser les équipes à leur propre rythme (voir "Faire progresser une organisation").
La description que l'on peut trouver derrière le QR Code est une description générique proche d'un "état de l'art" avec des adhérences aux aspects des tests et de l'automatisation des tests avec Agilitest. La description de la pratique selon [Jacobson 2007] doit être faite au sein de votre organisation pour l'adapter à votre culture.
Développement organisationnel
La progression d'une équipe est un sujet délicat. Au-delà des pratiques et des principes qui peuvent être pertinents pour une organisation, deux facteurs entrent en concurrence au niveau de chaque individu qui est soumis à deux modèles concurrents [Argyris 2010] [Moustier 2020] :
- Modèle I :"pensée défensive" - conçue pour protéger l'individu du changement ; il s'agit de la réaction que chaque individu peut avoir lorsqu'il est confronté à une proposition dont il sait qu'elle ne correspond pas à la culture de l'organisation et les postures qui l'accompagnent comprennent
- Avoir un contrôle unilatéral
- Gagner et ne pas perdre
- Supprimer les sentiments négatifs
- Réagir rationnellement - Modèle II :"raisonnement productif" - conçu pour prévenir les conséquences contre-productives du raisonnement défensif et comprenant
- Rechercher des informations valides et vérifiables
- Faire un choix éclairé
- Contrôler avec vigilance pour détecter et corriger les erreurs
Par exemple, lorsque quelqu'un essaie de promouvoir la programmation par les pairs, qui a une réelle valeur ajoutée et une rentabilité, pourtant prouvée par des études [Gilb 1993] [North 2006] [Shull 2002], mais le point de vue de la hiérarchie qui peut ne pas comprendre pourrait être préjudiciable à un manager soumis à ce conflit de raisonnement. Argyris explique ce conflit de positions comme une forme d'addiction où le modèle du Moi se nourrit de ce qu'il génère et le premier pas pour sortir de cette ornière est de :
1. Travailler sur les pièges qui apparaissent dans la vie quotidienne (notamment par le biais de témoignages)
2. Utiliser l'éducation sur les problèmes générés par les pratiques du Modèle I, comme moyen de lutte contre les comportements addictifs (par exemple"Les 12 étapes des Alcooliques Anonymes")
3. Remplacer progressivement les réflexes du Modèle I par ceux du Modèle II
4. Construire un consensus
5. Passer à l'action
Pour ce faire, le jeu de cartes proposé peut être utilisé pour les différentes étapes et provoquer une discussion autour de chacun des thèmes. Pour les étapes 4 et 5, cela peut se faire dans le cadre d'un atelier :
- Définir 5 colonnes sur un tableau
A. "En place"
B. "A essayer pour la prochaine itération"
C. "Plus tard"
D. "Sans objet
E. "C'est quoi ?" - Toute l'équipe, avec le Product Owner (PO), prend chaque carte et la place dans la colonne qui correspond à la situation de l'équipe ; le contenu de la colonne B dépendra du retour sur investissement souhaité par le PO. L'affectation à chaque colonne est un consensus avec des échanges, des discussions autour d'exemples concrets afin que chacun puisse juger de la pertinence de la colonne choisie
- Les actions liées aux colonnes B et E peuvent être menées dans l'esprit des OKRs.
Les pratiques ou principes inapplicables (colonne D) sont dus à :
- Une partie du problème est détenue par plusieurs acteurs, éventuellement répartis dans toute l'organisation.
- Un modèle I généralisé dans l'organisation
En plus de l'éducation qui peut émerger des communautés de pratique et des discussions de café, Henri Lipmanowicz et Keith McCandless proposent un atelier appelé"SOLUTION 15%". Il fait partie de Liberating Structures et est conçu pour être mis à l'échelle [Lipmanowicz 2014]. Son objectif est que chacun contribue à un problème général. Cet atelier peut être combiné avec d'autres ateliers LS tels que :
- PANARCHIE pour obtenir une vue systémique liée aux obstacles
- TRIZ pour se débarrasser des activités et des comportements contre-productifs
- TROIKA CONSULTING pour obtenir des pratiques de collègues qui peuvent être utiles
- Et ainsi de suite.
C'est à vous!
En 1994, James Bach avait déjà souligné l'inadéquation d'un modèle de maturité tel que le CMMi [Bach 1994] car ils ne reposent sur aucun fondement théorique autre que les points de vue d'experts et les expériences d'autres entreprises que la vôtre. En revanche, un simple catalogue de pratiques correctement formulées devrait aider chaque individu, puis chaque équipe et finalement l'organisation à trouver sa propre voie en appliquant le principe de subsidiarité [Appelo 2010] [Moustier 2020] :
"La responsabilité de l'action incombe aux individus jusqu'à ce qu'ils ne puissent plus accomplir la tâche efficacement".
Catégories
Cartes connexes
Pour aller plus loin
- [Aimetti 2011] : Fabrice Aimetti - " Comment faire Yokoten ? " - 17/SEP/2011 - https://wikiagile.cesi.fr/index.php?title=Comment_faire_Yokoten_%3F
- [Appelo 2010] : Jurgen Appelo - " Management 3.0 : Leading Agile Developers, Developing Agile Leaders " - Addison Wesley - 2010 - ISBN : 978-0321712479 - voir aussi https://fr.slideshare.net/jurgenappelo/agile-management-leading-teams-with-a-complex-mind/
- [Argyris 2010] : Chris Argyris - " Organizational Traps - Leadership, Culture, Organizational Design " - Oxford University Presse - 2010 - ISBN 978-0-19-958616-5
- [Bach 1994] : James Bach - " The Immaturity of CMM " - American Programmer magazine - n°9194 - SEP/1994 - http://sunnyday.mit.edu/16.355/bach-cmm.html
- [CMMi 2010] : Équipe produit CMMI - " CMMI® for Development, Version 1.3 " - Programme de gestion du processus d'ingénierie logicielle - 2010 - https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=9661
- [Doerr 2018] : John Doerr - " Mesurer ce qui compte : les OKR, l'idée simple qui permet de décupler la croissance " - Portfolio/Penguin - ISBN : 9780525536222
- [Gilb 1993] : Gilb, Tom et Dorothy Graham - " Software Inspection " - Wokingham, Angleterre : Addison-Wesley - 1993 - ISBN 978-0201631814
- [Gibson 1974] : Cyrus F. Gibson et Richard L. Nolan - " Managing the Four Stages of EDP Growth " - Harvard Business Review - JAN/1974 - https://hbr.org/1974/01/managing-the-four-stages-of-edp-growth
- [Goldratt 1990] : Eliyahu M. Goldratt - " Qu'est-ce que cette chose appelée Théorie des contraintes et comment doit-elle être mise en œuvre ? " - North River Presse - 1990 - ISBN 9780884270850
- [Gunderson 2002] : Lance H. Gunderson & C. S. Holling - " Panarchie - Comprendre les transformations des systèmes humains et naturels " - Island Presse - ISBN 1-55963-857-5
- [Jacobson 2007] : Ivar Jacobson, Ian Spence et Pan-Wei Ng - " Enough of Processes - Lets do Practices " - Journal of Object Technology - VOL. 6, NO.6 - JUL/2007 - https://www.researchgate.net/publication/220299430_Enough_of_Processes_-_Lets_do_Practices
- [Kniberg 2015] : Henrik Kniberg et Lars Roost - " Is SAFe Evil ? " - GOTO 2015 - https://www.youtube.com/watch?v=TolNkqyvieE et https://gotocon.com/cph-2015/Intervenant/Henrik+Kniberg
- [Laing 2016] : Samantha Laing, Karen Greaves - " Growing Agile : A Coach's Guide to Agile Testing " - Leanpub - 2016 - https://leanpub.com/AgileTesting/read_sample
- [Larman 2017] : Craig Larman, Bas Vodde - " Large-Scale Scrum - More with LeSS " - Addison-Wesley - 2017 ISBN-13 : 978-0-321-98571-2
- [Leffingwell 2018] : Dean Leffingwell - " SAFe 4.5 Reference Guide : Scaled Agile Framework for Lean Enterprises " - Addison-Wesley Professional - 2018 - ISBN-13 : 978-0134892863.
- [Mettler 2011] : Tobias Mettler - " Maturity assessment models : a design science research approach " - Int. J. Society Systems Science, Vol. 3, Nos. 1/2 - 2011 - https://www.alexandria.unisg.ch/214426/1/IJSSS0301-0205%2520METTLER.pdf
- [Micklewright 2010] : Mike Micklewright - " Lean ISO 9001 - Donner du peps à votre SMQ ISO 9001 et de la durabilité à vos efforts Lean " - William A. Tony ed. - ISBN : 978-0-87389-784-6
- [Moustier 2019a] : Christophe Moustier - " Le test en mode agile " - ENI Editions - JUN/2019 - ISBN : 978-2-409-01943-2 - https://www.editions-eni.fr/livre/le-test-en-mode-agile-9782409019432
- [Moustier 2019b] : Christophe Moustier - " Indicateurs REPaReD pour le Testing Craftsmanship " - Soirée du test logiciel de Sophia - 2019 - http://www.telecom-valley.fr/soiree-du-test-logiciel-sophia-antipolis-2019/
- [Moustier 2020] : Christophe Moustier - " Conduite de tests agiles pour SAFe et LeSS " - ENI éditions - OCT/2020 - ISBN : 978-2409027277
- [Nonaka 1986] : Hirotaka Takeuchi, Ikujiro Nonaka - " The New New Product Development Game " - Harvard Business Revue - Janvier 1986 - https://hbr.org/1986/01/the-new-new-product-development-game
- [North 2006] : Dan North - " Introducing BDD " - 2006 - https://dannorth.net/introducing-bdd/
- [Rayaprolu 2020] : Pavan Rayaprolu - " Practical Approach for Improving Agile Testing Maturity " - MAI/2020 - https://www.cigniti.com/blog/practical-approach-for-improving-agile-testing-maturity/ et https://www.cigniti.com/blog/practical-approach-for-improving-agile-testing-maturity-part-2/
- [Rohen-Harel 2010] : Shirly Rohen-Harel - " ATMM - Agile Testing Maturity Model - Practical View " - AgileSparks 2010 - https://fr.slideshare.net/AgileSparks/atmm-practical-view
- [Shingo 1989] : Shigeo Shingo - " A Study of the Toyota Production System " - Productivity Presse -1989 - ISBN 0-915299-17-8
- [Shull 2002] : Shull, et al. - " What We Have Learned About Fighting Defects " - Proceedings, Metrics - 2002- IEEE ; 249-258
- [Thurstone 1919] : Louis Leon Thurstone - " The learning curve equation " - Princeton, N. J., Psychological review company - Psychological Monographs, Vol. XXVI, Whole No. 114 - 1919 - https://hdl.handle.net/2027/mdp.39015026251838
- [TMMi 2020] : Fondation TMMi - " TMMi dans le monde agile " - 2020 - v1.4 - https://www.tmmi.org/tm6/wp-content/uploads/2020/01/TMMi-in-the-Agile-world-V1.4.pdf
- [Yi 2007] : Lee Ing Yi et Sha'ri Mohd Yusof - " Product Quality Improvement Through Poka Yoke Technique " - Jurnal Mekanikal - JUN/2007 - No. 23, 74 - 82 - https://core.ac.uk/download/pdf/11784023.pdf
- [Zhang 2014] : Abraham Zhang - " L'amélioration de la qualité par le Poka-Yoke : De la conception technique à la conception du système d'information " - International Journal of Six Sigma and Competitive Advantage - JAN/2014 - https://www.researchgate.net/publication/274289910.