Aller au contenu
Les 24 gabarits d’instruction

Construire un increment · rôle à tenir par l’agent : Responsable technique

Faire construire un incrément complet et démontrable

con-increment-vertical

Phase du chantier : 6. Construction

Quand l’employer

À employer pour une tranche de travail qui, une fois finie, se démontre en une minute devant quelqu'un. À ne pas employer pour lancer un chantier entier : un agent à qui l'on demande une application rend une application incontrôlable.

Les 6 trous à remplir avant d’envoyer

Chaque trou est une décision déjà prise. Un trou que vous ne savez pas remplir n’est pas une case à improviser : c’est un travail de cadrage qui manque.

{INCREMENT}
Quelle tranche exactement, formulée comme ce que l'utilisateur pourra faire à la fin et pas comme une tâche technique ?
Pourquoi ce trou existe. Un incrément décrit en termes techniques se démontre en montrant du code, ce que vous ne savez pas juger. Décrit en termes d'usage, il se démontre à l'écran.
Si vous ne savez pas répondre. Reprenez la spécification du parcours et coupez au premier endroit où l'utilisateur obtient quelque chose d'utile. C'est là que s'arrête l'incrément.
{SPECIFICATION_DE_REFERENCE}
Quel document fait foi, et à quelle version ?
Pourquoi ce trou existe. Sans référence datée, chaque partie se souvient d'une spécification différente, et la discussion se fait sur des souvenirs.
Si vous ne savez pas répondre. Si aucun document n'existe, arrêtez. Faire construire sans spécification, c'est accepter d'avance ce que l'agent décidera à votre place.
{PERIMETRE_DE_FICHIERS}
Quels fichiers ou quelles zones du projet ont le droit d'être modifiés, et lesquels sont interdits ?
Pourquoi ce trou existe. Un agent qui rencontre un obstacle hors de son périmètre le retire, et il vous faudra des semaines pour comprendre pourquoi une fonctionnalité voisine ne marche plus.
Si vous ne savez pas répondre. Demandez d'abord la liste des fichiers que l'agent compte toucher, et validez-la. Cette liste devient le périmètre.
{ETAT_DU_PROJET}
Qu'est-ce qui existe déjà et fonctionne, et ne doit surtout pas être refait ?
Pourquoi ce trou existe. Réécrire ce qui marche est le réflexe le plus coûteux d'un agent, parce que la réécriture lui coûte moins que la lecture.
Si vous ne savez pas répondre. Faites d'abord décrire l'existant par l'agent et corrigez sa description. Ce qu'il a mal compris est exactement ce qu'il aurait cassé.
{PREUVE_ATTENDUE}
Comment saurez-vous, sans lire le code, que cet incrément fonctionne ?
Pourquoi ce trou existe. Une preuve définie après coup est toujours celle que le travail livré peut fournir. Définie avant, elle contraint le travail.
Si vous ne savez pas répondre. Écrivez la suite de gestes que vous ferez à l'écran pour vérifier, du premier clic au résultat visible. Cette suite est la preuve.
{INTERDICTIONS}
Qu'est-ce que l'agent n'a pas le droit de faire pendant cet incrément ?
Pourquoi ce trou existe. Les dégâts durables viennent rarement de ce qui a été demandé, presque toujours de ce qui a été fait en plus sans qu'on l'interdise.
Si vous ne savez pas répondre. Interdisez au minimum : ajouter une dépendance, modifier la structure des données, toucher à la configuration, supprimer du code existant.

Le corps du gabarit

Quatre parties, toujours dans cet ordre : le rôle et le mandat, le contexte factuel, la demande bornée, le format de sortie exigé. Les trous restent visibles à la copie, et c’est voulu : les remplir un par un est la dernière occasion de s’apercevoir qu’une décision manque.

## 1. RÔLE ET MANDAT

Tu es responsable technique et tu exécutes un incrément déjà spécifié. Ton mandat est de livrer exactement cette tranche, ni plus ni moins, et d'en fournir la preuve. Tu ne conçois pas, tu ne discutes pas la spécification, tu ne proposes pas d'amélioration.

