Section 11.5.4 : Sprint planning et découpage du travail
🎯 Objectif pédagogique
Découper un projet en sprints actionnables avec des tâches estimées, des dépendances identifiées, et des livrables clairs. Vous serez capable de gérer votre temps et votre charge de travail comme un développeur professionnel.
Du backlog au calendrier
Marc a son cadrage et son architecture. Maintenant il doit répondre à la question cruciale : dans quel ordre faire quoi ? Le sprint planning transforme un backlog intimidant en tâches quotidiennes gérables.
Plan de sprints détaillé
╔═══════════════════════════════════════════════════════════╗
║ PLAN DE SPRINTS — CareerBot Pro ║
╠═══════════════════════════════════════════════════════════╣
║ ║
║ SPRINT 1 : Fondations (Jours 1-3, ~10h) ║
║ ───────────────────────────────────────── ║
║ □ Jour 1 (3h) ║
║ ├── Setup projet : structure, .env, requirements ║
║ ├── config.py : system prompt, constantes ║
║ └── guardrails.py : PII filter, injection detector ║
║ ║
║ □ Jour 2 (4h) ║
║ ├── knowledge.py : ChromaDB setup + indexation ║
║ ├── Préparer 20 documents de connaissances ║
║ └── Test : recherche sémantique fonctionne ║
║ ║
║ □ Jour 3 (3h) ║
║ ├── agent.py : agent RAG basique (sans tools) ║
║ ├── Test : conversation terminal fonctionne ║
║ └── test_guardrails.py : 5 tests unitaires ║
║ ║
║ 🏁 Livrable Sprint 1 : Agent conversationnel terminal ║
║ ───────────────────────────────────────────────────── ║
║ ║
║ SPRINT 2 : Intelligence (Jours 4-6, ~10h) ║
║ ────────────────────────────────────────── ║
║ □ Jour 4 (3h) ║
║ ├── tools.py : 3 fonctions + définitions OpenAI ║
║ ├── Intégrer function calling dans agent.py ║
║ └── Test : l'agent utilise les bons outils ║
║ ║
║ □ Jour 5 (4h) ║
║ ├── memory.py : résumé progressif + historique ║
║ ├── Intégrer la mémoire dans agent.py ║
║ └── Test : conversation 20+ messages sans crash ║
║ ║
║ □ Jour 6 (3h) ║
║ ├── test_scenarios.py : 5 scénarios de conversation ║
║ ├── test_memory.py : tests de persistance ║
║ └── Optimiser le system prompt selon les tests ║
║ ║
║ 🏁 Livrable Sprint 2 : Agent intelligent avec mémoire ║
║ ───────────────────────────────────────────────────── ║
║ ║
║ SPRINT 3 : Interface + Deploy (Jours 7-9, ~10h) ║
║ ──────────────────────────────────────────── ║
║ □ Jour 7 (4h) ║
║ ├── app.py : interface Streamlit complète ║
║ ├── Chat + streaming + sidebar + boutons ║
║ └── Intégrer l'agent dans l'interface ║
║ ║
║ □ Jour 8 (3h) ║
║ ├── Disclaimer IA, stats, consentement ║
║ ├── Tests manuels (10 scénarios via l'interface) ║
║ └── Corriger les bugs UX ║
║ ║
║ □ Jour 9 (3h) ║
║ ├── Push sur GitHub (README, .gitignore) ║
║ ├── Déployer sur Streamlit Cloud ║
║ └── Tester l'app en production ║
║ ║
║ 🏁 Livrable Sprint 3 : App déployée et publique ║
╚═══════════════════════════════════════════════════════════╝
Estimation du temps — La technique des T-shirts
Technique d'estimation "T-shirt sizes" :
XS = 30 min (ex: créer le .gitignore)
S = 1h (ex: guardrails basiques)
M = 2-3h (ex: knowledge.py complet)
L = 4-5h (ex: interface Streamlit)
XL = 1 jour+ (ex: agent RAG complet)
RÈGLE D'OR : Multipliez votre estimation par 1.5
Si vous pensez "2 heures", prévoyez 3 heures.
Les bugs, la doc, les tests prennent toujours plus que prévu.
Si une tâche est XL, DÉCOUPEZ-LA en tasks S/M :
"Faire l'interface Streamlit" (XL) →
├── Layout basique + header (S)
├── Chat input + affichage messages (M)
├── Sidebar config (S)
├── Streaming intégration (M)
└── Boutons action + Stats (S)
Gestion des dépendances
Certaines tâches dépendent d'autres :
config.py ──┬──→ guardrails.py ──→ agent.py ──→ app.py
│ ↑
knowledge.py ┘ tools.py ──┘
memory.py ─┘
ORDRE OBLIGATOIRE :
1. config.py (pas de dépendance)
2. guardrails.py (dépend de config)
3. knowledge.py (dépend de config)
4. tools.py (dépend de knowledge)
5. memory.py (pas de dépendance externe)
6. agent.py (dépend de TOUT)
7. app.py (dépend de agent.py)
PARALLÉLISABLE :
- guardrails.py ET knowledge.py (indépendants)
- tools.py ET memory.py (indépendants)
🏋️ Exercice pratique (20 minutes)
- →Découpez votre projet en 3 sprints de 3 jours
- →Estimez chaque tâche en "T-shirt sizes"
- →Identifiez les dépendances entre tâches
- →Créez votre premier sprint backlog détaillé
Pourquoi multiplier son estimation de temps par 1.5 ?