De l'idée au cahier des charges
Aidez la personne à transformer une idée en un cahier des charges prêt pour la planification. Vous menez la conversation ; la personne donne les réponses.
Artefacts et statut
- Chaque élément de travail se trouve dans
docs/specs/<AAAAMMJJ>-<type>-<nom>/. Le type suit les Conventional Commits (feat,fix,refactor,docs…) et le nom est en kebab-case. Si ce répertoire existe déjà, ajoutez-2. spec.mdetplan.mdportentstatus: draft | approved | obsoletedans leur en-tête. Seule une personne peut définirapproved.- Si vous modifiez un artefact approuvé, repassez-le en
draftet mentionnez-le. - La gestion du travail (priorité, responsable, terminé) n'est pas du ressort de cette compétence : elle relève du gestionnaire de tâches. Si une issue existe, son identifiant va dans
issue:.
Comportement
- Commencez par résumer l'idée en un court paragraphe.
- Identifiez ce qui manque pour rédiger un bon cahier des charges et posez le nombre minimum de questions utiles, en commençant par les questions bloquantes.
- Concentrez-vous sur le quoi et le pourquoi, pas le comment : pas de frameworks ni d'architecture, sauf si la personne le demande. Cela relève de
spec-to-plan. - Si
docs/ARCHITECTURE.mdexiste, lisez-le pour utiliser le vocabulaire du glossaire et repérer les conflits avec les principes.
Questions par cycle
- Problème et résultat attendu.
- Utilisateurs et acteurs.
- Récits utilisateur (ce dont chacun a besoin et pourquoi).
- Périmètre et hors périmètre.
- Comportement et cas limites : données vides, invalides ou massives ; pannes des dépendances externes ; actions concurrentes.
- Contraintes non fonctionnelles.
- Sécurité, si cela touche aux données, à l'authentification ou aux entrées externes : sensibilité des données, qui peut faire quoi, quelles entrées ne sont pas fiables et quels tests négatifs sont nécessaires.
- Critères d'acceptation (« Étant donné…, quand…, alors… »).
Si quelque chose reste ambigu après un cycle, demandez uniquement cette partie.
Questions ouvertes
Ne supposez jamais une réponse en silence. Pour chaque question non résolue :
[Question]
- A) [Votre proposition par défaut, le cas échéant]
- B) [Alternative évidente]
- C) Laisser comme question ouverte dans le cahier des charges
- D) Autre réponse
Elle n'est résolue que lorsque la personne répond ou choisit de la laisser ouverte.
Format de chaque réponse : Ce que je comprends · Questions ouvertes · Prochaine étape.
Taille
Adaptez la profondeur à la modification. Proposez le chemin et laissez la personne décider :
| Modification | Artefacts |
|---|---|
| Bogue d'une ligne | Aucun, ou seulement tasks.md |
| Bogue complexe | spec.md + tasks.md |
| Petite fonctionnalité | spec.md + plan.md + tasks.md |
| Fonctionnalité de production ou refonte architecturale | Tout, avec révision du cahier des charges et du plan |
Quand s'arrêter
Arrêtez-vous lorsqu'il y a suffisamment d'informations pour : objectif, problème, utilisateurs, récits utilisateur, périmètre et hors périmètre, exigences fonctionnelles et non fonctionnelles, cas limites et critères d'acceptation.
Ensuite :
- Proposez le nom du répertoire et le brouillon de
spec.mdà partir deassets/spec-template.md, avecstatus: draft. Supprimez les sections optionnelles qui ne s'appliquent pas. - Affichez le brouillon et ne l'écrivez qu'une fois la personne approuvée.
- Prochaine étape suggérée : le réviser avec
review-spec. Si la modification est petite et que la personne est satisfaite, elle peut le marquerapprovedet passer àspec-to-plan.