Gestion de projet

Scrum
& Agile

Manifeste Agile, framework Scrum, User Stories, estimation, Kanban — de la théorie à la pratique.

Le Manifeste Agile (2001)

Le Manifeste Agile, signé par 17 praticiens en 2001, pose 4 valeurs fondamentales. Il ne rejette pas les éléments de droite — il accorde plus de valeur à ceux de gauche.

On valorise davantage…
Les individus et leurs interactions
Des logiciels opérationnels
La collaboration avec les clients
L'adaptation au changement
…que…
…plutôt que
Les processus et les outils
Une documentation exhaustive
La négociation contractuelle
Le suivi d'un plan établi
ℹ️

12 principes derrière le manifeste (sélection) :

1
Livrer fréquemment un logiciel fonctionnel — de quelques semaines à quelques mois.
2
Accueillir les changements de besoins, même tardivement — c'est un avantage compétitif.
3
Les équipes s'auto-organisent — les meilleurs architectures et conceptions émergent d'équipes autonomes.
4
À intervalles réguliers, l'équipe réfléchit à comment devenir plus efficace et ajuste son comportement.
💡

Agile ≠ Scrum. Agile est une philosophie (le manifeste + 12 principes). Scrum, Kanban, SAFe, XP, Lean sont des frameworks qui implémentent les valeurs Agile. Scrum est aujourd'hui le plus répandu (~80% des équipes Agile).

⚠️

"Agile washing" : adopter le vocabulaire Agile sans en appliquer les valeurs. Symptômes : sprints avec périmètre figé, réunions quotidiennes pour faire du reporting ascendant, rétrospectives sans actions concrètes. Agile ne fonctionne que si la culture suit.

Agile vs Cascade (Waterfall)

🌊 Cascade⚡ Agile
PlanificationComplète en avance, figéeContinue, adaptative
LivraisonsUne seule à la finFréquentes (chaque sprint)
ChangementsCoûteux, résistésBienvenus, attendus
ClientImpliqué au début et à la finImpliqué en permanence
RisquesDétectés tardivementDétectés tôt, sprint après sprint
DocumentationExhaustive, précède le codeJuste suffisante (YAGNI)
ÉquipeSpécialisée, séquenciellePluridisciplinaire, collaborative
Idéal pourExigences stables, projets régulés (médical, aéro)Innovation, produits numériques, besoins évolutifs
Cycle cascade vs cycle Scrum
── WATERFALL ──────────────────────────────
  Besoins → Design → Dev → Test → Déploiement
  |←──────────────── 6-18 mois ────────────→|
  Feedback client : seulement à la fin !
  Si les besoins changent → très coûteux

── SCRUM ───────────────────────────────────
  Sprint 1 (2 sem) : besoins → dev → test → livraison
  Sprint 2 (2 sem) : besoins → dev → test → livraison
  Sprint 3 (2 sem) : besoins → dev → test → livraison
  ...
  Feedback continu, adaptation à chaque sprint
  Le client voit quelque chose qui fonctionne
  dès la fin du sprint 1 !

── ANALOGIE ────────────────────────────────
  Cascade : construire une maison selon plan
            → on découvre les problèmes à la fin
  Agile   : sculpter en montrant régulièrement
            → on ajuste avant que ce soit trop tard

Qu'est-ce que Scrum ?

Scrum est un framework léger pour développer des produits complexes. Il structure le travail en sprints de durée fixe, avec des rôles, des artefacts et des cérémonies précisément définis.

📋
Product Backlog
Liste priorisée de tout ce qu'on veut construire
🗓️
Sprint Planning
Sélectionner et planifier le travail du sprint
Sprint (1-4 sem.)
Développement + Daily Scrum chaque jour
🎯
Sprint Review
Démonstration au client, collecte de feedback
🔄
Rétrospective
Améliorer les processus de l'équipe
📦
Incrément
Produit fonctionnel livrable à la fin de chaque sprint
ℹ️

