L’équipe de Victor et Jérémie fait une relecture de code. La conversation s’engage entre Victor, et Tom qui a modifié le code.

— Question : y a t’il des tests ?
— Hmm. Il y en a eu, à un moment. C’est Clara qui les avait écrits.
— Qui est-ce ?
— C’était une développeuse sur le projet. Mais elle est partie en fin d’année dernière. Attends, je peux peut être retrouver les tests en consultant l’historique…
— Et donc, Clara est partie, les tests sont partis avec elle ?
— Euh non, ce n’est pas comme ça que ça s’est passé.
— …
— Ses tests étaient trop coûteux à maintenir. À un moment, on était en mode crunch avec une grosse échéance à tenir, et on avait une modif importante sur la signature de certaines méthodes, et ses tests bloquaient à la compilation. Donc on a décidé de les retirer du build.
— Mais si Clara n’avait pas quitté le projet, ce code aurait des tests ?
— Peut-être. Peut-être pas.

😔

C’est le lendemain de la naissance de mon 2ème fils. Je suis dans la chambre d’hôpital avec sa maman et lui, et son grand frère de 3 ans. L’infirmière entre, nous lui disons bonjour. Elle dit :

— Eh ben ! On voit que c’est l’équipe de nuit qui s’est occuppé de cette chambre…

😟

Deux situations que rien ne rend comparables sauf deux points :

  • c’est un travail d’équipe
  • il n’y a pas de transmission

🏃‍♀️🏃🏽🏃🏼‍♂️🏃🏼‍♂️

Un projet de développement, c’est un peu comme une course de relais (seulement plus complexe, et moins physique 😅). C’est un travail d’équipe et de transmission. Courir vite a une certaine importance, mais sans coordination, cela ne sert à rien.

Imaginez une course de relais durant laquelle un des coureurs aurait quitté la course avant la fin. Les entraîneurs cherchent un remplaçant, vite. Ils abordent quelques personnes entre la piste et les gradins.

— Tu sais tenir un bâton ?
— Oui.
— Tu cours vite ?
— Je pense, oui.
— Alors arrive ici !

Ridicule, n’est-ce pas ? C’est pourtant de façon analogue que se déroulent beaucoup projets de développement. Une équipe est formée, à partir d’invididus sélectionnés et triés sur le volet. Pour être recrutée chaque personne met en valeur ses compétence, son expérience, sa passion pour le code, son goût d’apprendre. Une fois l’équipe en place, chacun contribue à faire évoluer l’état de l’art de l’équipe, en proposant des améliorations, voire en les appliquant directement. Le produit logiciel résultant représente à l’instant t la quintessence de ce que cette équipe peut réaliser, dans le contexte où elle se trouve, étant donnés ses objectifs.

Si l’objectif est de créer un POC, l’équipe place le focus sur un aspect important en délaissant le reste.

Si c’est de créer un système viable pour 5 ans, elle place le focus sur le standard. Elle le fait en observant, en planifiant, en expérimentant et en débriefant. C’est sa manière d’améliorer durablement son état de l’art.

Pas d’expérimentation, pas de transmission ⇒ pas de standard, pas d’amélioration.

publié sur Linked In le 29/05/2023