Pour accroître les chances de succès d'un projet, il est crucial d'estimer au plus juste l'effort à faire pour atteindre les objectifs fixés dans le temps imparti. Sans quoi, les acteurs du projet risquent fort de ne plus maîtriser ses échéances ni son budget. Dans un projet agile, ce sont la planification de release et l'estimation des complexités qui vont permettre de réduire sensiblement les risques d'échec. Encore trop souvent ignorée ou mal utilisée, la planification de release est pourtant incontournable à la réussite d'un projet agile. Cette session propose d'en expliquer son enjeu, son déroulement et ses bénéfices. Les différentes étapes qui vont permettre d'établir un planning fiable, seul garant d'une bonne maîtrise des risques, seront détaillées et illustrées au travers d'un projet réel.
Agile Tour Nantes 2011 - Patrice boisieau - planification de release
1. La planification
de release :
une condition de
gile
réussite d'un projet a
Patrice Boisieau - Coach Agile
2. Des projets
trop souvent en
échec
Sur 23 000 projets NON agiles :
Source : The Standish Group
Par rapport à l’étude précédente : net recul du taux de réussite
La planification de release : une condition de réussite d'un projet agile
3. Les 4 variables
d'ajustement
Délai
Budget
Périmètre fonctionnel
Qualité
La planification de release : une condition de réussite d'un projet agile
4. La matrice de
compromis
La matrice de compromis, un outil de gestion de crise
Fixe Ferme Ajustable Souple
Délai
X
Budget
X
Périmètre
fonctionnel X
Qualité
X
La planification de release : une condition de réussite d'un projet agile
5. La
planification
de release
La planification de release, un outil de prévention de crise
Etudes Exploration Calibrage Développement Déploiement
Lancement
du projet
Sprint Sprint Sprint ... Sprint
1 2 3 n
Planification
de release
?
La planification de release : une condition de réussite d'un projet agile
6. La
planification
Objectif : de release
Identifier le périmètre fonctionnel
pouvant être réalisé par l'équipe
dans un temps imparti
Participants :
=> L'équipe cœur (PO + Scrum Master + développeurs)
=> Le métier et les utilisateurs (présence fortement recommandée)
Durée : une journée complète
Déroulement :
1. Construction de la story map
2. Estimation avec le planning poker (ou estimation par similitude d'effort)
3. Définition du plan d'itérations
Pré-requis : avoir une bonne idée de la vélocité de l'équipe !
La planification de release : une condition de réussite d'un projet agile
7. 1.
Construction de
Avant la story map, on construit le backlog de produit la story map
=> Couvre le périmètre fonctionnel du projet
=> Structuré en thèmes, epics et stories
Thème 1
Epic 1
User 1
Backlog Thème 2 Epic 2 User 2
User 3
Epic 3
Thème 3
La planification de release : une condition de réussite d'un projet agile
8. 1.
Construction de
Priorisation avec MoSCoW :
=> Must : les fonctionnalités incontournables la story map
=> Should : les fonctionnalités métiers importantes
=> Could : les fonctionnalités de confort
=> Won't : les fonctionnalités superflues
25% par niveau de priorité
Thème 1
Epic 1 Must
User 1
Should
Backlog Thème 2 Epic 2 User 2
Must
User 3
Epic 3
Thème 3
La planification de release : une condition de réussite d'un projet agile
9. 1.
Construction de
Priorisation avec numérotation unique :
la story map
=> Must : 750 – 1000
=> Should : 500 – 750
=> Could : 250 – 500
=> Won't : 0 – 250
Thème 1
Epic 1 Must 940
User 1
Should 670
Backlog Thème 2 Epic 2 User 2
Must 920
User 3
Epic 3
Thème 3
La planification de release : une condition de réussite d'un projet agile
10. 1.
Construction de
la story map
Construction de la story map :
=> Carte des user stories priorisées et classées par thèmes ou epics
=> Axe horizontal : rangement par thème ou epic
=> Axe vertical : rangement par priorité MoSCoW / numéro
La planification de release : une condition de réussite d'un projet agile
11. 1.
Construction de
la story map
La planification de release : une condition de réussite d'un projet agile
12. 1.
Construction de
la story map
Problème : 3 heures de préparation des post-its « à la main »
Astuce : la colle post-it !
La planification de release : une condition de réussite d'un projet agile
13. 1.
Construction de
la story map
Le PO s'appuie sur la story map pour :
=> donner une vision du projet
(grandes fonctionnalités, échéances)
=> présenter une à une les grandes
fonctionnalités (epics)
=> discuter des dépendances entre
stories
=> prioriser plus finement les stories
La planification de release : une condition de réussite d'un projet agile
14. 1.
Construction de
la story map
Une user story est définie par :
=> Un identifiant unique
=> Un titre
=> Une priorité unique
=> Une complexité
La planification de release : une condition de réussite d'un projet agile
15. 2.
Planning poker
Le planning poker, une technique
d'estimation collective de stories :
1. Les développeurs et le PO échangent sur la
user story
2. Les développeurs votent une première fois
(secrètement)
3. Les estimations extrêmes sont discutées
4. Les développeurs votent une deuxième fois
(secrètement)
La planification de release : une condition de réussite d'un projet agile
16. 2.
Planning poker
Projet exemple :
3h30 environ pour 80 user stories
La planification de release : une condition de réussite d'un projet agile
17. 2.
Planning poker
Risque : manque de temps pour terminer la revue des stories
Astuce : le time boxing !
Autre astuce : estimation par ordre de priorité (de MUST à WON'T)
La planification de release : une condition de réussite d'un projet agile
18. 3.
Définition
du plan
d'itérations
Définir le plan d'itérations :
1. Reconstitution de la story map sur le premier tableau
2. Préparation des sprints sur le deuxième tableau
3. Détermination de l'objectif de vélocité moyenne
4. Ajustement de la vélocité sur chaque sprint
5. Remplissage des sprints par ordre de priorité des stories
6. Ajustement des priorités (éventuellement)
La planification de release : une condition de réussite d'un projet agile
19. 3.
Définition
du plan
d'itérations
La planification de release : une condition de réussite d'un projet agile
20. 3.
Définition
du plan
d'itérations
Projet exemple :
=> objectif de vélocité à 50 points répartis en
8 points attribués à la gestion des stories techniques
8 points attribués à la gestion des anomalies
34 points attribués à la gestion des user stories
=> plan de 10 itérations de deux semaines
=> nécessité d'ajuster les priorités pour un premier lot significatif
La planification de release : une condition de réussite d'un projet agile
21. Bénéfices
Principal bénéfice : une feuille de route claire
Un instrument de décision : on arrête ou on continue ?
Autres bénéfices :
=> Une vision partagée par l'équipe des besoins fonctionnels à venir
=> La connaissance des principaux écueils techniques
=> Une meilleure connaissance des dépendances entre user stories
=> Une meilleure priorisation du travail à faire
La planification de release : une condition de réussite d'un projet agile
22. FIN !
Des questions ?
La planification de release : une condition de réussite d'un projet agile