Les 3 piliers empiriques de Scrum : Transparence — tout le monde voit l'état réel du projet (backlog visible, impediments connus). Inspection — on vérifie régulièrement la progression (daily, review, rétro). Adaptation — on ajuste dès qu'on s'écarte de l'objectif.

Les 3 rôles Scrum

RôleResponsabilitésCe qu'il n'est PAS
🎯 Product Owner Maximalise la valeur du produit.
Gère et priorise le Product Backlog.
Représente les parties prenantes.
Accepte ou rejette le travail livré.
Seule personne à décider quoi construire.
Chef de projet qui distribue les tâches. Ne peut pas déléguer ses décisions de priorisation.
🛡️ Scrum Master Garant du framework Scrum.
Facilite les cérémonies.
Élimine les obstacles (impediments).
Coach l'équipe et l'organisation.
Servant-leader, pas un manager.
Chef de projet, secrétaire, ni manager ni technicien. N'assigne pas les tâches.
💻 Developers Créent l'incrément à chaque sprint.
Auto-organisent leur travail.
Estiment les user stories.
Maintiennent la qualité technique.
Pluridisciplinaires : dev, test, design…
Uniquement des développeurs — l'équipe inclut tous les profils nécessaires (QA, UX, ops…).
💡

Taille de l'équipe : la Scrum Team (PO + SM + Developers) fait idéalement 5 à 9 personnes. En dessous de 5 → manque de compétences. Au dessus de 9 → trop de coordination. Amazon appelle ça la règle des "deux pizzas" : si une équipe ne peut pas être nourrie avec deux pizzas, elle est trop grande.

Qui fait quoi — questions fréquentes
"Qui priorise le backlog ?"
→ Le Product Owner (PO) seul.
  L'équipe peut conseiller, pas décider.

"Qui assigne les tâches ?"
→ Personne ! L'équipe s'auto-organise.
  Chaque développeur choisit son travail.

"Qui décide de la durée du sprint ?"
→ L'équipe Scrum — généralement 2 semaines.
  La durée reste fixe tout au long du projet.

"Qui peut annuler un sprint ?"
→ Uniquement le Product Owner.
  Rare — seulement si l'objectif sprint
  devient obsolète.

"Qui gère les bugs en cours de sprint ?"
→ L'équipe — elle peut les ajouter au
  sprint backlog si le PO l'approuve.

Les 3 artefacts

Product Backlog
# Liste ordonnée de tout ce qui est souhaité
# dans le produit. Propriété du PO.

Contenu typique :
  → User Stories  (nouvelles fonctionnalités)
  → Bugs          (corrections)
  → Tâches tech   (refactoring, dette technique)
  → Spikes        (recherche, exploration)

Propriétés :
  → Ordonné par valeur / priorité (haut = urgent + important)
  → Estimé (au moins les items en haut)
  → Vivant : évolue tout au long du projet
  → Émergent : le backlog n'est JAMAIS complet

# Exemple de backlog ordonné :
 1. [US-12] Connexion OAuth Google          [8 pts]
 2. [US-07] Recherche produit avec filtres  [5 pts]
 3. [US-18] Notification email commande     [3 pts]
 4. [BUG-03] Fix crash panier vide          [2 pts]
 5. [US-22] Export CSV des commandes        [5 pts]
    ...
Sprint Backlog & Incrément
## SPRINT BACKLOG
# Sous-ensemble du Product Backlog sélectionné
# pour le sprint en cours. Propriété de l'équipe.

Contenu :
  → User Stories sélectionnées au Sprint Planning
  → Tâches techniques pour les réaliser
  → Objectif du sprint (Sprint Goal)

Règles :
  → Seule l'équipe peut modifier le Sprint Backlog
  → Le PO ne peut pas ajouter du travail en cours de sprint
  → L'équipe peut négocier le scope avec le PO

