4 min lecture • Guide 758 of 877
Spécifications Techniques pour le Développement
De bonnes spécifications préviennent le retravail. GitScrum aide les équipes à créer et suivre les specs techniques qui guident l'implémentation efficacement.
Quand Écrire des Specs
Arbre de Décision Spec
AVEZ-VOUS BESOIN D'UNE SPEC TECHNIQUE?
┌─────────────────────────────────────────────────────────────┐
│ │
│ Ce travail est-il significatif? │
│ (> 1 semaine de travail, plusieurs composants, risqué) │
│ │
│ OUI NON │
│ ↓ ↓ │
│ Coordination inter-équipes Est-ce bien compris? │
│ nécessaire? │
│ OUI → Description tâche │
│ OUI → SPEC COMPLÈTE NON → Mini-spec ou RFC │
│ NON → Est-ce architecturalement │
│ significatif? │
│ │
│ OUI → DESIGN DOC / ADR │
│ NON → MINI-SPEC │
│ │
│ ═══════════════════════════════════════════════════════════ │
│ │
│ SPEC COMPLÈTE: Nouvelles features, redesigns, intégrations│
│ MINI-SPEC: Changements plus petits nécessitant clarté │
│ ADR: Décisions d'architecture │
│ DESC TÂCHE: Travail petit, bien compris │
│ │
│ EN CAS DE DOUTE: │
│ Si vous devriez l'expliquer à quelqu'un pendant > 5 min, │
│ écrivez-le. │
└─────────────────────────────────────────────────────────────┘
Structure de Spec
Template Spécification Technique
TEMPLATE SPÉCIFICATION TECHNIQUE:
┌─────────────────────────────────────────────────────────────┐
│ SPEC: Fonctionnalité Export Utilisateur │
├─────────────────────────────────────────────────────────────┤
│ │
│ Auteur: @alex │
│ Statut: Brouillon → Revue → Approuvé │
│ Date: 2024-01-15 │
│ Tâche Liée: PROJ-123 │
│ │
│ ═══════════════════════════════════════════════════════════ │
│ │
│ 1. VUE D'ENSEMBLE │
│ ───────────────── │
│ Résumé bref de ce que fait cette feature et pourquoi. │
│ │
│ 2. CONTEXTE │
│ ────────── │
│ Contexte: Pourquoi construisons-nous ça? │
│ État actuel: Comment ça marche aujourd'hui? │
│ Source exigences: Lien vers exigences produit │
│ │
│ 3. OBJECTIFS & NON-OBJECTIFS │
│ ─────────────────────────── │
│ Objectifs: │
│ • Ce que nous résolvons │
│ │
│ Non-objectifs: │
│ • Ce que nous ne résolvons explicitement PAS │
│ • Considérations futures │
│ │
│ 4. SOLUTION PROPOSÉE │
│ ──────────────────── │
│ Approche haut niveau et architecture │
│ │
│ 5. DESIGN DÉTAILLÉ │
│ ────────────────── │
│ Changements API, modèles de données, interactions │
│ │
│ 6. CAS LIMITES │
│ ───────────── │
│ Que se passe-t-il quand...? │
│ │
│ 7. STRATÉGIE DE TEST │
│ ──────────────────── │
│ Comment cela sera-t-il testé? │
│ │
│ 8. PLAN DE ROLLOUT │
│ ────────────────── │
│ Comment cela sera-t-il déployé et surveillé? │
│ │
│ 9. QUESTIONS OUVERTES │
│ ───────────────────── │
│ Décisions encore nécessaires │
│ │
│ 10. ANNEXE │
│ ────────── │
│ Diagrammes, exemples API, références │
└─────────────────────────────────────────────────────────────┘