Ça fait presque 2 ans que je n’ai pas écrit de code manuellement. Ça ne me dérange pas. Le bilan est positif. Mais je pense que je m’entête plus longtemps sur des idées foireuses ou cassées qu’à l’ancienne. Le processus d’essais et d’erreurs du travail à la main, tout le dépannage qui va avec.
La nouvelle méthode pose un problème assez sérieux : un agent soit ne sait pas, soit ne mentionne pas que vos idées sont foireuses. Vous le capterez peut-être tôt, ou pas.
Mais sans les tâtonnements du processus humain, on court un risque bien plus élevé de se heurter à des problèmes d’architecture insolubles sans tout bazarder, parce que vos hypothèses de départ étaient fausses.
On entend souvent dire que « un agent peut faire 80 % du chemin, et puis ça prend une éternité pour finir le travail correctement ».
D’ailleurs, c’est exactement pour ça que ça arrive.
Le TDD aide.
Mais le processus a suffisamment changé pour créer ces nouvelles catégories de problèmes.
Une chose que je dirai, c’est qu’estimer des projets est bien plus difficile qu’avant. À l’époque, j’avais un assez bon instinct de ma propre vitesse. Et je savais que multiplier mon instinct par 1,241 me ramenait généralement à environ trois heures près de mes estimations.
Aujourd’hui, ma vélocité varie, parce que les agents font de grosses erreurs. Et je ne sais jamais où elles vont tomber.
Prenez aujourd’hui, par exemple. Je monte un nouveau système de tickets. Il y a une dépendance qu’on avait cartographiée au début du projet. Elle dépend de Java 25, ce qui posait problème puisque mon système n’avait que le toolkit Java 21 d’installé.
Bon à savoir.
Nouveau problème : mes agents l’ont remarqué. Et au lieu de m’en informer au début du projet, ils ont décidé de coder autour du problème en créant une infra redondante que je dois maintenant consolider pour revenir à l’exigence initiale.
C’est arrivé alors que j’avais explicitement demandé et ordonné aux agents de ne pas faire ça.
Est-ce que c’était ma faute ?
Oui, à 100 %, je devrais être plus maligne.
La plupart de ces trucs sont en fait des erreurs utilisateur, d’une manière ou d’une autre.
Mais j’estime qu’on aurait dû m’en toucher un mot.
« Hé, on a commencé à bidouiller autour de ça parce que vous nous avez donné un système incapable de compiler l’exigence. »
Ça aurait été sympa.
Ça m’aurait évité des heures de boulot sur la fin.
Parfois, j’ai l’impression de solliciter mes compétences de QA plus durement et plus souvent qu’avec l’ancien système.
Mais bref. Comme on ne sait jamais quand ni où le chaos va frapper, les estimations simples basées sur sa propre vélocité actuelle ne tiennent plus comme avant.
Je n’ai pas encore trouvé de solution pour ça.