## INCRÉMENT
# Somme de tout le travail accompli + incréments
# précédents. DOIT être fonctionnel et potentiellement
# livrable à chaque fin de sprint.

Définition : un incrément est "Done" seulement si
  il respecte la Définition of Done (DoD)
  → pas juste "développé", mais testé, intégré,
    documenté selon les standards de l'équipe.

Les 4 cérémonies (événements)

CérémonieParticipantsDurée maxButOutput
Sprint Planning Toute la Scrum Team 8h / sprint 4 sem.
(proportionnel)
Sélectionner les items du backlog et créer le Sprint Backlog. Définir le Sprint Goal. Sprint Backlog + Sprint Goal
Daily Scrum Developers (SM optionnel) 15 min exactement Synchroniser l'équipe, identifier les blocages, adapter le plan du jour. Plan mis à jour, impediments identifiés
Sprint Review Scrum Team + parties prenantes 4h / sprint 4 sem. Inspecter l'incrément et adapter le Product Backlog selon le feedback. Backlog mis à jour, feedback collecté
Sprint Retrospective Toute la Scrum Team 3h / sprint 4 sem. Améliorer les processus, les relations et les outils de l'équipe. Plan d'amélioration avec actions concrètes
Daily Scrum — les 3 questions (ancienne forme)
# Format classique (toujours utile comme guide)

1. "Qu'ai-je fait hier qui a aidé l'équipe
    à atteindre le Sprint Goal ?"

2. "Que vais-je faire aujourd'hui pour aider
    l'équipe à atteindre le Sprint Goal ?"

3. "Y a-t-il des obstacles qui m'empêchent,
    moi ou l'équipe, d'atteindre le Sprint Goal ?"

# À ÉVITER dans le Daily :
→ Rapport de statut au manager/SM
→ Discussions techniques longues (→ after-meeting)
→ Résolution de problèmes en séance
→ Dépasser 15 minutes

# Format moderne (Guide Scrum 2020) :
→ Librement structuré par l'équipe
→ L'objectif reste : inspecter la progression
  vers le Sprint Goal et adapter le plan
Rétrospective — formats populaires
## Starfish (5 colonnes)
  Stop        | ce qui nuit à l'équipe
  Less        | à réduire mais pas arrêter
  Keep        | ce qui fonctionne bien
  More        | à amplifier
  Start       | nouvelles idées à essayer

## What went well / What didn't / Actions
  ✓ Ce qui s'est bien passé
  ✗ Ce qui n'a pas bien fonctionné
  → Actions concrètes pour le prochain sprint

## 4L (4 Ls)
  Liked       | ce qu'on a aimé
  Learned     | ce qu'on a appris
  Lacked      | ce qui manquait
  Longed for  | ce qu'on aurait voulu avoir

# Règle d'or :
→ Chaque rétro produit AU MOINS 1 action concrète,
  assignée à quelqu'un, avec une date.
→ Sans action = réunion inutile.

Le sprint — cœur de Scrum

Règles du sprint
# Durée : 1 à 4 semaines (2 semaines = standard)
→ Fixe et consistante sur tous les sprints
→ Un sprint = un conteneur temporel (time-box)

# Pendant le sprint :
→ Aucun changement ne doit mettre en danger le Sprint Goal
→ La qualité ne diminue pas
→ Le Product Backlog est affiné si besoin
→ Le scope peut être négocié avec le PO
   (mais pas le Sprint Goal ni la durée)

# Sprint Goal :
→ Un objectif unique et motivant pour le sprint
→ Donne de la flexibilité à l'équipe sur le "comment"
→ Rend le sprint cohérent (pas juste une liste de tâches)

# Exemple Sprint Goal :
   ✗ Mauvais : "Faire les US-12, US-07 et BUG-03"
   ✓ Bon     : "Permettre aux utilisateurs de
                 trouver et acheter un produit
                 sans aide humaine"
