Avant-propos 1. Objectif du livre 17 2. Notre démarche 17 3. Structure du livre 18 4. Remerciements 20 Scrum, une méthode agile avant tout 1. Le grand départ 21 2. La gestion de projet informatique 22 3. La gestion de projet : une affaire d'organisation? 23 4. Le modèle nominal "en cascade" de gestion de projet 24 5. Le modèle en V 27 5.1 La théorie 27 5.2 La mise en pratique du modèle en V 29 5.3 Les rôles 30 5.4 Notion d'effet tunnel 31 5.5 Des résultats chaotiques 32 6. L'agilité au cœur des projets 34 6.1 Un peu d'histoire 34 6.2 Les valeurs 35 6.3 Les principes 35 1/17
7. Scrum, une méthode agile 36 8. La Scrum Alliance 37 8.1 Les certifications 38 9. Pour conclure 39 Lean, Kanban et extreme Programming 1. Un chapitre nécessaire 41 2. Le Lean Management 42 2.1 Objectif du Lean 42 2.2 Les 14 principes du Lean 43 2.3 Les constats 49 3. Le Kanban ou la vie d'une étiquette 50 3.1 Naissance et principe du Kanban 50 3.2 Avantages et inconvénients du Kanban 51 3.3 Kanban et Scrum 51 4. La méthode XP ou extreme Programming 52 4.1 Mise en place de variables 52 4.2 Les pratiques d'extreme Programming 53 4.2.1 Livraisons fréquentes 53 4.2.2 Rythme durable 53 4.2.3 Client sur site 53 4.2.4 Conception simple 53 4.2.5 Mise en place de règles de codage 54 4.2.6 L'équipe est responsable du code 54 4.2.7 Utiliser un nommage compréhensible 54 4.2.8 Utilisation de tests unitaires 54 2/17
4.2.9 Test de recette 55 4.2.10 Mise en place de l'intégration continue 55 4.2.11 Réaliser du refactoring de code 55 4.2.12 Programmation en binôme (Pair Programming) 55 4.2.13 Estimation à l'aide du Planning Poker 56 4.3 Cycle d'xp 56 5. Scrum, un mix des méthodes 57 Tour d'horizon de Scrum 1. Prenons de la hauteur 59 2. Petit aparté sur l'apprentissage de la méthode Scrum 60 2.1 Les Serious Games 60 2.2 Notre livre et les Serious Games 62 3. Naissance de Scrum 62 4. Scrum en quelques mots 63 4.1 L'équipe 63 4.2 Les évènements (cérémoniaux) 64 4.2.1 Sprint 65 4.2.2 Réunion de planification de Sprint 65 4.2.3 Le Scrum Meeting 65 4.2.4 La revue de Sprint 66 4.2.5 La rétrospective de Sprint 66 4.3 Les artefacts 66 4.3.1 Product Backlog 66 4.3.2 Sprint Backlog 67 4.3.3 Burn Down Chart 67 4.3.4 Burn Up Chart 68 4.3.5 Courbe de température 69 3/17
5. Cycle de vie de Scrum 70 6. Les trois piliers de Scrum 71 6.1 Transparence 71 6.2 Inspection 72 6.3 Adaptation 72 7. Coût, délai et périmètre 72 8. Conclusion 74 L'équipe Scrum 1. Une équipe sur qui compter 75 2. Le Scrum Master 76 2.1 La disparition du chef de projet 76 2.2 Ses responsabilités 77 2.2.1 Responsabilités envers les processus 77 2.2.2 Leader du changement 77 2.2.3 Servir le Product Owner et l'équipe 78 2.2.4 Autorité 79 2.3 Animation du cérémonial 79 2.4 Sa personnalité et ses compétences 80 2.4.1 Connaître Scrum 80 2.4.2 Être un meneur d'hommes 80 2.4.3 Être communicant 80 2.4.4 Avoir des capacités de médiation 80 2.4.5 Jouer la transparence 81 2.4.6 Avoir de l'humilité et de l'implication 81 3. Le Product Owner 82 4/17
3.1 Ses responsabilités 82 3.1.1 Créer la vision du produit 82 3.1.2 Gérer le Product Backlog 83 3.1.3 Définir le plan de Release 83 3.1.4 Implication dans le processus Scrum 84 3.1.5 Accepter ou non le résultat d'un Sprint 84 3.2 Ses pouvoirs et limites 84 3.3 Sa personnalité et ses compétences 85 3.3.1 Posséder des connaissances fonctionnelles 85 3.3.2 Être organisé 85 3.3.3 Avoir des capacités de prise de décision 86 4. L'équipe de développement 86 4.1 Responsabilités 86 4.1.1 Atteindre l'objectif du sprint 86 4.1.2 Vivre pleinement le Scrum Meeting 86 4.1.3 Réaliser le Burn Down Chart et faire vivre le Sprint Backlog 87 4.2 Caractéristiques 87 4.3 L'auto-organisation 88 5. Réflexion lors de la constitution d'une équipe Scrum 89 5.1 Scrum Master réalisé par un membre de l'équipe de développement 89 5.2 Scrum Master réalisé par le Product Owner 90 5.3 Scrum Master réalisé par un manager 90 5.4 Product Owner réalisé par un développeur 90 6. Environnement de travail 91 6.1 Rassembler pour gagner 91 6.2 Cas d'une équipe morcelée 92 6.3 Isoler le Product Owner 92 6.4 Éloigner les managers 93 7. Conclusion 94 5/17
Écriture du Product Backlog 1. Sprint 0 95 2. Le Product Backlog 96 2.1 Une nouvelle méthode 96 2.2 Posséder une vision globale du produit 97 2.3 Le vocabulaire : User Story, Epic et Thème 98 2.3.1 User Story 98 2.3.2 Epic 98 2.3.3 Thèmes 99 3. Comment rédiger les User Stories et Epics? 99 3.1 Use Case versus User Stories 99 3.1.1 Use Case (Cas d'utilisation) 99 3.1.2 User Story 101 3.2 Règle des 3 C 102 3.3 La qualité passe par INVEST 103 3.4 Comment récolter les User Stories? 104 4. Erreurs fréquemment rencontrées 105 4.1 Utiliser un cahier des charges 105 4.2 En écrire trop 106 4.3 Confondre User Story et Use Case 106 4.4 Décrire des écrans, des actions 106 5. Outils d'écriture des User Stories 106 6. Conclusion 107 Écrire des tests pour les User Stories 6/17
1. Pourquoi tester? 109 2. La pyramide de tests de Mike Cohn 110 2.1 Tests unitaires 111 2.2 Tests fonctionnels 112 2.3 Tests d'ihm (Interface Homme-Machine) 112 3. Notion de test d'acceptation 113 3.1 Critères d'acceptation 114 3.2 Les données de tests et scénarios 114 3.3 Les tests d'acceptation et les User Stories 115 4. TDD, ATDD 115 4.1 Test Driven Development 115 4.2 Acceptance Test Driven Development 117 5. En pratique 118 5.1 Le travail du Product Owner? 118 5.2 Trouver du temps pour l'écriture 119 5.3 Faut-il écrire les tests de toutes les User Stories? 119 5.4 Comment écrire les tests? 119 6. En conclusion : écrivez des tests! 120 Priorisation du Product Backlog 1. Pourquoi prioriser? 121 2. Que signifie prioriser? 122 3. Définir la valeur métier (Business Value) 123 7/17
3.1 Comment procéder? 123 3.2 Priority Poker 123 3.3 Avantages et inconvénients 124 4. Priorisation par l'utilisation du modèle de Kano 125 4.1 La théorie du modèle 125 4.1.1 User Stories basiques 125 4.1.2 User Stories linéaires 126 4.1.3 User Stories d'enthousiasme 126 4.1.4 Représentation graphique du modèle 127 4.1.5 Les User Stories à prendre en compte 128 4.2 La pratique 128 4.2.1 Demander au Stakeholder de se positionner 129 4.2.2 Catégoriser les User Stories 130 5. Priorisation à partir des thèmes 130 5.1 Pourquoi prioriser les thèmes? 131 5.2 Theme Screening (Sondage des thèmes) 131 5.3 Theme Scoring (Mesure des thèmes) 133 5.4 Priorisation des thèmes par l'utilisation de poids relatifs 134 6. Priorisation par la communication 137 7. Conclusion 138 Estimation et planification de Sprint 1. Un évènement Scrum à part entière 139 2. Avant de débuter 140 2.1 Équipe, Product Backlog et tableau de Sprint Backlog 140 2.2 Tableau de Sprint Backlog 140 2.3 Notion de "terminé" 141 8/17
3. Réunion de planification de Sprint 142 3.1 Pourquoi la présence du Product Owner est-elle importante? 143 3.2 Première étape : Présentation des User Stories 143 3.3 Deuxième étape : Quel travail sera réalisé durant le Sprint? 144 3.4 Troisième étape : Comment réaliser le travail prévu? 145 4. Les attendus de la réunion 146 5. La gestion du temps 146 5.1 Définir un ordre du jour 147 5.2 Que faire en cas de dépassement? 148 6. Définition du but à atteindre 149 7. Définir la durée d'un Sprint 149 8. L'estimation des User Stories 150 8.1 Qui estime? 150 8.2 Notion d'effort 151 8.3 Définir l'effort d'une User Story 152 8.3.1 Taille des t-shirts 152 8.3.2 Le planning poker 153 9. Définir les User Stories candidates pour le prochain Sprint 154 9.1 Différence entre vélocité et productivité 154 9.2 Dans le cas où la vélocité est connue 155 9.3 Dans le cas où la vélocité est inconnue 155 9.3.1 Mise en place d'un projet test 155 9.3.2 Choisir au feeling 156 9.3.3 Estimation de la vélocité 156 10. Dernière étape : le découpage en tâches 158 10.1 Qui réalise le découpage? 159 9/17
10.2 Estimation des tâches 159 10.3 Affectation des tâches 160 11. Les User Stories techniques 160 12. Que faire des bugs constatés dans le Sprint précédent? 161 13. Conclusion 162 Au temps des planifications de releases 1. Introduction 163 2. Les releases 163 3. Scrum et les releases 164 4. Comment planifier une release? 165 4.1 Avoir un objectif clair 165 4.2 Posséder un Product Backlog priorisé 166 4.3 Estimer le Product Backlog 166 4.4 Connaître la vélocité de l'équipe 166 4.5 Définir la fin de la release 167 4.6 Définir la durée des Sprints 167 4.7 Créer le plan de release 168 4.7.1 Exemple illustré 168 4.7.2 Quelques conseils 169 5. Ce que nous en pensons 169 La vie d'un Sprint 10/17
1. Mise en route des développements 171 2. Check-list avant démarrage 172 2.1 Environnement de travail 172 2.1.1 Sprint Backlog 172 2.1.2 Un espace pour concevoir et réfléchir 172 2.2 Équipe 173 2.3 Objectif du Sprint et notion de terminé 173 2.4 User Stories et tâches 173 3. Mêlée quotidienne (Scrum Meeting/Daily Scrum) 174 3.1 Un protocole à respecter 174 3.2 L'objectif du Scrum Meeting 174 3.3 Le Scrum Master toujours à l'écoute! 175 3.4 Avancement des tâches 176 3.5 Je n'ai plus rien à faire! 176 3.6 L'objectif du Sprint sera-t-il atteint? 177 4. La revue de Sprint (Sprint Review) 178 4.1 Qui, quoi, combien de temps? 178 4.2 Un objectif, une motivation 180 4.3 Démontrer ce qui ne l'est pas 180 5. La rétrospective de Sprint 181 5.1 Une méthode pour vous aider 181 5.2 Environnement de la rétrospective 181 5.3 Flash Back 182 5.4 Organisation et choix des améliorations à apporter 182 6. Laisser l'équipe se reposer 183 7. Et si on recommençait? 183 11/17
Le suivi 1. Planifier, itérer et assurer un suivi 185 2. Estimer le reste à faire 185 2.1 Quand et qui réalise le Burn Down Chart de Sprint? 186 2.2 Burn Down Chart de Sprint en points d'effort 186 2.2.1 Mise en place des axes 186 2.2.2 Définition de la pente idéale 187 2.2.3 À vos stylos 187 2.3 Burn Down Chart de Sprint à l'aide des tâches 189 2.3.1 Un exercice 190 2.3.2 La solution 191 2.4 Interpréter un Burn Down Chart 192 2.5 Ajouter une courbe de tendance 194 3. Connaître l'avancement 195 4. Connaître la valeur métier produite pour arrêter le projet 196 5. La santé de l'équipe 198 6. Conclusion 199 La conduite de changement 1. Comment mener le changement vers Scrum? 201 2. Un état des lieux en France 202 2.1 Adoption des méthodes agiles 202 2.1.1 Les dates 202 2.1.2 Les types 203 12/17
2.2 Les sponsors 203 2.3 Raisons de la mise en place de l'agilité 204 2.4 Méthodes utilisées 204 2.5 La pratique de Scrum 204 2.6 Ce qui est utilisé ou peu utilisé en Scrum 205 2.7 Un bilan positif 205 3. En finir avec les idées reçues 206 3.1 Scrum n'est pas une vraie méthode 206 3.2 Il n'existe pas de notion de planification 207 3.3 Scrum bannit la documentation 207 3.4 Avec Scrum, nous passons trop de temps en réunion 207 4. Les résistances à la conduite de changement 208 4.1 Résistance d'intérêt ou politique 208 4.2 Résistance de confort 209 4.3 Résistance d'incapacité ou affective 209 5. Les huit étapes vers le changement selon John Kotter 210 5.1 Étape 1 : Créer un sentiment d'urgence 210 5.2 Étape 2 : Former une coalition 211 5.3 Étape 3 : Développer une vision 211 5.4 Étape 4 : Communiquer la vision 211 5.5 Étape 5 : Lever les obstacles au changement 212 5.6 Étape 6 : Démontrer les résultats à court terme 212 5.7 Étape 7 : Bâtir sur les premiers résultats pour accélérer le changement 212 5.8 Étape 8 : Ancrer les nouvelles pratiques dans la culture de l'entreprise 213 6. SWOT et SCRUM 213 6.1 SWOT 213 6.1.1 En pratique 214 6.2 Analyse de Scrum 215 6.2.1 Strengths (Forces) 215 6.2.2 Weaknesses (Faiblesses) 216 6.2.3 Opportunities (Opportunités) 216 13/17
6.2.4 Threats (Menaces) 217 7. Nos conseils en guise de conclusion 217 Scrum et la contractualisation 1. Avant-propos 219 2. Réalité et contradictions 219 2.1 Intérêts de forfaitiser 220 2.2 Contradiction n 1 : Le manifeste agile 220 2.3 Contradiction n 2 : La méthode elle-même 221 2.4 Contradiction n 3 : Les pénalités 221 3. Relation avec le client 222 3.1 Adapter son discours 222 3.2 Accompagner le client 223 3.3 Le client a-t-il confiance en vous? 223 4. Répondre à un appel d'offres 223 5. Mise en place d'un Plan d'assurance Qualité (PAQ) 225 6. Notre vision des choses 226 6.1 Confiance entre les parties 226 6.2 Existence d'un Product Backlog 226 6.3 Contractualisation par Sprint 227 6.3.1 Comment calculer le coût d'un Sprint? 227 6.3.2 Quid des User Stories non livrées? 228 6.3.3 Gestion des bugs et refus de User Stories 228 7. Différentes formes de contrats envisageables 229 14/17
7.1 Coûts variables 229 7.2 Coûts fixes, périmètre variable 230 7.3 Coûts fixes, périmètre fixe 230 7.4 Coûts fixes, périmètre fixe mais avec ajustement 231 7.5 Budget par itération 231 7.6 Utilisation d'une marge de profit 232 7.7 Mise en place de pénalités 232 7.8 Travail collaboratif 232 7.9 Money For Nothing (payer pour rien) et Change For Free (changement offert) 233 8. Exemple de contrat type 234 8.1 Point 1.3 : Le client 234 8.2 Point 2 : Définitions 235 8.3 Point 5 : Mise en œuvre des prestations 235 8.4 Point 6 : Plan Asurance Qualité 236 8.5 Point 7 : Comité de pilotage 236 8.6 Point 8 : Livraison et recette 237 8.7 Point 10 : Obligation des parties 237 8.8 Point 11 : Conditions financières 237 8.9 Annexe 4 : Plan d Assurance Qualité 238 9. Pour conclure 238 Scrum à l'aide d'un logiciel 1. Faut-il obligatoirement utiliser un logiciel? 239 2. icescrum 241 2.1 Installation du bundle 241 2.2 Configuration de l'environnement 241 2.3 Exécuter l'application 242 3. Un pique-nique avec icescrum 243 15/17
3.1 Étape 1 : Création des utilisateurs 244 3.2 Étape 2 : Création du projet 244 3.2.1 Définition du nom du projet 245 3.2.2 Constitution de l'équipe 245 3.2.3 Paramétrer les pratiques Scrum 246 3.2.4 Définition des jalons 247 3.3 Étape 3 : Écriture des User Stories et priorisation du Product Backlog 248 3.3.1 Création des thèmes 248 3.3.2 Écriture des User Stories 250 3.3.3 Acceptation des User Stories 252 3.3.4 Priorisation des User Stories 252 3.4 Écriture des tests d'acceptation 253 3.5 Estimation des efforts 254 3.6 Planification automatique 254 3.7 Formalisation de la notion de "terminé" 256 3.8 Création et affectation des tâches 257 3.8.1 Création des tâches 257 3.8.2 Affectation des tâches 258 3.9 Vie du Sprint 259 3.10 Fin du Sprint 260 3.10.1 Existence de User Stories non terminées 260 3.10.2 La rétrospective de Sprint 260 3.11 icescrum et les autres 261 4. Notre avis en guise de conclusion 265 Vérifiez vos connaissances 1. Pourquoi ce questionnaire? 267 2. Les questions 268 3. Les réponses 276 16/17
4. L'heure du résultat 286 5. Il est temps de se quitter 286 Index 287 17/17