Académique Documents
Professionnel Documents
Culture Documents
AGILE SCRUM
IV SCRUM : Planification Agile
L Dorian Lomendje
2
Confucius (孔子), 551 - 479 av. J.-C.
• « Je transmets, je
n’invente rien… »
RAISON D’ÊTRE
8
Définitions
• Une Release est la période de temps, constituée de
sprints, utilisée pour planifier à moyen terme
• La Vélocité est la mesure de la partie du Backlog de
Produit qui est réalisé par l’Equipe durant un Sprint. Les
mesures de Vélocité sont utilisées pour planifier
• Un Burndown Chart est une représentation graphique du
Reste à Faire dans une période, actualisé aussi souvent
que possible, et permettant de montrer la tendance
10
Planifier la release
• La Planification de Release a pour objectif de fournir à
l’Equipe et aux Parties Prenantes des informations sur le
contenu des sprints constituant la release
• Les différences avec les approches classiques :
• Il y a deux niveaux de plan : le Plan de Release est à grosse maille
• Le plan n’est pas figé, il évolue
11
Réunion ou processus ?
• En 2004, la Planification de Release est à peine évoquée
par Ken Schwaber dans son livre
• En 2009 Ken Schwaber la mentionne explicitement sur
son Guide Scrum
• Mais il ne la détaille pas beaucoup !
• De fait la Planification de Release est une des pratiques
Scrum les moins répandues
• En fait cette Planification de Release est plus un
processus qu’une seule réunion
Cas des releases multiples : la Roadmap
• Une vue qui présente
l’objectif et le contenu à
haut niveau des
Releases
• Elle montre pour chaque
Release ce qu’on prévoit
d’y faire en terme de
Features
• Elle apporte un horizon
de 6 à 8 mois, soit 3 à 6
Releases, selon leur
durée
Construction de la Roadmap
14
LE PROCESSUS DE
PLANIFICATION DE RELEASE
15
Le processus de Planification de
Release
4 Estimer la
capacité de l’Equipe
16
Etape 1
Définir le critère de fin de la release
• Les choix possibles :
• Finir quand le Backlog est vide, ou quand un sous-ensemble
est développé
• Release à périmètre fermé
• La planification a pour objectif d’estimer la date de fin
• Fixer la date à l’avance
• On estime alors le contenu
• Plus « dans le style » de l’agilité
• Autres variantes possibles
• Attendre quelques sprints pour décider
• Arrêter quand le produit partiel a suffisamment de valeur
• Arrêter quand le budget est consommé
18
Etape 2
Estimer les stories du backlog
Le Planning Poker
• Il ne s’agit ni de poker, ni de planning
• C’est une séance d’estimation en groupe, avec des
cartes, qui combine le jugement d’expert (Delphi) et
l’estimation par analogie
• http://www.planningpoker.com
• http://mountaingoatsoftware.com
• http://tekool.net/blog/2009/07/21/printable-agile-planning-
poker
Estimation collective
21
Etape 3
Définir la durée des sprints
• Les critères à prendre en
• Quelle durée pour les compte
itérations ? • L’implication des clients et
• Pas de réponse universelle des utilisateurs (disponibilité)
• Le consensus : • Le coût supplémentaire
• Toutes les itérations doivent engendré par le sprint
être de même durée
• Une itération est un bloc de
• La taille de l’équipe
temps fixé • La durée maximum pour
• Au début : un mois, prendre en compte un
aujourd’hui 3-4 semaines changement
• La date de fin de la release
• Le maintien de la motivation
Une proposition : de l’Equipe
•3 mois pour une release
• La stabilité de l’architecture
•5 sprints dans une release
•2 semaines pour un sprint
23
Etape 4
Estimer la capacité de l’Equipe
• Définitions
• La vélocité mesure la partie de Backlog réalisée pendant un sprint,
se calcule juste après la « Démonstration » lors de la revue de
sprint
• La capacité de l’équipe est une prévision de ce que l’Equipe est
capable de faire pendant un sprint
• La capacité se base sur la vélocité : elle se base sur le
principe de la « météo de la veille »
• L’Equipe devrait faire dans un sprint à peu près autant
qu’elle a fait dans le précédent
• Ici, comme ailleurs il ne faut pas confondre estimation et
engagement
24
Etape 5
Produire le Plan de Release
• La méthode
• On prend le Backlog priorisé et estimé
• On commence par le premier sprint
• On y associe les stories en commençant par les plus prioritaires
• On continue jusqu’à arriver à la capacité de l’Equipe
• On passe au sprint suivant
• C’est le Sprint Mapping
• Certains outils le font automatiquement
• Une intervention manuelle peut être nécessaire !
• Quand cela ne « tombe pas juste »
• Quand certains ajustements s’imposent
Sprint mapping
26
5 8
Planification de release 10
10 5 3
10
Sprint fini
Release
Sprint 1 Sprint 2 Sprint3 Sprint 4
Sprints
futurs
Vélocité
=10
Planification de release : les pratiques
A ESSAYER A EVITER
S’adapter au calendrier Confondre valeur et coût,
vélocité et productivité
Provisionner pour du Ne pas garder de mou pour
feedback ultérieur les incertitudes
28
S’adapter au calendrier
• La pertinence de la vélocité repose sur une durée fixe des
Sprints associée à une composition de l’Equipe qui de
change pas :
• Des ressources identiques d’un Sprint à l’autre
• La planification, même agile, doit tenir compte des
événements connus à l’avance :
• Ponts, vacances …
• La durée peut exceptionnellement varier pour garder les
ressources à peu près stables pour tous les Sprints
• 6 personnes pendant 2 semaines
• 4 personnes pendant 3 semaines
29
Confondre
• Valeur et Coût
• Une Story a deux attributs différents : un porte sur la Valeur, l’autre
sur sa Taille
• Deux Stories de même taille peuvent avoir des valeurs ajoutées
bien différentes
• Vélocité et Productivité
• La productivité est le quotient du résultat/temps passé
• L’estimation en points porte sur le coût de développement, la
vélocité aussi
30
LA REUNION DE
PLANIFICATION DE SPRINT
35
Planifier le Sprint
• Le dogme : il y a deux parties distinctes dans la réunion :
• La première pour avoir une bonne idée du périmètre et définir le
but du Sprint : le QUOI (What)
• La deuxième consacrée à l’identification des tâches nécessaires
pour l’atteindre et à leur estimation : le COMMENT (How)
37
Contenu du Tableau
• Numéro du Sprint
• Date de début, Date de fin
• But du Sprint
• En-Tête de colonnes
• Etat des tâches : A Faire, En Cours, Fini
• En-Tête de lignes
• Les stories
• A l’intersection des lignes et des colonnes
• Les tâches
• On peut intervertir les lignes et les colonnes
40
Durée de la réunion
• La Réunion de Planification de Sprint est une «TimeBox »
• Ken Schwaber donne une limite de 8 heures, 4 heures par partie
• Ces chiffres sont à ajuster en fonction de la durée du Sprint
• Quelques avis :
• Durée = 2 x n heures, où n est le nombre de semaines du Sprint
• Durée < 5% de la durée du Sprint
• Chute de motivation si plus d’une demi-journée
Rappeler
Evaluer le Définir le Identifier Estimer Prendre
le S’engager
périmètre but du les les des
contexte collectivement
potentiel Sprint Tâches Tâches Tâches
du Sprint
43
Etape 1
Rappeler le contexte du Sprint
• Le Product Owner rappelle la place du Sprint dans la Release en
cours, il annonce la date de fin
• Si la durée n’est pas la durée usuelle, toute l’Equipe doit en connaître
les raisons
• Vacances
• Absences ponctuelles
• Jours fériés
• Et y adhérer !
• La disponibilité de chacun est alors connue
44
Etape 2
Evaluer le périmètre potentiel
• Il s’agit de préciser le périmètre envisagé pour ce Sprint
• C’est-à-dire les éléments de Backlog de Produit qui vont être réalisés
• Le périmètre est défini en sélectionnant la première story en haut
de la liste ordonnée constituant le Backlog de Produit…
• …Et ainsi de suite jusqu’à ce que le total atteigne la capacité de
l’Equipe (en général 5 à 10 stories)
• Règle :
• Le Product Owner définit les priorités
• L’Equipe est la seule à décider du périmètre (arrêter d’en rajouter)
45
Etape 3
Définir le But du Sprint
• Il s’agit de préciser en une phrase l’objectif principal du Sprint
(Mission)
• Il porte le plus souvent sur un domaine fonctionnel
• Au début du projet le but peut être orienté sur des considérations
techniques (Itération 0, Arbre de Noël)
46
Etape 4
Identifier les Tâches
• La suite de la réunion a pour objectif de définir comment l’Equipe s’organise
pour réaliser les stories sélectionnées
• On part de la liste élaborée à l’étape 3
• Chaque story est présentée par le Product Owner, et
• Etudiée par l’Equipe qui identifie les tâches nécessaires à sa réalisation
• Ce qui force toute l’Equipe à discuter
• Deux types de tâches
• Les tâches induites des stories
• Toutes les activités liées au développement
• Les tâches indépendantes des stories (storyless)
• Pour une équipe de 5 personnes et des Sprints de 2 semaines, on pourra
avoir une quarantaine de tâches pour un Sprint
47
Etape 5
Estimer les Tâches
• L’estimation du temps à passer sur une tâche est faite
collectivement par l’Equipe
• Les tâches sont estimées en heures :
• Suffisamment petites pour être finies en une journée de travail
• Sinon il convient de la décomposer
• La liste des tâches n’est pas figée. Durant le Sprint, des tâches
peuvent être :
• Ajoutées
• Supprimées
• Décomposées
• Les équipes expérimentées peuvent se passer de l’estimation en
heure des tâches :
• Gestion binaire : Finie / Pas Finie
• 3 états : A Faire / En Cours / Finie
Un sprint planifié
50
Etape 6
Prendre des Tâches
• Ce sont les membres de l’Equipe qui prennent eux-mêmes les tâches
• Il n’est pas utile d’attribuer toutes les tâches :
• Il suffit que chacun ait du travail pour les premiers jours du Sprint
• L’affectation des autres tâches peut être différée
• Cas des tâches pénibles dont personne ne veut :
• Il n’y a pas de tâches pénibles
• Sinon, elles seront courtes
• Les tâches sont moins ingrates quand elles ne sont pas imposées
• L’intérêt est plus explicite
• L’estimation est faite en commun
• L’affection n’est pas décidée à l’avance
• Il est fréquent qu’il faille revoir le périmètre après la décomposition en
tâches
• D’où la nécessité de la présence du Product Owner
51
Etape 7
S’engager collectivement
• Pour finir la réunion l’Equipe s’engage à réaliser les stories sélectionnées
• L’engagement collectif est important pour motiver l’Equipe
• Il est préférable de détecter les réticences, et de les prendre en compte
avant de finir la réunion
• Avant de demander l’engagement le ScrumMaster annonce la capacité
prévue pour le Sprint :
• Calculée à partir des stories du périmètre
• Raisonnable par rapport à la vélocité moyenne des derniers Sprints
52
Burndown de release
56
Burndown de sprint
Réunion de planification de Sprint
les pratiques
A ESSAYER A EVITER
Préparer le Backlog en Décider du périmètre à la
anticipation place de l’équipe
Décomposer en tâches Ne pas laisser l’équipe
courtes identifier les tâches
Garder du mou Prendre un engagement
déraisonnable
Faire de la conception
58
Faire de la conception
• Ne pas se lancer à corps perdu dans la réalisation des
Stories
• Il est nécessaire de faire de la conception
• Avec les méthodes agiles, la conception n’est pas faite
une fois pour toutes au début du projet, elle est faite tout
le temps
• Chaque Sprint comporte des activités de conception
• L’identification des tâches nécessite de réfléchir à la façon
dont une Story va être conçue :
• Discussion, diagramme de séquence
Sprint planning
Conclusion : le Planning dans Scrum