Calendrier type — sprint 2 semaines
Jour  1 (Lundi)   : Sprint Planning (4h)
                    → Sélection des US
                    → Découpage en tâches
                    → Estimation si nécessaire

Jours 1-9          : Développement
                    → Daily Scrum (9h, 15 min)
                    → Dev, tests, intégration continue
                    → Backlog refinement (jour 4-5, 2h)

Jour  9 (Jeudi)    : Code freeze
                    → Plus de nouvelle fonctionnalité
                    → Stabilisation, tests de régression

Jour 10 (Vendredi) : Sprint Review (2h)
                    → Démo au client / PO / stakeholders
                    → Feedback, mise à jour du backlog

Jour 10 (Vendredi) : Sprint Retrospective (1h30)
                    → Quoi améliorer
                    → Actions pour le sprint suivant

Format & structure

Une User Story (histoire utilisateur) décrit une fonctionnalité du point de vue de l'utilisateur final. Elle se concentre sur la valeur plutôt que sur la solution technique.

Format standard
En tant que [QUI — le persona/rôle],
je veux [QUOI — l'action ou la fonctionnalité],
afin de [POURQUOI — la valeur ou le bénéfice].

───────────────────────────────────────────

En tant que client connecté,
je veux pouvoir sauvegarder des articles dans
         une liste de favoris,
afin de les retrouver facilement lors de ma
         prochaine visite.

───────────────────────────────────────────

En tant que administrateur,
je veux exporter la liste des commandes du mois
         au format CSV,
afin de l'importer dans notre logiciel comptable
         sans ressaisie manuelle.

───────────────────────────────────────────
# Le POURQUOI est crucial :
# → Explique la valeur → guide les décisions
# → Si on ne peut pas justifier le pourquoi
#   → remettre en question la fonctionnalité
US-042 🛒 E-commerce 5 pts
En tant que client connecté, je veux ajouter des articles à une liste de favoris, afin de les retrouver facilement sans chercher à nouveau.
Critères d'acceptation
  • Un bouton "♡ Ajouter aux favoris" est visible sur chaque fiche produit
  • L'action est disponible uniquement pour les utilisateurs connectés (sinon → invitation à se connecter)
  • Un article ne peut pas être ajouté deux fois (idempotent)
  • La liste des favoris est accessible depuis le profil utilisateur
  • Supprimer un favori retire l'article immédiatement sans rechargement

Critères d'acceptation

Les critères d'acceptation définissent les conditions précises qui permettent de dire qu'une User Story est "Done". Ils réduisent l'ambiguïté et servent de base aux tests.

Format Given / When / Then (BDD)
# Behavior-Driven Development — très précis,
# facilement automatisable en tests

Given [contexte initial / précondition]
When  [action déclenchante]
Then  [résultat attendu / postcondition]

───────────────────────────────────────────
US : connexion utilisateur

Given un utilisateur avec email "alice@ex.com"
      et mot de passe "Secret123" existant
When  il soumet le formulaire de connexion
Then  il est redirigé vers son tableau de bord
      et un token JWT valide est créé

Given un utilisateur avec un mauvais mot de passe
When  il soumet le formulaire de connexion
Then  un message "Identifiants incorrects" s'affiche
      et aucun token n'est créé
      et le formulaire n'indique pas lequel
      des deux champs est incorrect (sécurité)

Given 5 tentatives échouées consécutives
When  l'utilisateur tente une 6ème connexion
Then  son compte est bloqué 15 minutes
Format liste à cocher — plus simple
# Plus rapide à écrire, moins formel

US : Recherche de produits

☐ La recherche s'effectue sur le nom, la description
  et les tags du produit
☐ Les résultats sont triés par pertinence (défaut)
  puis par prix ou popularité (options)
☐ La recherche avec 0 résultat affiche un message
  "Aucun résultat pour X" et suggère des alternatives
☐ La recherche est insensible à la casse
  et aux accents
☐ Temps de réponse < 300ms pour 95% des requêtes
☐ La pagination affiche max 20 résultats par page

# Caractéristiques de bons critères :
✓ Testables (on peut dire oui ou non)
✓ Indépendants (pas de "et puis aussi")
✓ Négatifs inclus (que se passe-t-il si ça échoue)
✓ Ni trop vagues ("intuitif"), ni trop techniques
✗ "L'interface doit être belle" → non testable
✗ "Utiliser Redis pour le cache" → trop technique

Critères INVEST — une bonne User Story

Le mnémotechnique INVEST résume les 6 propriétés d'une bonne User Story, défini par Bill Wake.

I — Indépendante

Une US ne devrait pas dépendre d'une autre US. Les dépendances créent des problèmes de planification.

Si deux US sont fortement liées → les fusionner ou recouper les responsabilités.

N — Négociable

Une US n'est pas un contrat figé. C'est une invitation à la conversation entre PO et équipe.

Les détails se précisent juste avant le sprint, pas des mois à l'avance.

V — Valuable (Valeur)

Chaque US doit apporter de la valeur à l'utilisateur final ou au business.

Si on ne peut pas justifier le "afin de" → remettre en question la fonctionnalité.

E — Estimable

L'équipe doit pouvoir estimer la taille de l'US. Si elle ne peut pas, c'est qu'elle est trop vague ou trop grande.

Décomposer ou clarifier avant de prioriser.

S — Small (Petite)

Une US doit être réalisable en un sprint, idéalement en quelques jours.

Une US trop grande est un Epic → la découper en US plus petites.

T — Testable

On doit pouvoir écrire des tests qui vérifient que la story est réalisée. Sans test → pas de critère de Done.

Les critères d'acceptation rendent une US testable.

Epics, thèmes & hiérarchie

Hiérarchie — du grand au petit
Thème / Initiative
  └── Fonctionnalité transversale de haut niveau
      Ex : "Expérience d'achat mobile"

  Epic
    └── Grande US trop volumineuse pour un sprint
        Ex : "Panier d'achat complet"
        → se découpe en plusieurs User Stories

      User Story
        └── Fonctionnalité livrable en 1 sprint
            Ex : "Ajouter un article au panier"

          Tâche (Task)
            └── Unité de travail technique ~1/2 jour
                Ex : "Créer API POST /cart/items"
                     "Écrire les tests unitaires"
                     "Implémenter UI panier React"

# Règle de découpage d'un Epic en US :
# Chaque US doit être :
# 1. Livrable de façon indépendante
# 2. Apporter de la valeur seule
# 3. Compréhensible par le client
Découper un Epic — exemples
Epic : "Système d'authentification"

→ US-01 : Inscription avec email/mot de passe   [5 pts]
→ US-02 : Connexion email/mot de passe           [3 pts]
→ US-03 : Déconnexion                            [1 pt]
→ US-04 : Mot de passe oublié / réinitialisation [5 pts]
→ US-05 : Connexion OAuth Google                 [8 pts]
→ US-06 : Authentification à deux facteurs (2FA) [13 pts]
→ US-07 : Gestion du profil utilisateur          [5 pts]

# Techniques de découpage :
Par étapes du workflow      (créer, lire, modifier, supprimer)
Par type d'utilisateur      (visiteur, connecté, admin)
Par variantes               (cas happy path d'abord)
Par règles métier           (une règle = une US)
Par plateforme              (web d'abord, mobile ensuite)
Par performance             (fonctionnel d'abord, rapide ensuite)

Exemples concrets — bon vs mauvais

✗ Mauvaise User StoryProblème✓ Bonne User Story
"Le système doit utiliser PostgreSQL avec des index B-tree sur la table users" Trop technique, pas de valeur utilisateur, pas de "qui" ni "pourquoi" "En tant qu'admin, je veux que la liste des utilisateurs se charge en moins d'une seconde afin de traiter les demandes sans attente"
"Améliorer les performances" Trop vague, pas testable, pas de critère de Done possible "En tant qu'utilisateur mobile, je veux que la page d'accueil se charge en moins de 3 secondes sur 3G afin de ne pas abandonner le site"
"En tant qu'utilisateur, je veux un bon site web" Sans valeur concrète, "bon" n'est pas testable, trop général "En tant que visiteur, je veux filtrer les produits par catégorie afin de trouver rapidement ce qui m'intéresse sans parcourir tout le catalogue"
"Gérer l'authentification, le profil, les favoris, le panier et le paiement" Trop grande (Epic), impossible à réaliser en un sprint Découper en US distinctes : US-01 (connexion), US-02 (profil), US-03 (favoris)…
"En tant que développeur, je veux refactoriser le module Auth" Un développeur n'est pas l'utilisateur final — tâche technique déguisée "En tant qu'admin, je veux ajouter un utilisateur depuis une API REST afin d'intégrer notre système RH" — ou créer une tâche technique directement dans le backlog

Story points — estimer la complexité

Qu'est-ce qu'un story point ?
# Un story point mesure l'EFFORT RELATIF,
# pas le temps absolu.

Il combine :
  → Complexité technique (algorithme simple vs complexe)
  → Quantité de travail (petit vs grand)
  → Incertitude / risque (connu vs inconnu)

# Pourquoi pas des heures ?
  → Les heures varient selon les personnes
  → Les estimations en heures sont toujours fausses
  → Les story points restent stables dans le temps
  → "Cette US est 2× plus complexe que celle-là"
     est plus fiable que "ça prend 4 heures"

# Séquence de Fibonacci modifiée (standard) :
  0, 1/2, 1, 2, 3, 5, 8, 13, 21, 40, 100, ?

# Signification pratique (exemple équipe) :
  1 pt  = tâche triviale (changer un texte)
  2 pts = simple et bien connu
  3 pts = standard, quelques inconnues
  5 pts = non trivial, efforts notables
  8 pts = complexe, grande incertitude
 13 pts = très complexe → à décomposer
 21+ pts = trop grand → Epic, décomposer !
💡

Pourquoi Fibonacci ? Les intervalles croissants reflètent l'incertitude naturelle : on est précis sur les petites choses, flou sur les grandes. Distinguer 20 de 21 points n'a aucun sens — mais distinguer 13 de 21 en a.

Techniques de référence (Anchoring)
# Établir des US de référence au début du projet

1 pt  → "Ajouter un lien dans le footer"
2 pts → "Corriger le style du bouton de connexion"
3 pts → "Afficher la liste des commandes d'un user"
5 pts → "Ajouter la recherche full-text sur les produits"
8 pts → "Intégrer le paiement Stripe complet"

# Pour chaque nouvelle US, l'équipe compare :
"Cette US est-elle plus proche de la recherche (5)
ou du paiement Stripe (8) ?"
→ Consensus : 5 ou 8

# La calibration s'affine sprint après sprint

Planning Poker

Le Planning Poker est une technique d'estimation par consensus. Chaque membre de l'équipe vote simultanément — les divergences déclenchent une discussion qui révèle des informations cachées.

Cartes de planning poker

0
½
1
2
3
5
8
13
21
40
?
ℹ️

= trop grand pour estimer (Epic). ? = besoin de plus d'informations avant d'estimer. 0 = déjà fait ou effort négligeable.

Déroulement d'une session
1. Le PO lit et explique la User Story
   → L'équipe peut poser des questions de clarification

2. Chaque membre choisit sa carte en secret
   → Pas de discussion avant le vote
   → Évite l'effet d'ancrage (suivre le premier)

3. Révélation simultanée
   → Tout le monde retourne sa carte en même temps

4. Si consensus → l'estimation est retenue
   Ex : 3, 3, 3, 5, 3 → probablement 3

5. En cas de divergence → discussion
   Ex : 3, 13, 5, 8, 3 → grosse divergence !
   → Le plus bas explique pourquoi (c'est simple)
   → Le plus haut explique ses inquiétudes
   → Nouvelle information découverte → revote

6. Converger en 2-3 rounds maximum
   → Si toujours pas d'accord → prendre le plus haut
     ou décomposer la story

# Avantage clé : la divergence = information
# "Pourquoi tu votes 13 ?" → "parce que ça nécessite
# une migration de BDD que vous n'avez pas prévue"
# → toute l'équipe découvre un risque !

Vélocité & burndown

Vélocité — sprints 1 à 6

S1
S2
S3
S4
S5
S6
Engagé Livré
Vélocité — calcul et utilisation
# Vélocité = story points livrés par sprint
Sprint 1 : 28 pts livrés
Sprint 2 : 40 pts livrés
Sprint 3 : 52 pts livrés
Sprint 4 : 48 pts livrés
Sprint 5 : 56 pts livrés

Vélocité moyenne : (28+40+52+48+56) / 5 = 44.8 pts

# Prédiction de date de livraison :
Backlog restant : 220 story points
Vélocité : ~45 pts / sprint
Sprints restants estimés : 220 / 45 ≈ 5 sprints
Durée sprint : 2 semaines
Livraison estimée : dans ~10 semaines

# Règles d'utilisation :
✓ Utiliser la moyenne des 3 derniers sprints
✓ La vélocité varie — donner une fourchette
✗ NE PAS comparer les vélocités entre équipes
✗ NE PAS utiliser la vélocité pour évaluer
  la performance individuelle
✗ NE PAS forcer l'augmentation de la vélocité
  (→ gonflement des estimations)

Tableau Kanban

Le tableau Kanban visualise le flux de travail de l'équipe. Chaque ticket représente une User Story ou une tâche qui progresse de gauche à droite.

📋 To Do 4
3
US-18
Notification email commande
5
US-22
Export CSV commandes
2
BUG-03
Fix crash panier vide
8
US-31
Intégration paiement
⚡ En cours 2
8
US-12
Connexion OAuth Google
5
US-07
Recherche avec filtres
🔍 En review 1
3
US-09
Affichage profil utilisateur
✅ Done 3
5
US-04
Page liste produits
3
US-01
Inscription utilisateur
2
US-02
Connexion standard
ℹ️

WIP Limits (Work In Progress) : limiter le nombre de tickets simultanément "En cours" est une pratique Kanban clé. Ex: max 3 tickets en cours pour une équipe de 4. Forcer à terminer avant de commencer → réduit le multitâche et améliore le flux.

💡

Scrum vs Kanban : Scrum utilise des sprints à durée fixe avec un scope défini. Kanban est un flux continu sans itérations. Beaucoup d'équipes font du Scrumban — sprints Scrum avec limite WIP Kanban sur le tableau.

Definition of Done & Definition of Ready

Definition of Done (DoD) — exemple
# Critères que TOUTE US doit respecter
# pour être considérée "terminée"
# Définie par l'équipe, respectée absolument.

☑ Code développé et en conformité avec
  les standards de l'équipe (lint, formatting)
☑ Code revu par au moins un autre développeur
  (peer review / pull request approuvée)
☑ Tests unitaires écrits (couverture ≥ 80%)
☑ Tests d'intégration passent (CI verte)
☑ Critères d'acceptation tous vérifiés
☑ Documentation mise à jour (si pertinent)
☑ Code mergé sur la branche principale
☑ Déployé sur l'environnement de staging
☑ Démo faite au Product Owner
☑ Aucun bug critique non résolu introduit

# Une US "à 90% terminée" n'est PAS Done.
# Le DoD protège l'équipe contre la dette technique.
Definition of Ready (DoR) — exemple
# Critères qu'une US doit respecter
# pour pouvoir ENTRER dans un sprint.
# Sans DoR → gaspillage et confusion.

☑ Rédigée au format User Story standard
  (En tant que / Je veux / Afin de)
☑ Critères d'acceptation définis et compréhensibles
☑ Estimée en story points par l'équipe
☑ Suffisamment petite pour tenir dans un sprint
☑ Dépendances identifiées et résolues (ou planifiées)
☑ Maquette / wireframe disponible (si UI)
☑ Règles métier clarifiées avec le PO
☑ Testable (les tests peuvent être écrits à partir
  des critères d'acceptation)

# Processus : Backlog Refinement (ou Grooming)
# = réunion régulière (1-2h/sprint) où l'équipe
# affine les US pour les rendre "Ready"

Rétrospective — aller plus loin

Structure des 5 étapes (Derby & Larsen)
1. PRÉPARER LA SCÈNE (5-10 min)
   → Check-in : comment chacun se sent
   → Rappeler l'objectif et les règles
   → Créer un espace sûr (Prime Directive)
   → "Chacun a fait du mieux qu'il pouvait
     avec ce qu'il savait à ce moment-là"

2. COLLECTER LES DONNÉES (15-20 min)
   → Timeline du sprint (événements clés)
   → Post-its : bien / à améliorer
   → Données objectives : vélocité, bugs, incidents

3. GÉNÉRER DES INSIGHTS (15-20 min)
   → Regrouper les post-its par thème
   → Voter pour les problèmes prioritaires
   → "Pourquoi ça s'est passé ainsi ?"
   → 5 Pourquoi (root cause analysis)

4. DÉCIDER DES ACTIONS (10-15 min)
   → 1 à 3 actions concrètes MAXIMUM
   → SMART : Spécifique, Mesurable, Atteignable,
     Réaliste, Temporel
   → Chaque action a un responsable et une date

5. CLÔTURER (5 min)
   → Feedback sur la rétro elle-même
   → Célébrer un succès du sprint
Actions SMART — bons vs mauvais exemples
✗ MAUVAISE action :
"Améliorer la communication"
→ Trop vague, pas mesurable, pas de responsable

✓ BONNE action :
"Julien met en place un canal Slack #daily-blockers
 d'ici vendredi, pour partager les impediments
 en dehors du Daily Scrum"

───────────────────────────────────────────

✗ MAUVAISE action :
"Écrire plus de tests"
→ Non mesurable, pas de deadline, qui ?

✓ BONNE action :
"L'équipe adopte la règle : aucune PR ne peut
 être mergée sans au moins 2 tests unitaires
 nouveaux. Effectif dès le sprint suivant."

───────────────────────────────────────────
# Suivi des actions :
→ Les afficher au début de chaque rétro
→ Évaluer si elles ont été appliquées
→ Célébrer les succès, ajuster si non appliquées

Cheat sheet Scrum

Les 3 rôles

🎯 Product OwnerQuoi construire, priorisation
🛡️ Scrum MasterComment travailler, facilitation
💻 DevelopersComment construire, auto-organisation

Les 4 cérémonies

Sprint Planning8h / sprint 4 sem.
Daily Scrum15 min / jour
Sprint Review4h / sprint 4 sem.
Rétrospective3h / sprint 4 sem.

User Story

FormatEn tant que / Je veux / Afin de
INVESTIndép. Négoc. Valeur Estim. Small Test.
CritèresGiven / When / Then
TailleRéalisable en 1 sprint max
EpicTrop grand → décomposer

Estimation

UnitéStory points (effort relatif)
Séquence0 ½ 1 2 3 5 8 13 21 40 ∞
Planning pokerVote simultané, discussion sur écarts
VélocitéMoy. 3 derniers sprints
≥ 13 ptsÀ décomposer avant le sprint