Gestion de Projet Agile Planification et Estimation Sprint 0 Tianxiao.Liu@u-cergy.fr Université de Cergy-Pontoise Master SIC/ISIM 2 ième Année
Plan Introduction Motivation : pourquoi planifier & estimer? Techniques d'estimation agile Méthode par story points Méthode "Ideal days" Démarche WBD (Wide Band Delphi) Planification avec une démarche agile Vision, roadmap, release, itération, cycle quotidien Travail à rendre en fin de la séance
Introduction Activités de planification Souvent très difficiles! Estimation initiale Engagement Plan de route = prévoir le processus, les étapes, les ressources, le délai et le budget, en se basant sur les besoins recueillis Techniques d'estimation sciences exactes Aucune recette miracle fiable à 100%...
Motivation : pourquoi planifier Un outil d'aide à la décision Cela éclaire les décideurs sur l'investissement à engager : coût, date, façon, personnes Un plan assure Cadre de référence pour avancer Rendre visible le déroulement du projet Faciliter le client dans son organisation Un support de communication
Motivation : pourquoi planifier Une gestion de projet sans plan? Personne ne sait quand ni comment l'objectif sera atteint Pas de notion de date Gestion "approximative" Décisions prises dans l'urgence Ressources pas efficacement allouées La question est plutôt : on établit un plan, c'est sûr, mais comment?
Techniques d'estimation agiles Méthode "Story points" (1) Une user story : une brève description d'une fonctionnalité telle que vue par l'utilisateur Principe : comparaison de deux stories ou le poids d'une story dans l'ensemble relatif Etape 1 : trouver la story la plus petite poids de 1 Etape 2, comparer les autres stories avec cette première : linéaire ou suite de Fibonacci
Techniques d'estimation agiles Méthode "Story points" (2) Etape 3 : convertir le nombre de points abstrait en jour Vélocité de l'équipe : la somme des story points qu'une équipe est capable de développer durant une itération A l'issue de chaque itération (surtout la première), on doit re-calibrer cette vélocité qui était hypothétique
Techniques d'estimation agiles Méthode "Ideal days" Ideal time : le temps nécessaire à la réalisation d'une tâche sans interruption de travail, avec toutes les ressources requises. Elapsed time : le temps réellement constaté sur une horloge ou un calendrier durant la réalisation de la tâche On peut déduire, avec la vélocité de l'équipe connue, la durée du projet. Accepter les surcharges pondérales imprévues
Techniques d'estimation agiles Complément important : WBD Principe de "la sagesse des foules" Trois experts se réunissent pour estimer tour par tour les charges Après 2 ou 3 tours, la charge est calculée avec la formule : (P + (4 x I) + O) /6 où P = estimation pessimiste I = estimation intermédiaire O = estimation optimiste
Planification agile Cinq niveaux / étapes de planification Etablissement de la vision du projet Fixation des jalons (roadmap) Planification d'une release Planification d'une itération Planification quotidienne
Planification agile Vision globale du projet Définir un product backlog (PB) initial Backlog : l'ensemble de tâches qui devraient être accomplies A ce stade d'avancement, les fonctionnalités ne sont pas homogènes en granularité Evaluer très grossièrement l'importance/la taille des différentes fonctionnalités Positionner-les dans différentes releases
Planification agile Sprint 0 Une courte période dans le développement agile qui sert à la préparation et au démarrage Il peut se terminer par une livraison (release) légère (mais c'est optionnel! selon la nature du projet) Il est indispensable pour mettre le projet sur de bons rails Il permet à l'équipe d'apprendre à travailler ensemble
Planification agile Sprint 0 : les choses à faire Partager une vision claire du projet avec tous les acteurs! Préparer l'environnement de développement Déterminer un plan de différentes releases Produire un backlog de produit (PB), estimé et priorisé Définir la posture ergonomique de l'interface Selon les contextes, travailler l'architecture S'offrir une belle rétrospective
Travail à rendre : dresser l'état des lieux Sprint 0 : vérifier s'ils sont déjà faits Partager une vision claire du projet avec tous les acteurs (état actuel? cahier des charges?) Préparer l'environnement de développement Déterminer un plan de différentes releases Produire un backlog de produit (PB), estimé et priorisé Définir la posture ergonomique de l'interface Selon les contextes, travailler l'architecture S'offrir une belle rétrospective (déjà fait)
Travail à rendre : dresser l'état des lieux Conseils pour planification A essayer Cultiver le backlog en anticipation Décomposer en tâches courtes Garder du mou Penser à la conception Rendre visible tout ce que fait l'équipe A éviter Décider du périmètre à la place de l'équipe Identifier les tâches à la place de l'équipe Prendre un engagement déraisonnable Estimer les tâches Ré-estimer les points de story?