De la difficulté à créer une barre rouge

X — J’ai corrigé le bug que nous avions identifié : il y avait juste une ligne à changer.

Moi — Alors c’est bon, on peut désormais ajouter ton correctif dans notre dépôt de code source…

X — Pas tout à fait, je n’ai pas encore réussi à faire le test unitaire correspondant.

Moi — Tu veux dire qu’il n’y a pas encore la barre rouge qui se transformerait en barre verte avec le correctif.

X — Oui, c’est ça. Je me disais que vue la trivialité du correctif, on pourrait peut-être s’en passer.

Moi — Mais tu sais pourtant que je vais insister, n’est-ce pas ?

X, rigolant — On ne sait jamais, sur un malentendu…

Comment ouvrir la porte ?

Moi — Je te propose plutôt d’explorer tout ça ensemble et en détails.

X, avec l’index pointé sur son écran — Regarde c’est là, il suffit de changer précisément ce paramètre : j’avais oublié de le modifier en faisant un copier-coller.

Moi — Et si on regardait autour de cette ligne pour bien comprendre le contexte qui déclenche l’erreur.

X — Je commence à sentir ce que tu veux me montrer : il y a cette variable - l’utilisateur authentifié - qui peut changer radicalement le contexte d’exécution de la méthode.

Moi — C’est peut-être elle qui te bloquait dans ton test unitaire. Est-ce qu’on pourrait le regarder ensemble ?

X — Ben justement, déjà que je m’emmêlais les pinceaux entre le paramètre du code, ceux des tests, celui qui doit déclencher la barre rouge et celui qui déclenchera la verte, je me sens encore plus perdu avec cette nouvelle variable dont il faudrait tenir compte. D’autant plus que je ne l’ai pas encore croisée dans mes projets « mobile ».

Moi — Effectivement entre l’application iOs à laquelle tu participes activement et l’application web que tu re-découvres via ce bug, il y a un gouffre.

X — Et c’est bien dans ce gouffre précisément que je suis actuellement. C’est rageant de s’y sentir piégé alors que - et permets-moi d’insister - le correctif est ultra-simple.

Moi — Mais on perdrait une occasion incroyable de tous progresser au passage. Le logiciel à cause d’un cas qui ne serait pas couvert par un test unitaire, toi à cause d’un défaut de connaissances sur le contexte général d’une session authentifiée dans Opentime, et moi à cause d’un point aveugle sur les gestes indispensables du développeur qui arrive chez No Parking.

X — J’étais loin d’imaginer que cela pourrait avoir un impact sur ton boulot de manager !

Moi — Si je peux faire monter en compétence un débutant plus vite, il fera du meilleur boulot plus rapidement : c’est évident. Mais si en plus je peux supprimer la difficulté qu’il y a à initialiser le contexte de tous les tests de ce type, alors c’est potentiellement tous les développeurs de la boîte qui en profiteront. Y compris les plus anciens qui ont oublié depuis longtemps que ce n’était pas si simple et qui ont appris à faire avec…

X, paniqué — Tu veux me faire modifier tous les tests avec cette « difficulté » dans tout le code d’Opentime ?

Moi — Pas forcément, on va d’abord commencer par apprendre et appliquer le standard. Regardons d’abord comment ce type d’initialisation est réalisée actuellement. Il sera toujours temps ensuite de modifier ce standard si le potentiel d’amélioration est intéressant.