Au fond de l’open‑space, Thierry, le lead dev, a les yeux rivés sur son écran depuis deux jours. Il ne faut surtout pas le perturber ; il est en train de réaliser la mise à jour trimestrielle. Une opération hautement sensible, qui peut amener à un crash total du système, que lui seul maîtrise.
Il faudrait être inconscient pour confier une opération aussi sensible à Maëlys, l’alternante ayant récemment rejoint l’équipe. D’ailleurs, le manager l’a bien dit : Thierry est indispensable. Oubliant de préciser que des indispensables, il y en a plein les cimetières. Si nous avons une certitude, c’est qu’un jour Thierry ne sera pas disponible. Parce qu’entre les cinq semaines de congés payés, les RTT, les incidents majeurs, les formations et les fonctionnalités urgentes, l’indisponibilité de Thierry n’est pas une éventualité à envisager. C’est une certitude à préparer.

Photo : Nicolas Eliard
L’automatisation des livraisons serait une solution. Mais on nous objectera que Thierry contrôle chaque étape et assure un haut niveau de qualité. Or, les livraisons sont des processus reproductibles. L’humain n’introduit pas tant le contrôle que l’entropie, donc le risque. Cette reproductibilité même pourra être remise en cause : « Parce que parfois on fait une migration de la base de données, et parfois pas ». Un simple if dans le script fera l’affaire.
La décision est donc prise d’automatiser les livraisons. Un projet est donc mis en place, avec tout le tintouin habituel : chef de projet, études de faisabilité, planning, sans oublier la veille pour trouver le meilleur outil. Cette approche risque d’être forte coûteuse, longue (des semaines, voire des mois), pouvant même donner l’illusion que notre mission est d’automatiser les livraisons, alors que notre mission est de livrer des fonctionnalités à des utilisateurs. Une autre approche est possible.
Partir d’où on est, avec les outils que l’on a. Si ce n’est pas déjà le cas, réaliser entièrement les livraisons en ligne de commande. Et commencer à les documenter. Non pas dans une documentation avec le formalisme de l’assurance qualité (rédacteur, relecteur et approbateur…). Juste consigner par écrit les étapes qui s’enchaînent. Ce qui peut être fait dans n’importe quel outil permettant d’enregistrer du texte.
Comment compléter cette documentation ? En demandant que Maëlys réalise la livraison, à partir de la documentation, avec Thierry à ses côtés. Pour chaque imprécision, la documentation est complétée. Cette documentation est un brouillon d’automatisation. Car les vieux barbus ont un secret qu’ils gardent jalousement : quand nous mettons une séquence de lignes de commande dans un fichier, cela fait… un script.
À chaque livraison, nous pouvons migrer un peu de la documentation dans le script. Quand cela sera terminé ? Lorsque la livraison se fera en un seul clic ou une seule ligne de commande. Elle est devenue gratuite. Maëlys peut la réaliser. Thierry respirer.
