PanTesting
État d'espritCombinaison des pratiques double-boucle d’apprentissage / Panarchie / Théorie des Contraintes / Testabilité pour le test agile à l’échelle
Qu'est-ce que le PanTesting ?
"PanTesting" est un modèle de test agile à l'échelle. Il est composé avec [Moustier 2020] :
- de la Testabilité : fournir des moyens techniques et sociaux pour permettre les tests [Bach 2015a] [Meaney 2018a] [Meaney 2018b] [MoT 2019], car cela contribue à la transparence de la chasse.
- la théorie des contraintes (TdC) permet le flux au niveau du système [Goldratt 1984] [Goldratt 1990] [Stein 1997] [Cox III 2010].
- la panarchie est un modèle d'interaction entre les sous-systèmes [Gunderson 2002] et conduit à une norme de maturité évolutive vers une organisation sans silos.
- l'apprentissage en double boucle propose des boucles de rétroaction entrelacées [Argyris 1977] [Smith 2001] qui conduisent à un "bon produit" (les "variables directrices" décrites dans la théorie d'Argyris) au lieu d'un "produit conforme" puisqu'il y a une compréhension de ce qui doit être testé.
La combinaison de ces quatre composants peut être utilisée à n'importe quelle échelle de l'organisation grâce à la compréhension de la panarchie et de la ToC, tandis que la testabilité et l'apprentissage en double boucle permettent d'adapter les tests à pratiquement n'importe quelle partie de l'organisation, le cas échéant :
- le domaine des affaires
- l'aspect technique de la solution
- le processus de développement
- la collaboration entre les équipes internes et externes
- la gestion du budget
- l'outillage
- le système de gestion de la qualité
- la gestion des connaissances
- la culture au sein de l'entreprise
La compréhension des deux Panarchies aidera à briser les silos entre les sous-systèmes (le terme utilisé en Panarchie est "écocycles") en exploitant les phases de changement d'écocycle α, r, K et Ω et en intégrant progressivement les taux de changement des écocycles liés dans votre propre écocycle jusqu'à ce qu'ils soient synchronisés.
En ce qui concerne les taux de changement, l'application de la ToC permet d'intégrer les changements en gérant les écarts de synchronisation au moment opportun, que ce soit lorsque ces écarts deviennent un goulot d'étranglement insupportable ou dans une approche juste-à-temps, notamment grâce au cadencement et à la synchronisation [SAFe 2021-7].
Impact du PanTesting sur la maturité des tests
L'introduction du PanTesting devient inévitable puisqu'il permet intrinsèquement de livrer un bon produit construit à partir de plusieurs équipes et de la qualité à l'échelle de chaque sous-système de l'organisation qui pourrait influencer la qualité du produit.
En fait, une fois qu'une organisation est capable de tester le produit, éventuellement de manière agile, l'entreprise se heurtera sûrement à un plafond de verre qui limitera l'efficacité des tests : le système entier doit être amélioré en appliquant la pensée systémique [SAFe 2021-2].
Pour permettre cette vision systémique, il est fondamental de se concentrer sur l'ensemble de la solution, notamment en adoptant les X-Teams pour insuffler un langage omniprésent et en visant une organisation centrée sur le client. Toutefois, cela nécessite un grand nombre de dépendances (c'est-à-dire des écocycles liés), comme l'organisation autour de la valeur, le déblocage de la motivation intrinsèque des collaborateurs, etc.
La PanTesting fournit à la fois un modèle de maturité vers des écocycles fusionnés et un chemin pour les gestionnaires de diffuser le modèle en tant que jardiniers. Le diagramme ci-dessous montre les connexions gérées existantes entre les écocycles (flèches simples) et les prochaines connexions à commencer à gérer pour améliorer la qualité au sein de l'organisation. Pour les connexions nouvelles et anciennes, le chemin vers la fusion des écocycles présenté ci-dessus peut ensuite être utilisé pour suivre la progression en termes de maturité.
Les Managers peuvent utiliser un backlog priorisé pour l'amélioration des anciennes connexions ou la mise en place de nouvelles connexions, notamment grâce à la méthode de priorisation Weighted Shorter Job First (WSJF) [SAFe 2021-35] et au WIP.
Pour faciliter cette progression, trois rôles sont impliqués [Moustier 2020a] :
- les équipes qui utilisent et anticipent les tiers des changements d'écocycles grâce à l'utilisation de pratiques telles que X-Team ou Yokoten et accélèrent la vitesse des cycles de changement de leurs écocycles quand c'est possible [SAFe 2021-4] avec une forte testabilité de leurs livrables.
- les gestionnaires qui favoriseront l'organisation apprenante en tirant parti de la voie de la fusion des écocycles, des opportunités d'apprentissage en double boucle dans le respect des lois sur les ToC.
- les communautés qui feront office de pôles de connexion et faciliteront ainsi les liaisons et le Yokoten.
Le point de vue d'Agilitest sur PanTesting
L'automatisation des scripts de test est confrontée à de nombreux défis, comme la préparation au développement du produit.
Lorsque le développement de scripts vient après le développement de produits, le cahier des charges s'applique clairement, car il ressemblera inévitablement à un goulot d'étranglement pour la livraison de logiciels. Cela conduit à synchroniser progressivement les écocycles du développement de produits et du développement de scripts. C'est précisément ce qui se passe dans une Task Force US.
Cet exemple simple illustre l'utilisation de deux composants du PanTesting. Quelle que soit votre organisation, l'approche #nocode du script [Forsyth 2021] avec Agilitest raccourcit les temps de script et de débogage ; ainsi, l'effet de goulot d'étranglement est réduit et pourrait sortir du chemin critique de livraison si les deux activités étaient effectuées en parallèle.
La testabilité fait également partie de PanTesting. Celle-ci est en fait vitale pour le scripting. Sans aucune testabilité, le script ne serait pas en mesure de vérifier les exigences. Supposons qu'une fonction soit mise en œuvre et que personne ne soit en mesure de voir un retour d'information sur le succès ou l'échec de l'exécution de la fonction, alors comment un script pourrait-il faire ? Cependant, il y aurait une solution à condition qu'une certaine testabilité intrinsèque ait été ajoutée dans une partie interne du produit (disons une API REST, cachée de l'utilisateur final, mais qui pourrait être atteinte à partir du script). C'est pourquoi Agilitest fournit certaines fonctionnalités de l'API REST pour permettre de telles vérifications.
Enfin, l'apprentissage de la double boucle est également inévitable en matière de scripting. Il serait surtout stupide de scripter un test sans savoir :
- l'objectif du test que le script doit vérifier
- les composants impliqués par le script et sur lesquels le script s'appuie
Le scripteur est naturellement poussé vers ces éléments pour réaliser le script. Cependant, afin de fournir une certaine tolérance aux pannes sur la partie la plus versatile du script (c'est-à-dire les composants graphiques également surnommés "widgets"), Agilitest incorpore quelques heuristiques pour maximiser la probabilité de capturer des widgets à partir de critères fournis lors de la conception du script.
Pour découvrir l'ensemble des pratiques, cliquez ici.
Cartes connexes
Pour aller plus loin
- [Argyris 1977] : Chris Argyris - " Double Loop Learning in Organizations " - Harvard Business Review - SEP/1977 - https://hbr.org/1977/09/double-loop-learning-in-organizations
- [Bach 2015a] : James Bach - " Heuristique de la testabilité des logiciels " - Version 2.3, 2015 - https://www.satisfice.com/download/heuristics-of-software-testability?wpdmdl=1137&refresh=5d499ab18a3271565104817&open=1
- [Cox III 2010] : James F. Cox III et John G. Schleier Jr. - " Theory of Constraints Handbook " - McGraw-Hill - 2010 - ISBN : 978-0-07-166555-1
- [Forsyth 2021] : Alexander Forsyth - JAN 2021 - " Low-Code et No-Code: Quelle est la différence et quand utiliser quoi ? " - https://www.outsystems.com/blog/posts/low-code-vs-no-code/
- [Goldratt 1984] : Eliyahu M. Goldratt et Jeff Cox - " The Goal - A Process of Ongoing Improvement " - North River Presse - 2004 (1ere éd. 1984) - ISBN : 0-88427-178-1
- [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
- [Meaney 2018a] : Rob Meaney - " Let's test testability " - Agile Testing Days 2018 - 2018 - https://www.katjasays.com/agile-testing-days-2018-sketchnotes-and-summary/.
- [Meaney 2018b] : Robert Meaney - " Please explain testability to me " - 28/NOV/2018 - https://club.ministryoftesting.com/t/please-explain-testability-to-me/20586
- [MoT 2019] : Atelier de discussion sur Ministry of Testing - " Power Hour - Testabilité " - 2019 - https://club.ministryoftesting.com/t/power-hour-testability/27022
- [Moustier 2020] : Christophe Moustier - OCT 2020 - " Conduite de tests agiles pour SAFe et LeSS " - ISBN : 978-2-409-02727-7
- [Moustier 2020a] : Christophe Moustier - JUIN 2020 - "PANTESTING Un modèle de test (agile) à l'échelle" - https://www.researchgate.net/publication/341914421_PANTESTING_Un_modele_de_test_agile_a_l'echelle et https://www.youtube.com/watch?v=3HdAsGi9Wqo
- [SAFe 2021-2] : SAFe - FEV 2021 - "Principe n°2 - Appliquer la pensée systémique" - https://www.scaledagileframework.com/apply-systems-thinking/
- [SAFe 2021-35] : SAFe - FEV 21 - "Weighted Shortest Job First (WSJF)" - https://www.scaledagileframework.com/wsjf/
- [SAFe 2021-4] : SAFe - FEV 2021 - "Principe n°4 - Construire de manière incrémentale avec des cycles d'apprentissage rapides et intégrés" - https://www.scaledagileframework.com/build-incrementally-with-fast-integrated-learning-cycles/
- [SAFe 2021-7] : SAFe - FEV 2021 - "Principe n°7 - Appliquer la cadence, se synchroniser avec la planification inter-domaines" - https://www.scaledagileframework.com/apply-cadence-synchronize-with-cross-domain-planning/
- [Smith 2001] : Mark K. Smith - 2001 (mis à jour en 2005) - "Chris Argyris : théories de l'action, apprentissage en double boucle et apprentissage organisationnel" - www.infed.org/thinkers/argyris.htm
- [Stein 1997] : Robert E. Stein - " The Theory of Constraints : Applications in Quality and Manufacturing " - CRC Presse - ISBN : 9780824700645