“S’engager”
Pendant un planning d’itĂ©ration, il est commun de demander Ă l’Equipe de fixer/choisir/Ă©tablir son “engagement”. Et la plupart du temps, le comportement attendu consiste Ă choisir un ensemble de fonctionnalitĂ©s Ă livrer au client Ă la fin de l’itĂ©ration qui commence ce jour lĂ .
Dans Scrum, ce rituel de planning se rĂ©pète Ă chaque commencement d’itĂ©ration.

Pendant l’itĂ©ration, c’est le temps de la rĂ©alisation. C’est lĂ que les artistes-artisans informaticiens rĂ©alisent le miracle de leur art pour livrer un morceau de logiciel d’une qualitĂ© exceptionnelle. Hum… Mais au fait, c’est quoi pour vous la QualitĂ© ? Autour d’un cafĂ© on devrait probablement s’entendre sur le fait que des professionnels de l’informatique devraient livrer des logiciels de qualitĂ©. Voire, que leur “engagement” a quelque chose Ă voir avec “livrer un logiciel de qualitĂ©”.
Durant les dix dernières annĂ©es, une technique appelĂ©e TDD s’est dĂ©veloppĂ©e. J’imagine que vous connaissez ça très bien, ainsi que sa reprĂ©sentation la plus populaire :

La couleur pour le cĂ´tĂ© du refactoring est parfois le vert pour exprimer que pendant une opĂ©ration de refactoring, “les tests passent toujours”. J’ai pris ici le gris surtout parce que sur ma magnifique casquette tdd, le refactoring est en gris.
Mais au fait : quelle est la vocation du refactoring ? Parce que si le test passe, je pourrais livrer le code et n’en parlons plus ! Bien sĂ»r la plupart du temps le logiciel n’est pas fini ; il faut continuer. Pour pouvoir continuer, on met Ă profit ce temps de refactoring pour transformer le code que l’on a Ă©crit Ă la va-vite pour faire passer le test en un “code de qualitĂ©”. L’objectif semble donc ĂŞtre la qualitĂ©. Autrement dit, l’artiste-artisan informaticien professionnel construit un code de qualitĂ© pendant le refactoring. Encore autrement dit : l’artiste-artisan informaticien respecte son engagement de qualitĂ© pendant le refactoring.
Maintenant si je dessine le cycle du TDD plutôt comme ça, est-ce que vous me voyez venir ?

En mĂ©langeant les notions d’engagement du planning d’itĂ©ration et de refactoring du tdd, on pourrait vivre la situation suivante : pendant un planning d’itĂ©ration, l’Equipe considère les premiers Ă©lĂ©ments de carnet de produit, Ă©crit les tests et les fausses implĂ©mentations qui font passer les test, et rĂ©flĂ©chit Ă son engagement : quel part du code Ă©crit pendant le planning pouvons-nous transformer en code de qualitĂ© pendant l’itĂ©ration ? Par exemple pendant le planning on a fait passer 4 tests mais notre engagement ne couvre que la livraison du code faisant passer les 3 premiers.
Cette approche met au premier plan les notions de qualitĂ© et de professionnalisme des Ă©quipes on affichant que la valeur des professionnels de l’informatique va se chercher pendant le refactoring. “Pisser du code” ne s’appliquerait plus qu’au code Ă©crit le plus vite possible pendant le planning pour faire passer les tests, pas au code que l’on livre.


