Proposition de Changement
[QualityManagement, TDD, Test]
Conférence dans l’open space/café/cuisine/détente. Y participent : Alex, Olivia, Karim, Théo, Ibanèz, Yasmina, Jean, Oleg, Térence (développeurs), Xavier (CTO), Jérémie (Tech Lead), Clara (Responsable des Tests).
Xavier vient de “mettre sur la table” un changement de processus, dans lequel le code de chaque user story que l’équipe délivre serait gardé par des vérifications automatisées, au niveau “unitaire” et/ou “intégration”. C’est le temps des Questions/Réponses.
— Tu ne nous fait plus confiance ?
— Regarde l’activité. Est-ce que ça t’inspire confiance ? J’ai confiance dans les améliorations que vous allez apporter.
— Si je comprends bien on n’a plus droit à l’erreur.
— Alex, tu sais très bien qu’on n’apprend que de nos erreurs, donc si. Par contre on n’a pas le droit de persister dans l’erreur.
— Tu proposes de changer le moteur alors qu’on est lancé à pleine vitesse sur l’autoroute.
— On n’est pas à pleine vitesse, on est en seconde avec un pneu à plat. Je veux arrêter de rouler avec un pneu à plat.
— Le bug qui a tué la démo c’était CygnaTrack, c’était pas nous !
— Clara l’a découvert juste à l’avant veille de la démo. Qu’est-ce qui nous a empêché de le voir plus tôt d’après toi ?
— Et si on teste tout, et que Clara se retrouve sans rien à faire ?
— T’inquiète pas, j’ai de la marge…
— Woah. Stop le débat sur qui travaille à fond, qui n’a rien à faire, svp.
— Donc on ne fait plus que ça, écrire des tests.
— Ce n’est pas ce qu’on s’est dit.
— Sans rire, on n’est pas là pour écrire du code aussi trivial que des tests, qui vont passer tout de suite de toutes façons…
— …
— Ça va avoir un impact sur les compétences : à force de protéger le code avec des tests, il n’y a plus de difficulté, on finit par ne plus savoir coder.
— …
— Moi s’il faut passer ses journées à écrire les tests, je sais pas si je vais rester.
— Ok, ok, ok. Je reprends vos commentaires sur les 5 derniers bugs les plus impactants. Qu’est-ce qu’on trouve ?
- trou dans la spec
- erreur off by 1
- expression conditionnelle incorrecte
- typo dans une url
- erreur de calcul dans le diagnostic : le code est entièrement à revoir.
Je n’invente rien. On peut regarder à nouveau la rétro-analyse de tout à l’heure :
-
DÉFAUTS DE COMPORTEMENT (BUG)
car ERREUR NON DÉTECTÉE -
NON DÉTECTÉE
car PAS DE TEST AVANT LIVRAISON -
ERREUR
car CODE CONFUS
car ON N’Y TOUCHE PLUS
car RÉGRESSION DÈS QU’ON Y TOUCHE
Maintenant, j’aimerais qu’on arrête de bâtir les ponts avant de voir les rivières, et surtout qu’on arrête de démonter et remballer les idées avant même de les avoir essayées.
— Qu’est-ce que tu nous demandes, en fait ?
— De poser des vérifs auto sur votre code, systématiquement.
— Et pendant ce temps là, le backlog ?
— C’est vu avec Victor et l’équipe PO. Faites un premier sprint avec cette nouvelle règle.
— Mais la vélocité…
— C’est vu. Essayez. Montrez-moi. Pas des raisonnements : des expérimentations.