## 2. CONTEXTE FACTUEL

Incrément à livrer : {INCREMENT}
Document qui fait foi : {SPECIFICATION_DE_REFERENCE}
Fichiers que tu peux modifier : {PERIMETRE_DE_FICHIERS}
Ce qui existe déjà et ne doit pas être refait : {ETAT_DU_PROJET}
Preuve que j'exigerai : {PREUVE_ATTENDUE}
Interdictions pour cet incrément : {INTERDICTIONS}

Ce contexte n'est pas indicatif. Un fichier hors périmètre ne se modifie pas, même d'une ligne, même pour corriger une erreur évidente. Si un obstacle se trouve hors périmètre, tu t'arrêtes et tu me le signales.

## 3. DEMANDE BORNÉE

Construis cet incrément, et rien d'autre.

Ce que je veux :
1. le code de l'incrément, dans le périmètre de fichiers autorisé ;
2. la liste exacte des fichiers créés, modifiés et supprimés, avant tout autre commentaire ;
3. pour chaque fichier modifié, la raison de la modification en une ligne ;
4. la marche à suivre pour que je constate le résultat moi-même, geste par geste, sans lire le code ;
5. ce que tu n'as pas fait alors que tu aurais pu, et pourquoi tu t'en es abstenu ;
6. les obstacles rencontrés hors périmètre, décrits mais non résolus.

Ce que je ne veux pas : une amélioration non demandée, une nouvelle dépendance, un renommage de l'existant, une réorganisation de fichiers, un changement de configuration, la suppression de code que tu juges inutile.

## 4. FORMAT DE SORTIE EXIGÉ

La liste des fichiers touchés vient en premier, avant le code et avant toute explication. La marche à suivre est numérotée et utilise les mots visibles à l'écran, pas les noms de fonctions. Si tu as dû faire un choix que la spécification ne tranchait pas, il figure dans une section « choix que j'ai dû faire », avec la question que j'aurais dû trancher.

Ta réponse est refusable si un fichier hors périmètre a été modifié, si la liste des fichiers est absente ou incomplète, ou si la marche à suivre exige de lire du code.

Ce que vous devez recevoir

  • La liste exacte des fichiers créés, modifiés et supprimés, placée avant tout le reste.
  • Une raison en une ligne pour chaque fichier modifié.
  • Une marche à suivre numérotée, utilisable sans lire le code.
  • Une section disant ce que l'agent s'est abstenu de faire, et pourquoi.
  • Les obstacles hors périmètre signalés et laissés intacts.
  • Une section des choix pris faute de spécification, avec la question à trancher.

Ce qui doit vous faire refuser

Ces motifs sont écrits comme des constats : « un fichier hors périmètre a été modifié » se vérifie, « le travail manque de rigueur » ne se vérifie pas.

  • Un fichier hors du périmètre autorisé a été modifié, quelle que soit la justification.
  • L'agent a livré plus que l'incrément demandé, en présentant le surplus comme un bonus.
  • Une dépendance a été ajoutée alors quelle était interdite pour cet incrément.
  • La liste des fichiers touchés est absente, partielle, ou placée après le code.
  • La marche à suivre exige de lire le code ou de lancer une commande que vous ne comprenez pas.
  • L'agent affirme que cela fonctionne sans fournir le moyen de le constater vous-même.
  • Du code existant a été supprimé au motif qu'il paraissait inutile.

Selon pour qui vous construisez

Pour moi.
Vous êtes seul à contrôler. Faites la marche à suivre vous-même avant de passer à l'incrément suivant, sans exception, même quand vous êtes pressé.
Pour mon employeur.
La liste des fichiers touchés est jointe à la demande de revue interne. Elle permet à un collègue de contrôler sans relire tout le projet.
Pour un client.
Chaque incrément livré est daté et consigné au journal de direction, avec sa preuve. C'est ce journal qui atteste de votre direction, pas le code lui-même.