C’est jour de livraison. Aux temps immémoriaux d’un monde archaïque, vous auriez déjà stabilisé un exécutable il y a une semaine, et celui-ci serait depuis inspecté minutieusement par l’équipe de validation. Personne n’aurait cherché à introduire des correctifs de dernière minute, car chacun sait qu’il vaut mieux une livraison quasiment fonctionnelle aux défauts caractérisés à une I.B.M.I. (Infâme Bouillie Mal Identifiée). Réveillez-vous, ce temps-là est révolu : vous êtes devenu un programmeur de l’extrême, du genre agile, à développer selon les principes de l’industrie automobile (!) Il est grand temps pour vous de redécouvrir la joie du stress de dernière minute.
Petite remise en situation : nous sommes le jour J, il est 8h du matin, et l’exécutable ne démarre même pas. Il va falloir stopper la machine à perdre rapidement si vous ne voulez pas que toute l’équipe passe à la Gatling ! En ce qui vous concerne, voici le commandement qui vous incombe :
Ne travaillez jamais sur un coin de table.
Ça a l’air stupide, n’est-ce pas ? Pas plus que de mettre au point un exécutable à l’arrache (seule méthode fonctionnelle, à défaut d’être efficace) et de devoir avouer quelques jours plus tard qu’on ne sait plus quel est le code qui a servi à la livraison. Ou comment l’exécutable a été obtenu. «Mais enfin !», me diriez-vous, «seul un imbécile en arriverait là !» Ah bon ? Pas si sûr. Vu le maelström qui va se mettre en place jusqu’à tard dans la nuit, vous avez intérêt à vous assurer que personne ne sortira des ornières que vous aurez tracé. Bien entendu, oubliez momentanément une bonne partie de votre processus habituel de développement/livraison. Mais ne lâchez pas les fondamentaux :
L’intégralité du code servant à produire l’exécutable final est connu de l’outil de gestion de configuration.
L’exécutable livré est obtenu uniquement à partir de la chaîne de production officielle.
Vous pouvez même pousser le vice à fournir un gigantesque espace de patch que tout le monde ira bidouiller comme il le souhaite, mais cet espace est en conf. Demain, vous pourrez (faire) remettre au propre tout ça, demander des livraisons officielles des composants qui intègrent ces correctifs de dernière minute. Les développeurs pourront alors se poser la question si tel ou tel patch écrit en urgence est vraiment pertinent. Mais au moins ils auront une base claire de travail. Sans cela, vous passerez la semaine qui suit la livraison à retrouver vos petits, sous les quolibets de l’équipe de spécification et les remarques incendiaires des développeurs qui ne comprennent pas pourquoi ils devront faire deux fois le travail. Pas évident à vivre, surtout quand il faut livrer tous les mois.