Focus sur la solution dans son intégralité
État d'espritTenter de se débarrasser de l’inutile et optimiser sans arrêt
L'importance de se concentrer sur la solution globale
Un client n'achète pas une partie d'une solution mais un tout, et tant que le développement d'une équipe n'est pas intégré au produit, il n'a aucune valeur. Dans cette optique, le DoD doit donc inclure l'intégration et pas seulement la réalisation du code pour une User Story donnée (US) [LeSS 2021-1].
De plus, l'amélioration d'une partie du produit doit être vue dans la solution globale et même si un choix est fait entre une optimisation locale du système et une amélioration globale, LeSS propose plutôt le produit entier.
En effet, une nouvelle version plus efficace d'un processus métier qui n'est pas cohérente avec les autres processus a peu de chances d'être perçue positivement par les clients. Il est donc important d'impliquer les équipes dans un processus où toutes sont alignées sur cet objectif.
Cet aspect systémique est d'autant plus renforcé si le produit est le fruit d'une collaboration entre différents secteurs d'ingénierie, comme le secteur médical ou automobile, qui réunit le développement logiciel, l'électronique, la mécanique, etc. En agilité, cette approche multi-domaine est possible grâce à l'approche Model-Based System Engineering (MBSE) [Moustier 2020] et montre clairement la nécessité de faire évoluer le produit dans son ensemble et pas seulement une partie de celui-ci : si le code ne permet pas de piloter une innovation liée au hardware, personne ne pourra l'utiliser.
Ainsi, pour aborder cette approche systémique sous-jacente, Peter W. Senge propose onze lois [Senge 1994] :
- Les problèmes d'aujourd'hui sont issus des "solutions" d'hier.
- Plus vous poussez, plus le système vous repousse.
- Le comportement s'améliore avant de s'aggraver.
- La solution de facilité vous ramène généralement au bureau.
- Le remède peut être pire que la maladie.
- Vouloir aller plus vite vous ralentit.
- La cause et l'effet ne sont pas étroitement liés dans le temps et l'espace.
- De petits changements peuvent produire de grands résultats... mais les domaines où l'effet de levier est le plus important sont souvent les moins évidents.
- Vous pouvez avoir votre gâteau et le manger aussi, mais pas immédiatement.
- Diviser un éléphant en deux ne produit pas deux petits éléphants.
- Ne jetez pas de pierres.
Dans cette perspective, il existe des outils qui facilitent l'approche systémique de l'ingénierie des produits et permettent d'aligner les affaires, la gestion et la technologie, notamment :
- Cartographie d'impact [Adzic 2013]
- Event Storming [Brandolini 2019]
- Story Mapping [Patton 2014]
Application à la maturité des tests
Pour soutenir la vision systémique de la solution, l'effort de test devra inévitablement intégrer les quatre quadrants du test agile [Marick 2003][Bach 2014][Crispin 2021] de manière à aborder de nombreux aspects du test, y compris les exigences non fonctionnelles [Hage Chahine 2018].
Cependant, afin d'aborder l'ensemble des aspects attendus par le système, l'approche incrémentale, rythmée et synchronisée implique parfois de pouvoir tester un produit partiellement achevé sans vouloir impacter l'ensemble de ses clients. Pour cela, des pratiques telles que le Dark Launch ou le Canary Releasing peuvent être utilisées.
Si nous voulons avoir une vision systémique du test, PanTesting [Moustier 2020] nous permet d'aborder une approche holistique du test agile à l'échelle en introduisant les concepts de :
- Double boucle d'apprentissage
- Théorie des contraintes
- Panarchie
qui sont combinés à la testabilité.
La position d'Agilitest sur cette pratique
Agilitest est un outil d'automatisation des scripts de test et dans cette vision systémique du produit, il est à forte valeur ajoutée de combiner l'utilisation de cet outil avec la pratique du langage omniprésent pour refléter les parties du domaine qui sont testées automatiquement.
De plus, pour faciliter la fourniture d'une partie attendue, l'approche #nocode d'Agilitest [Forsyth 2021] permet une automatisation simple et rapide des tests.
Pour découvrir l'ensemble des pratiques, cliquez ici.
Cartes connexes
Pour aller plus loin
- [Adzic 2013] : Gojko Adzic - DEC 2013 - "Cartographie d'impact" - ISBN 9784798136707
- [Bach 2014] : James Bach - " Le véritable quadrant des tests agiles " - SEP/2014 - http://www.developsense.com/presentations/2014-06-Dublin-RSTAgileTesting.pdf
- [Brandolini 2019] : Alberto Brandolini - " Introducing EventStorming " - Leanpub - 2019 - https://leanpub.com/introducing_eventstorming
- [Crispin 2021] : Lisa Crispin & Janet Gregory - JAN 2021 - "Application des quadrants de test agiles à la livraison continue et à la culture DevOps - Partie 2 sur 2" - https://agiletester.ca/applying-the-agile-testing-quadrants-to-continuous-delivery-and-devops-culture-part-2-of-2/
- [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/
- [Hage Chahine 2018] : Marc Hage Chahine - JUL 2018 - "Types de tests (ISO 25 010) : les tests fonctionnels (1/8)" - https://latavernedutesteur.fr/2018/07/02/types-de-tests-iso-25-010-les-tests-fonctionnels-1-8/ et les articles suivants
- [LeSS 2021-1] : LeSS - 2021 - "Whole Product Focus" - https://less.works/less/principles/whole-product-focus
- [Marick 2003] : Brian Marick - " Directions de tests agiles : tests et exemples " - 22/AOU/2003 - http://www.exampler.com/old-blog/2003/08/22/#agile-testing-project-2
- [Moustier 2020] : Christophe Moustier - OCT 2020 - " Conduite de tests agiles pour SAFe et LeSS " - ISBN : 978-2-409-02727-7
- [Patton 2014] : Jeff Patton - " User Story Mapping " - O'Reilly - 2014 - ISBN 978-1491904909
- [Senge 1994] : Peter M. Senge - " The fifth discipline - the art and practice of the learning organization " - Currency Doubleday - 1994 - ISBN 0-385-26095-4