Le refactoring c’est tout le temps, et c’est normal. (épisode 8 - le travail du développeur)
Deux mois ont passé depuis l’échange avec Marc. Charlotte et Malik vénèrent le refactoring. Ils se sont isolés des autres, ça tombe bien ils ne sont que deux développeurs sur leur projet. Ils ont bien tenté de présenter leur démarche aux autres développeurs de la société, ils ont animé un atelier à la communauté des développeurs. Les réactions ont été décourageantes :
« Impossible chez nous, c’est trop gros.
— Chez nous c’est très compliqué, il y a beaucoup de règles légales à respecter.
— Moi je n’ai pas d’activité refactoring prévue dans mon rapport d’activités, si j’en fais je vais devoir dépasser sur une de mes autres activités prévues. »
Tant pis pour le projet de sauver le monde, Charlotte et Malik sauveront leur projet.
Sylvain, leur PO, leur fait confiance, il parle tout le temps feedback utilisateurs et n’intervient pas dans leurs affaires. D’ailleurs il n’a pas le temps, Charlotte et Malik ont toujours une version de logiciel à lui montrer.
Nous sommes en août, Charlotte est à la plage. Malik est en arrêt, et ce n'était pas prévu, cas de force majeure. Sylvain n’a plus son équipe de choc mais il est serein, le logiciel a fait ses preuves pendant la recette avec le métier.
Yoann sait tout ce qui se passe en production, c’est son travail.
« Allo Sylvain ? Ton site est cassé, enfin une partie. »
Sylvain arrête toutes ses activités.
« Ça veut dire quoi ? Qui a fait quoi ? »
— Je ne sais pas qui a fait quoi, je vois juste qu’un service ne fonctionne pas. Ça m’inquiète. Qui est là ? Ton équipe ne répond pas.
— Personne. Personne n’est là.
— C’est embêtant ça, Sylvain.
— C’est pas mon problème moi, je ne m’occupe pas de technique. Demande aux autres développeurs.
— Tu crois que les développeurs aiment bien les bugs peut-être ? Ils ne se sentent pas très concernés quand c’est leur code et que ça marche sur leur poste, alors quand ce n’est pas leur code je te laisse imaginer l’engouement. Bon j’appelle qui ?
— Je ne sais pas ! Et toi tu peux non ?
— Non, moi je ne suis pas compétent pour ça. »
Sylvain est démuni. Yoann reprend :
« Écoute, nous allons y arriver. Envoie moi un développeur disponible ce matin, je lui explique les contraintes opérationnelles et il corrige ça. »
Sylvain est énervé, ils sont embêtants ces informaticiens, ça ne peut pas être simple. Yoann a raison, aucun développeur ne se rend disponible.
« Je ne sais pas ce qu’ils ont fait, je préfère ne pas y toucher.
« Je ne connais pas cette technologie, je ne suis pas la bonne personne.
« Ça sera trop long, je n’ai pas le temps. »
Sylvain se demande qui n’aura pas le courage de refuser : Alexandre. Un jeune stagiaire sympathique. Sympathique et stagiaire. Sylvain n’a pas vraiment le choix, et il ne veut plus que ce soit son problème. Il se prépare mentallement à expliquer en haut lieu les causes et les conséquences de l’incident.
Yoann ne s’offusque pas du choix du développeur, ils commencent à travailler.
« Allo Sylvain ? Tu peux faire des tests et me confirmer que c’est bon pour toi ? »
Sylvain ne comprend pas ce que Yoann lui demande, il est dans ses slides en pleine analyse des impacts financiers.
« Tester quoi ? Tu m’as dit que tu étais inquiet et que ça risquait de recommencer.
— Maintenant ça marche, j’ai besoin de toi pour les derniers tests. »
Sylvain se dit que c’est Noël, pourtant pas si tôt d’habitude.
« Effectivement, ça marche, je ne vois pas de différences avec ce qu’ont fait Charlotte et Malik.
— Bon, parfait, nous déployons la version.
— Vous n’avez rien changé ? Il n’y a plus de problème ?
— Alexandre a corrigé le problème. Il est chouette, tu devrais le garder. »
Sylvain juge ceci incompréhensible. Tous les autres développeurs-experts-soit-disant-très-forts-sur-des-sujets-sensibles ne s’y sont pas risqués et Alexandre a tout plié, tout seul. Un génie, ce stagiaire. Sylvain le garde sur le projet et chante ses louanges au monde entier.
Charlotte et Malik sont de retour, un peu penauds. Ils ont bien compris qu’ils ont raté un moment important et tentent de recoller les morceaux. Ils sont ravis d’avoir un nouveau collègue aussi compétent dans leur équipe, Alexandre n’est pourtant pas très expérimenté.
« Ah c’est vous l’équipe de Sylvain. Merci à vous deux, vous êtes géniaux.
— Alexandre, c’est plutôt toi le génie qui a sauvé le projet, bravo à toi.
— Ah non non, moi j’ai juste lu et lancé vos tests. »
Charlotte et Malik sont intrigués.
« J'ai regardé les logs et j'ai vu les données que recevait le service. J’ai cliqué sur test run, puis j'ai modifié les données en entrée d’un test pour voir. J'ai vu ce qui ne passait pas. J’ai lu votre code, il est super bien écrit ! Trois corrections. J'ai relancé les tests, et c'est passé. Yoann a déployé et c'était fini. Je ne suis pas fort hein, je veux apprendre. Je suis très content de vous rencontrer, vous pouvez me montrer comment vous avez fait tout ça ? C’est super pratique. »
Charlotte est impressionnée, même si elle se dit qu’il faut vite aider Alexandre à écrire de nouveaux tests plutôt que de remplacer les tests existants. Elle est fière que le code soit maintenable, même par un junior.
Charlotte a progressé : elle connaît maintenant sa responsabilité de développeur. Elle ne rendra plus négociable les activités de refactoring.
Ce doit être fait.
Ce n’est pas clairement dit, mais tout le monde compte sur le développeur pour que les activités de refactoring soient réalisées.
Le refactoring c’est tout le temps, et c’est normal.
FIN
épisodes :
7 - le développement est sinueux, pas linéaire
8 - le travail du développeur