Rediger une specification · rôle à tenir par l’agent : Analyste métier
Spécifier les états d'un objet et les passages autorisés
spe-regles-et-etats
Phase du chantier : 3. Spécification
Quand l’employer
À employer dès qu'un objet du métier change de statut au fil du temps : une commande, un dossier, une demande de congé. À ne pas employer pour un objet qui ne fait que naître et mourir.
Les 5 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.
- {OBJET}
- De quel objet du métier parle-t-on, et quel est son nom dans la bouche des utilisateurs ?
- Pourquoi ce trou existe. Un objet nommé autrement par le métier et par le logiciel produit deux vocabulaires, et toute conversation ultérieure passe par une traduction où se perdent les règles.
- Si vous ne savez pas répondre. Écoutez comment les gens l'appellent au téléphone. C'est ce mot-là qui doit apparaître dans le logiciel, pas celui que vous trouvez plus propre.
- {ETATS}
- Quels états cet objet peut-il prendre, en toutes lettres, y compris les états finaux ?
- Pourquoi ce trou existe. Une liste d'états ouverte laisse l'agent en inventer, et un état inventé par une machine ne correspond à aucune décision humaine.
- Si vous ne savez pas répondre. Demandez à l'utilisateur de trier une pile de cas réels. Les tas qu'il forme sont vos états.
- {TRANSITIONS_AUTORISEES}
- Quels passages d'un état à un autre sont permis, et qui a le droit de les déclencher ?
- Pourquoi ce trou existe. Sans liste fermée des passages, tout devient possible, y compris revenir en arrière après facturation.
- Si vous ne savez pas répondre. Demandez quel enchaînement provoquerait une réclamation d'un client ou d'un comptable. Ces enchaînements-là sont ceux à interdire nommément.
- {EFFETS_DE_BORD}
- Quel passage déclenche un envoi, un paiement, une écriture comptable ou une notification ?
- Pourquoi ce trou existe. Les effets irréversibles se décident au moment de la spécification, pas au moment où un agent décide d'envoyer un courriel de test à de vrais clients.
- Si vous ne savez pas répondre. Listez tout ce qui, une fois parti, ne se rattrape pas : argent, courriel, message, document signé. Chacun doit être rattaché à un passage précis.
- {TRACE_EXIGEE}
- Que doit-on pouvoir prouver plus tard sur les changements d'état, et pendant combien de temps ?
- Pourquoi ce trou existe. Une trace qu'on n'a pas exigée dès le départ ne se reconstitue pas : l'information n'a jamais été écrite.
- Si vous ne savez pas répondre. Imaginez la question d'un contrôleur six mois après : qui a validé cela et quand. Si vous ne pouvez pas y répondre, la trace manque.
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 analyste fonctionnel. Ton mandat est de figer le cycle de vie d'un objet du métier sous une forme qu'aucune interprétation ne peut élargir. Tu ne codes pas, tu ne choisis pas de base de données, tu ne proposes pas d'écran.
## 2. CONTEXTE FACTUEL
Objet : {OBJET}
États possibles : {ETATS}
Passages autorisés et qui les déclenche : {TRANSITIONS_AUTORISEES}
Effets irréversibles rattachés aux passages : {EFFETS_DE_BORD}
Trace à conserver : {TRACE_EXIGEE}
La liste des états est fermée. Tu n'en ajoutes aucun, même si un état intermédiaire te semblerait commode. Si tu penses qu'il en manque un, tu le dis en dernière section et tu t'arrêtes là.
## 3. DEMANDE BORNÉE
Produis la spécification du cycle de vie.
Ce que je veux :
1. le tableau des états : nom métier, ce que l'objet autorise dans cet état, ce qu'il interdit ;
2. le tableau des passages : état de départ, état d'arrivée, qui déclenche, condition à remplir ;
3. la liste explicite des passages interdits, avec le message affiché à qui tente de les faire ;
4. pour chaque effet irréversible : le passage qui le déclenche, et ce qui se produit si l'effet échoue alors que le passage a eu lieu ;
5. la trace à écrire à chaque passage : quelles informations, où, pour combien de temps ;
6. les manques que tu as constatés, sans les combler toi-même.
Ce que je ne veux pas : aucun état nouveau, aucun schéma de table, aucune technologie, aucune interface.
## 4. FORMAT DE SORTIE EXIGÉ
Deux tableaux et quatre listes, dans l'ordre ci-dessus. Le tableau des passages est exhaustif : tout couple d'états non listé est réputé interdit, et tu l'écris en toutes lettres sous le tableau. Les messages sont écrits en français, entre guillemets, dans leur formulation finale.
Ta réponse est refusable si elle introduit un état absent de ma liste, si un effet irréversible n'a pas de comportement défini en cas d'échec, ou si le tableau des passages laisse un couple d'états dans le flou.Ce que vous devez recevoir
- Un tableau des états indiquant pour chacun ce qui est autorisé et ce qui est interdit.
- Un tableau exhaustif des passages : départ, arrivée, déclencheur, condition.
- La mention écrite que tout couple d'états non listé est interdit.
- Pour chaque effet irréversible, le comportement prévu si leffet échoue après le passage.
- La trace à écrire à chaque passage, avec sa durée de conservation.
- Les manques constatés, laissés ouverts au lieu d'être comblés.
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 état apparaît qui ne figure pas dans la liste fournie.
- Le tableau des passages laisse un couple d'états sans verdict, ni autorisé ni interdit.
- Un effet irréversible est rattaché à un passage sans comportement prévu en cas d'échec.
- Un retour en arrière est autorisé après un effet irréversible, sans compensation décrite.
- La trace est décrite comme « journalisation » sans dire quelles informations sont écrites.
- Un manque a été comblé par l'agent au lieu d'être signalé.
Selon pour qui vous construisez
- Pour mon employeur.
- Les passages qui déclenchent un paiement ou une écriture comptable se font valider par la personne responsable des comptes, avant construction.
- Pour un client.
- Le tableau des passages entre dans la recette : c'est le document sur lequel un litige se tranchera. Faites-le annexer.