Conception avant construction
Vue d'ensemble
Le travail progresse à travers cinq étapes, dans l'ordre : Brainstorm → Spec → Plan → Execute → Record. Aucune implémentation ne commence avant qu'une conception ne soit articulée et approuvée. La tâche la plus simple est celle où les hypothèses non examinées coûtent le plus cher.
Violer la lettre de cette règle, c'est en violer l'esprit. « Je vais concevoir en codant » n'est pas de la conception.
Les cinq étapes
- Brainstorm. Explorer l'intention, les contraintes, les critères de succès. Poser une question à la fois. Proposer 2–3 approches avec leurs compromis et une recommandation. Converger vers une conception et obtenir une approbation explicite. Aucun code ici.
- Spec. Rédiger la conception approuvée dans un document daté. Le spec est le contrat de ce qui sera construit.
- Plan. Décomposer le spec en un plan d'implémentation ordonné et vérifiable avant de toucher au code.
- Execute. Implémenter selon le plan, avec des points de contrôle de révision.
- Record. Distiller ce qui a été construit et pourquoi dans un enregistrement de décision (voir
recording-decisions).
Décomposer les efforts conséquents. Si une demande concerne plusieurs sous-systèmes indépendants, s'arrêter et décomposer avant d'affiner les détails. Chaque sous-projet exécute son propre cycle, construit dans l'ordre des dépendances.
Quand ne PAS l'utiliser
Les modifications véritablement triviales et réversibles (une faute de frappe, une ligne de log, une valeur de configuration) passent directement à l'étape Execute. Le test : une hypothèse erronée coûterait-elle plus que l'étape de conception ? Si oui, concevoir d'abord.
Rationalisations courantes
| Excuse | Réalité |
|---|---|
| « C'est trop simple pour avoir besoin d'une conception » | Les tâches simples cachent des hypothèses. Quelques phrases de conception coûtent peu ; une réécriture, non. |
| « Je vais concevoir en avançant » | Le code écrit avant que la conception soit figée est du code à réécrire. La conception est un acte séparé. |
| « L'utilisateur m'a dit quoi construire, C'EST la conception » | Une demande énonce quoi, pas comment. Le comment est la conception. |
| « Explorer la base de code d'abord me révélera l'approche » | L'exploration informe la conception ; elle ne remplace pas l'approbation de celle-ci. |
| « On est pressés » | La précipitation est exactement le moment où une conception sautée produit du travail jetable. |
Signaux d'alarme — ARRÊT
- Ouvrir l'éditeur avant qu'une conception approuvée existe
- « Laisse-moi juste prototyper rapidement » (un prototype sans spec est un périmètre non vérifié)
- Commencer une modification multi-fichiers sans plan
- Considérer la demande en une ligne de l'utilisateur comme un spec fini
Tous ces signaux signifient : arrêter, concevoir, obtenir l'approbation, puis construire.
Raisonnement complet : Article I de la constitution, regroupé dans engineering-constitution/references/engineering-constitution.md.