SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
lundi 12 octobre 2009
      agiletour.org/fr/at2009_geneve.html




                      C3
       Spécifications et Planning :
     éxecution dans un monde Agile
Stéphane TAVERA & Jacques COUVREUR
USER STORIES
                                  PLANNING GAME
                    Spécifications et Planning : exécution dans un monde Agile


                                      Agile Tour 2009 / Genève
                                          Jacques Couvreur
                                            Stéphane Tavera

jeudi, 15 octobre 2009
“To me, the most important single thing about XP and
                      Agile as a management process is the continuous,
                      visible, delivery of features as specified by the
                      customer.”


                                                                                              Ron Jeffries, 10/21/2005
jeudi, 15 octobre 2009
 La lecture des 12 principes derrière le manifeste Agile
 (http://agilemanifesto.org/principles.html) montre que cʼest le coeur des méthodes Agile :
  - délivrer régulièrement un logiciel qui a de la valeur pour le client
Itératif




jeudi, 15 octobre 2009
 Un développement itératif découpe le projet en itérations.
 La taille dʼune itération est généralement de 2 à 4 semaines.
 Cette taille doit être gardée fixe.
Incrémental




jeudi, 15 octobre 2009
 Un développement incrémental implique de découper le logiciel
 en fonctionalités “métier”.
 Cʼest le contraire du découpage traditionnel en réalisations de couches techniques.
 “Build the infrastructure as you need it”.
Standup meeting




                                    Planning Poker

                                                                                                    User Stories
                                                                                    Planning Game
jeudi, 15 octobre 2009
Un petit peu de vocabulaire.
SCRUM et XP implémentent tous 2 un mode de développement itératif et incrémental.
Des spécifications exhaustives...




jeudi, 15 octobre 2009
 Des documents Word de plusieurs centaines de pages en début de projet,
 dans un jargon incompréhensible.
 Cela vous rappelle quelque chose ?
USER STORY |                                                            |
                                   NOM (PL. -RIES)

                                   UNITÉ DE FONCTIONALITÉ VISIBLE PAR LE CLIENT.




                                                                                       Kent Beck
                                                                                       “eXtreme Programming explained” 2nd edition
jeudi, 15 octobre 2009
Une User Story raconte ce que fera le système, dans le vocabulaire du client.
Mettre en place une nouvelle version dʼune base de données nʼest pas une User Story.
User Story
                                              =
                                          Use Case
jeudi, 15 octobre 2009
 Dans certains cas, une User Story peut coller avec un Use Case.
 Cependant, la User Story :
  - a un vocabulaire “métier” vs un vocabulaire “système”
 - cʼest lʼexpression dʼun but, pas la représentation idéale dʼune solution.
  - représente généralement plusieurs Use Cases
jeudi, 15 octobre 2009
Information Radiator




jeudi, 15 octobre 2009
 Un exemple dʼInformation Radiator.
 Lʼinformation nʼest pas enfermée dans un “frigidaire” (un outil qui demande
 une recherche explicite).
 Au contraire, lʼinformation rayonne.
UNE FORMULATION POUR
                                                    VOUS AIDER

                             As a customer,
                             I want to withdraw cash from an ATM,
                             so that I don’t have to wait in line at
                             the bank.

jeudi, 15 octobre 2009
 Cette formalisation très “industrielle” a plusieurs avantage :
 - lʼemphase est mise sur lʼutilisateur. Différents utilisateurs peuvent avoir
 des besoins *trés* différents !
  - cette contrainte de formalisation permet de détecter des User Stories faibles :
  - trop vague, peu de valeur “métier”, imprécision du but recherché.

Il nʼest pas obligatoire de lʼemployer systématiquement.

Voir Behaviour Driven Development (BDD, cf références)
Voir la technique “Personae”.
L’essence d’une User Story ?




jeudi, 15 octobre 2009
“... possédant une suspension permettant de traverser un champ
  labouré avec un panier d'œufs sans en casser un seul,...”

 Pierre Boulanger
 dirigea Citroën de 1935 à 1950




jeudi, 15 octobre 2009
 Le besoin est exprimé, pas la solution.
 Le test est implicite.
 pour les plus curieux :
 http://fr.wikipedia.org/wiki/Citroën_2CV
CCC
jeudi, 15 octobre 2009
Facile à manipuler,
                                                                     affichable sur un
                                                                ”information radiator”.



           Card
jeudi, 15 octobre 2009
Attention à ne pas suivre à la lettre.
Card implique que ça doit tenir sur une carte.
Un outil collaboratif, en ligne, peut sʼavérer plus pratique.

Ce qui est important cʼest lʼabsence de détails ici.
Tous les détails ne sont pas présents dans la
                                                                                                  User Story.
                                                                               La connaissance est transférée du “métier”
                                                                                vers l’équipe de développement pendant la
                                                                                                réalisation.




           Conversation
jeudi, 15 octobre 2009
- le moyen le plus efficace de diffusion de lʼinfo est par le biais de dialogues, fréquents et réguliers.
- des idées dʼamélioration peuvent survenir pendant cette discussion.

Aucune interdiction de faire référence à des documents, qui eux vont contenir des précisions complémentaires.
(la solution idéale étant quand même dʼexprimer ces précisions par des tests dʼacceptation).
Confirmation
                                                                                Quand pourra-t-on dire DONE/DONE ?




jeudi, 15 octobre 2009
 Lʼexpression Done/Done signifie complétement terminée.
 Pourrait-on vraiment mettre la User Story en production ?
 La User Story doit donc contenir des pointeurs vers des tests dʼacceptation.
 (cf le T. dʼINVEST)
Qualités d’une “bonne” User Story



jeudi, 15 octobre 2009
INVEST
jeudi, 15 octobre 2009
INDEPENDENT
          Tellement plus facile à “manipuler” !
jeudi, 15 octobre 2009
2 User Stories peuvent nʼavoir de la valeur que livrées ensemble.
Par contre, elles doivent être “manipulées” dans lʼexercice de planification
comme étant indépendantes.
NEGOTIABLE
                                                                                                                                 Laisser la possibilité d’ajuster.
jeudi, 15 octobre 2009
Attention aussi, à ce que chacun reste dans sa zone de responsabilité.
Une User Story ne devrait pas contenir de détails techniques dʼimplémentation (“je veux ce bouton à 45 pixels du bord droit”).

De plus, préciser complétement les choses avant la réalisation peut aboutir à :
- une divergence entre la réalisation et les specs
- fermer la porte à des idées dʼamélioration ou dʼadaptation
VALUABLE

                                                    Le “métier” décide !


jeudi, 15 octobre 2009
Même remarque : attention aussi, à ce que chacun reste dans sa zone de responsabilité.
Une User Story ne doit pas être exprimée par lʼéquipe de développement.

Exemple : “Changer de version de librairie pour tel ou tel composant”.
ESTIMATABLE

jeudi, 15 octobre 2009
                                                               “- Faites marcher le nouveau système
                                                                          comme l’ancien.
                                                                - Mais, hé ! Je n’en ai aucune idée! “
Lʼéquipe de développement doit avoir les éléments dʼinformation suffisantes pour estimer la complexité de
réalisation.
                                                                                                           ?
SMALL


jeudi, 15 octobre 2009
Une User Story dont la complexité est trop importante doit être scindée en User Stories plus
petites.
TESTABLE

jeudi, 15 octobre 2009
Qualité fondamentale !
Peut-on vérifier la User Story par une suite de Tests dʼAcceptation ?
Attention à lʼexpression dʼun besoin avec des termes subjectifs.

RSPEC/Cucumber (dans le monde Ruby) est un fantastique exemple.
Un framework pour décrire (et exécuter) des tests dʼacceptation.
                                                                         Je veux des beaux écrans.
                                                                                                     ?
“Prediction is hard,
  especially about the future.”




                                  Niels Bohr
jeudi, 15 octobre 2009
puisque le futur est si difficile à
                                                         prédire,
                                              pourquoi ne pas regarder le
                                             yesterday’s weather ... ?


jeudi, 15 octobre 2009
 “Some country decides to build a sophisticated computer system to predict the weather. After spending more money than I can imagine, they come up with wonderful result - and proudly claim that the system is 70% accurate. Somebody
 then figures out that in this country if you predict today's weather will be the same as yesterday's weather you will be 69.5% accurate.”
 Se fier à des problèmes de difficultés similaires pour estimer.
 Ne pas espèrer de changement “radical” dʼune itération sur lʼautre.
ESTIMATIONS



          User Story estimées en Story Points (pour déduire la velocité de l’équipe)

          Estimation des tasks en Heures (pour détecter les goulots d’étranglements)




jeudi, 15 octobre 2009
2 niveaux dʼestimation.

Les User Stories sont estimées en Story Points.

Les tasks sont estimées en heures.
Si vous pouvez mesurer le temps effectif passé sur chaque task,
la comparaison avec son estimation révèlera les goulots dʼétranglements.
Estimer = comparer




jeudi, 15 octobre 2009
 Lʼutilisation dʼune échelle “à la Fibonacci” repose sur notre capacité à estimer des ordres de grandeur,
 et notre incapacité à être plus précis.

A quelle distance se trouve le 1er arbre ?
A quelle distance se trouve le 1er immeuble ?
Questions délicates !

Les arbres au premier plan sont-il “à peu près” à la même distance ? OUI.
STORY POINT



     •    Unité de taille relative utilisée pour estimer la difficulté/complexité
          d’une User Story.

     •    Utilisation d’une pseudo-échelle de Fibonacci. Par exemple : 1, 2, 3, 5 et 8




jeudi, 15 octobre 2009


Vos estimations en Story Point de chaque User Story
seront sans doute fausses, *individuellement*.
En moyenne, cependant, ces erreurs se compensent.
Après quelques itérations, vous devriez avoir *confiance* dans votre capacité à délivrer
X fonctionnalités en une itération.
PLANNING POKER



     •    Une conversation pour obtenir un consensus sur les estimation des User Stories.
          Les participants sont les personnes en charge de la réalisation.




jeudi, 15 octobre 2009
Ce jeu est un déclencheur de conversations, de confrontations de points de vue sur le travail à
faire.
Pour y
                          voir
                          plus
                          clair


jeudi, 15 octobre 2009
CHAQUE JOUR


                         daily scrum ou standup meeting (XP)
                         1- Hier, j’ai travaillé sur ...
                         2- Aujourd’hui, je vais faire ...
                         3- Ce qui me retarde en ce moment, c’est...




jeudi, 15 octobre 2009
PENDANT L’ITERATION




                         Burndown chart


jeudi, 15 octobre 2009
 Le principe est simple.
 On note réguliérement le reste à faire (courbe rouge),
 sur un graphe qui comporte tout le travail à faire pour cette itération et
 la date de fin.
 La courbe orange représente un développement linéaire et idéal.

Cette courbe est aussi un révélateur de dysfonctionnements :
cf http://alistair.cockburn.us/Earned-value+and+burn+charts
ENTRE CHAQUE ITERATION


                                        RETROSPECTIVE


jeudi, 15 octobre 2009
 La rétrospective est une activité indispensable dans lʼAgilité.
 Inspect and Adapt !
 http://agile-alchemist.com/
La velocité est la seule mesure
                              visible par votre client



jeudi, 15 octobre 2009
    
 “The mind is not a vessel to be filled but a fire to be kindled.”
 Plutarch 46-119




jeudi, 15 octobre 2009
atelier
jeudi, 15 octobre 2009
ATELIER : PLANNING GAME


                                     •   Présentation

                                     •   1/2 : création des user stories

                                     •   1/2 : estimation

                                     •   conclusion



jeudi, 15 octobre 2009
•   La vision : une maison d’été, livrée dans 1 an.

                                                                •   Le nom : Le Pélican Rose

                                                                •   Les personnaes :

                                                                                 •   Jacques : aime les barbecues dans le jardin, le
                                                                                     cinéma, travaille de temps en temps à la maison,
                                                                                     du coup pas le temps de bricoler, branché high-
                                                                                     tech, domotique et énergies propres.

                                                                                 •   Stéphanie : aime la mer, faire la cuisine, prendre
                                                                                     de longs bains mais ne passe pas beaucoup de
                                                                                     temps dans la chambre. Infirmière de profession,
                                                                                     c’est une obsédée de l’hygiène.

                                                                                 •   Uminonaka : leur enfant, 1 ans 1/2. Dés qu’il
                                                                                     voit de l’eau il fonce dessus !

                                                                                 •   Moreno : le pote d’enfance, qui s’installe de
                                                                                     temps en temps et fouille partout.


jeudi, 15 octobre 2009
 « Umi no naka » veut dire dans lʼeau (de mer) en japonais...
ATELIER : CONCLUSION



                         Conversation    Emergence

                         Story point    Convergence

jeudi, 15 octobre 2009
Tous
                         ces changements !




jeudi, 15 octobre 2009
La valeur du planning dans un esprit XP n’est pas de
                rechercher une précision absolue au départ du projet.

                Les buts recherchés sont
                - délivrer régulièrement selon les priorités “métier”
                - avoir une vision réaliste et temps réel de l’avancement
                - avoir confiance sur ce qui peut être effectivement délivré
                (après quelques itérations)


jeudi, 15 octobre 2009
 Abandon de la “fausse” précision dʼun calcul précis au niveau des tasks.
 Le planning nʼest pas figé, mais peut être réaménagé en fonction
 - des priorités “métier”
 - de la montée en connaissance de lʼéquipe de développement
La conversation est omni-présente.
                Elle permet de :
           • faire émerger ce qui a vraiment de la valeur.
           •diffuser efficacement la connaissance.


jeudi, 15 octobre 2009
REFERENCES

                         •   http://agilemanifesto.org/principles.html

                         •   http://www.mountaingoatsoftware.com/

                         •   http://xprogramming.com/index.php

                         •   http://xprogramming.com/xpmag/expCardConversationConfirmation
                         •   Agile Estimating and Planning” and “User Stories Applied For Agile Software
                             Development”
                             http://www.mountaingoatsoftware.com/books

jeudi, 15 octobre 2009
REFERENCES


                         •   http://dannorth.net/introducing-bdd

                         •   Photos iStockPhoto, sauf
                             2cv http://image.blog.livedoor.jp/decobocobo/imgs/f/c/fc6424c1.jpg

                         •   http://fr.wikipedia.org/wiki/Citroën_2CV



jeudi, 15 octobre 2009
merci aux sponsors !

Más contenido relacionado

Destacado

Management de projet agile vs classique pmi atlantic 20120322
Management de projet agile vs classique pmi atlantic 20120322Management de projet agile vs classique pmi atlantic 20120322
Management de projet agile vs classique pmi atlantic 20120322Jean-Luc MAZE
 
kanban, un outil de production
kanban, un outil de productionkanban, un outil de production
kanban, un outil de productionYannick Quenec'hdu
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionTremeur Balbous
 
Conduite et gestion de projet
Conduite et gestion de projetConduite et gestion de projet
Conduite et gestion de projetJCI Ariana
 
Gestion de projets agiles avec scrum
Gestion de projets agiles avec scrumGestion de projets agiles avec scrum
Gestion de projets agiles avec scrumPierre E. NEIS
 
Les 4 phases du management de projet
Les 4 phases du management de projetLes 4 phases du management de projet
Les 4 phases du management de projetAntonin GAUNAND
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesSirine Barguaoui
 
Management de Projet: piloter, animer, conduire des projets
Management de Projet: piloter, animer, conduire des projetsManagement de Projet: piloter, animer, conduire des projets
Management de Projet: piloter, animer, conduire des projetsPascal Méance
 
Introduction aux méthodes agiles
Introduction aux méthodes agilesIntroduction aux méthodes agiles
Introduction aux méthodes agilesGuillaume Collic
 

Destacado (13)

Management de projet agile vs classique pmi atlantic 20120322
Management de projet agile vs classique pmi atlantic 20120322Management de projet agile vs classique pmi atlantic 20120322
Management de projet agile vs classique pmi atlantic 20120322
 
kanban, un outil de production
kanban, un outil de productionkanban, un outil de production
kanban, un outil de production
 
Les méthodes Agiles - Introduction
Les méthodes Agiles - IntroductionLes méthodes Agiles - Introduction
Les méthodes Agiles - Introduction
 
Les fondamentaux du Management de Projet
Les fondamentaux du Management de ProjetLes fondamentaux du Management de Projet
Les fondamentaux du Management de Projet
 
Agilité pour les nuls
Agilité pour les nulsAgilité pour les nuls
Agilité pour les nuls
 
Conduite et gestion de projet
Conduite et gestion de projetConduite et gestion de projet
Conduite et gestion de projet
 
Gestion de projets agiles avec scrum
Gestion de projets agiles avec scrumGestion de projets agiles avec scrum
Gestion de projets agiles avec scrum
 
20mn scrum
20mn scrum20mn scrum
20mn scrum
 
Gestion de projet
Gestion de projetGestion de projet
Gestion de projet
 
Les 4 phases du management de projet
Les 4 phases du management de projetLes 4 phases du management de projet
Les 4 phases du management de projet
 
Méthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiquesMéthodes agiles vs méthodes classiques
Méthodes agiles vs méthodes classiques
 
Management de Projet: piloter, animer, conduire des projets
Management de Projet: piloter, animer, conduire des projetsManagement de Projet: piloter, animer, conduire des projets
Management de Projet: piloter, animer, conduire des projets
 
Introduction aux méthodes agiles
Introduction aux méthodes agilesIntroduction aux méthodes agiles
Introduction aux méthodes agiles
 

Similar a Spécifications et Planning : éxecution dans un monde Agile

Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Oeil de Coach
 
Storyboarding for the web : Methodology and Tools
Storyboarding for the web : Methodology and ToolsStoryboarding for the web : Methodology and Tools
Storyboarding for the web : Methodology and ToolsEric DI POL
 
Oeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.com
Oeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.comOeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.com
Oeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.comOeil de Coach
 
Portail d'entreprise / eXo Platform
Portail d'entreprise / eXo PlatformPortail d'entreprise / eXo Platform
Portail d'entreprise / eXo PlatformTugdual Grall
 
Comment rater son évolution vers l'IT as a Service
Comment rater son évolution vers l'IT as a ServiceComment rater son évolution vers l'IT as a Service
Comment rater son évolution vers l'IT as a Servicebdereims
 
comment rédiger une expression de besoins
comment rédiger une expression de besoinscomment rédiger une expression de besoins
comment rédiger une expression de besoinsAlexandre Zermati
 
Agile - Les stories INVEST, 3C et SMART
Agile - Les stories INVEST, 3C et SMARTAgile - Les stories INVEST, 3C et SMART
Agile - Les stories INVEST, 3C et SMARTSébastien GAUDIN
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 MinutesMicrosoft
 
2010-02 Migration vers le Cloud - Lancelot-Network
2010-02 Migration vers le Cloud - Lancelot-Network2010-02 Migration vers le Cloud - Lancelot-Network
2010-02 Migration vers le Cloud - Lancelot-NetworkYves Leblond
 
Révolutionner vos présentations
Révolutionner vos présentationsRévolutionner vos présentations
Révolutionner vos présentationsBertrand Maltaverne
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilespprem
 
Introduction à l'agilité numélink - 24 mai 2012 - #3 etapes proj
Introduction à l'agilité   numélink - 24 mai 2012 - #3 etapes projIntroduction à l'agilité   numélink - 24 mai 2012 - #3 etapes proj
Introduction à l'agilité numélink - 24 mai 2012 - #3 etapes projagnes_crepet
 
Introduction à Scrum et aux méthodes agiles (v1.0)
Introduction à Scrum et aux méthodes agiles (v1.0)Introduction à Scrum et aux méthodes agiles (v1.0)
Introduction à Scrum et aux méthodes agiles (v1.0)Blackbird
 
Le Guide du Parler Humain
Le Guide du Parler Humain Le Guide du Parler Humain
Le Guide du Parler Humain PRODWARE
 
Vente Ordinateur De Bureau Multimédia Pas Cher
Vente Ordinateur De Bureau Multimédia Pas Cher
Vente Ordinateur De Bureau Multimédia Pas Cher
Vente Ordinateur De Bureau Multimédia Pas Cher knowingnational64
 

Similar a Spécifications et Planning : éxecution dans un monde Agile (20)

Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
Mieux rediger-les-user-stories-bonnes-pratiques-oeildecoach 2019
 
test
testtest
test
 
Storyboarding for the web : Methodology and Tools
Storyboarding for the web : Methodology and ToolsStoryboarding for the web : Methodology and Tools
Storyboarding for the web : Methodology and Tools
 
Oeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.com
Oeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.comOeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.com
Oeil user story_bonnes_pratiques_Martial_SEGURA oeildecoach.com
 
Sprint0
Sprint0Sprint0
Sprint0
 
Les enjeux du Poste de Travail
Les enjeux du Poste de TravailLes enjeux du Poste de Travail
Les enjeux du Poste de Travail
 
Portail d'entreprise / eXo Platform
Portail d'entreprise / eXo PlatformPortail d'entreprise / eXo Platform
Portail d'entreprise / eXo Platform
 
Comment rater son évolution vers l'IT as a Service
Comment rater son évolution vers l'IT as a ServiceComment rater son évolution vers l'IT as a Service
Comment rater son évolution vers l'IT as a Service
 
comment rédiger une expression de besoins
comment rédiger une expression de besoinscomment rédiger une expression de besoins
comment rédiger une expression de besoins
 
#3 etapes projet
#3 etapes projet#3 etapes projet
#3 etapes projet
 
Agile - Les stories INVEST, 3C et SMART
Agile - Les stories INVEST, 3C et SMARTAgile - Les stories INVEST, 3C et SMART
Agile - Les stories INVEST, 3C et SMART
 
Kinect en moins de 10 Minutes
Kinect en moins de 10 MinutesKinect en moins de 10 Minutes
Kinect en moins de 10 Minutes
 
2010-02 Migration vers le Cloud - Lancelot-Network
2010-02 Migration vers le Cloud - Lancelot-Network2010-02 Migration vers le Cloud - Lancelot-Network
2010-02 Migration vers le Cloud - Lancelot-Network
 
Révolutionner vos présentations
Révolutionner vos présentationsRévolutionner vos présentations
Révolutionner vos présentations
 
Agile Tour 2016 @ Lille
Agile Tour 2016 @ LilleAgile Tour 2016 @ Lille
Agile Tour 2016 @ Lille
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
 
Introduction à l'agilité numélink - 24 mai 2012 - #3 etapes proj
Introduction à l'agilité   numélink - 24 mai 2012 - #3 etapes projIntroduction à l'agilité   numélink - 24 mai 2012 - #3 etapes proj
Introduction à l'agilité numélink - 24 mai 2012 - #3 etapes proj
 
Introduction à Scrum et aux méthodes agiles (v1.0)
Introduction à Scrum et aux méthodes agiles (v1.0)Introduction à Scrum et aux méthodes agiles (v1.0)
Introduction à Scrum et aux méthodes agiles (v1.0)
 
Le Guide du Parler Humain
Le Guide du Parler Humain Le Guide du Parler Humain
Le Guide du Parler Humain
 
Vente Ordinateur De Bureau Multimédia Pas Cher
Vente Ordinateur De Bureau Multimédia Pas Cher
Vente Ordinateur De Bureau Multimédia Pas Cher
Vente Ordinateur De Bureau Multimédia Pas Cher
 

Más de Agile Tour Genève

Maitrise d'Ouvrage et Agilité
Maitrise d'Ouvrage et AgilitéMaitrise d'Ouvrage et Agilité
Maitrise d'Ouvrage et AgilitéAgile Tour Genève
 
Vers une infrastructure plus agile avec le Cloud Computing
Vers une infrastructure plus agile avec le Cloud ComputingVers une infrastructure plus agile avec le Cloud Computing
Vers une infrastructure plus agile avec le Cloud ComputingAgile Tour Genève
 
Rétrospective - Alchimiste-Agile.com
Rétrospective - Alchimiste-Agile.comRétrospective - Alchimiste-Agile.com
Rétrospective - Alchimiste-Agile.comAgile Tour Genève
 
Accompagner la transition vers l'agilité
Accompagner la transition vers l'agilitéAccompagner la transition vers l'agilité
Accompagner la transition vers l'agilitéAgile Tour Genève
 
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)Agile Tour Genève
 
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")Agile Tour Genève
 
Les défis de Scrum pour une grande organisation
Les défis de Scrum pour une grande organisationLes défis de Scrum pour une grande organisation
Les défis de Scrum pour une grande organisationAgile Tour Genève
 
Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !Agile Tour Genève
 
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutablesSoigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutablesAgile Tour Genève
 
La face cachée de la mesure : une opportunité pour votre amélioration continue
La face cachée de la mesure : une opportunité pour votre amélioration continueLa face cachée de la mesure : une opportunité pour votre amélioration continue
La face cachée de la mesure : une opportunité pour votre amélioration continueAgile Tour Genève
 
Convergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XPConvergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XPAgile Tour Genève
 

Más de Agile Tour Genève (11)

Maitrise d'Ouvrage et Agilité
Maitrise d'Ouvrage et AgilitéMaitrise d'Ouvrage et Agilité
Maitrise d'Ouvrage et Agilité
 
Vers une infrastructure plus agile avec le Cloud Computing
Vers une infrastructure plus agile avec le Cloud ComputingVers une infrastructure plus agile avec le Cloud Computing
Vers une infrastructure plus agile avec le Cloud Computing
 
Rétrospective - Alchimiste-Agile.com
Rétrospective - Alchimiste-Agile.comRétrospective - Alchimiste-Agile.com
Rétrospective - Alchimiste-Agile.com
 
Accompagner la transition vers l'agilité
Accompagner la transition vers l'agilitéAccompagner la transition vers l'agilité
Accompagner la transition vers l'agilité
 
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
Coding Dojo - Kata sur le pilotage par les tests d'acceptances (ATDD)
 
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
La parabole du trafic urbain (ou "Comment expliquer l'Agilité à grand-maman?")
 
Les défis de Scrum pour une grande organisation
Les défis de Scrum pour une grande organisationLes défis de Scrum pour une grande organisation
Les défis de Scrum pour une grande organisation
 
Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !
 
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutablesSoigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
Soigner sa schizophrénie MOA/MOE - Voyage au pays des spécifications exécutables
 
La face cachée de la mesure : une opportunité pour votre amélioration continue
La face cachée de la mesure : une opportunité pour votre amélioration continueLa face cachée de la mesure : une opportunité pour votre amélioration continue
La face cachée de la mesure : une opportunité pour votre amélioration continue
 
Convergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XPConvergences entre CMMI et SCRUM / XP
Convergences entre CMMI et SCRUM / XP
 

Spécifications et Planning : éxecution dans un monde Agile

  • 1. lundi 12 octobre 2009 agiletour.org/fr/at2009_geneve.html C3 Spécifications et Planning : éxecution dans un monde Agile Stéphane TAVERA & Jacques COUVREUR
  • 2. USER STORIES PLANNING GAME Spécifications et Planning : exécution dans un monde Agile Agile Tour 2009 / Genève Jacques Couvreur Stéphane Tavera jeudi, 15 octobre 2009
  • 3. “To me, the most important single thing about XP and Agile as a management process is the continuous, visible, delivery of features as specified by the customer.” Ron Jeffries, 10/21/2005 jeudi, 15 octobre 2009 La lecture des 12 principes derrière le manifeste Agile (http://agilemanifesto.org/principles.html) montre que cʼest le coeur des méthodes Agile : - délivrer régulièrement un logiciel qui a de la valeur pour le client
  • 4. Itératif jeudi, 15 octobre 2009 Un développement itératif découpe le projet en itérations. La taille dʼune itération est généralement de 2 à 4 semaines. Cette taille doit être gardée fixe.
  • 5. Incrémental jeudi, 15 octobre 2009 Un développement incrémental implique de découper le logiciel en fonctionalités “métier”. Cʼest le contraire du découpage traditionnel en réalisations de couches techniques. “Build the infrastructure as you need it”.
  • 6. Standup meeting Planning Poker User Stories Planning Game jeudi, 15 octobre 2009 Un petit peu de vocabulaire. SCRUM et XP implémentent tous 2 un mode de développement itératif et incrémental.
  • 7. Des spécifications exhaustives... jeudi, 15 octobre 2009 Des documents Word de plusieurs centaines de pages en début de projet, dans un jargon incompréhensible. Cela vous rappelle quelque chose ?
  • 8. USER STORY | | NOM (PL. -RIES) UNITÉ DE FONCTIONALITÉ VISIBLE PAR LE CLIENT. Kent Beck “eXtreme Programming explained” 2nd edition jeudi, 15 octobre 2009 Une User Story raconte ce que fera le système, dans le vocabulaire du client. Mettre en place une nouvelle version dʼune base de données nʼest pas une User Story.
  • 9. User Story = Use Case jeudi, 15 octobre 2009 Dans certains cas, une User Story peut coller avec un Use Case. Cependant, la User Story : - a un vocabulaire “métier” vs un vocabulaire “système” - cʼest lʼexpression dʼun but, pas la représentation idéale dʼune solution. - représente généralement plusieurs Use Cases
  • 11. Information Radiator jeudi, 15 octobre 2009 Un exemple dʼInformation Radiator. Lʼinformation nʼest pas enfermée dans un “frigidaire” (un outil qui demande une recherche explicite). Au contraire, lʼinformation rayonne.
  • 12. UNE FORMULATION POUR VOUS AIDER As a customer, I want to withdraw cash from an ATM, so that I don’t have to wait in line at the bank. jeudi, 15 octobre 2009 Cette formalisation très “industrielle” a plusieurs avantage : - lʼemphase est mise sur lʼutilisateur. Différents utilisateurs peuvent avoir des besoins *trés* différents ! - cette contrainte de formalisation permet de détecter des User Stories faibles : - trop vague, peu de valeur “métier”, imprécision du but recherché. Il nʼest pas obligatoire de lʼemployer systématiquement. Voir Behaviour Driven Development (BDD, cf références) Voir la technique “Personae”.
  • 13. L’essence d’une User Story ? jeudi, 15 octobre 2009
  • 14. “... possédant une suspension permettant de traverser un champ labouré avec un panier d'œufs sans en casser un seul,...” Pierre Boulanger dirigea Citroën de 1935 à 1950 jeudi, 15 octobre 2009 Le besoin est exprimé, pas la solution. Le test est implicite. pour les plus curieux : http://fr.wikipedia.org/wiki/Citroën_2CV
  • 16. Facile à manipuler, affichable sur un ”information radiator”. Card jeudi, 15 octobre 2009 Attention à ne pas suivre à la lettre. Card implique que ça doit tenir sur une carte. Un outil collaboratif, en ligne, peut sʼavérer plus pratique. Ce qui est important cʼest lʼabsence de détails ici.
  • 17. Tous les détails ne sont pas présents dans la User Story. La connaissance est transférée du “métier” vers l’équipe de développement pendant la réalisation. Conversation jeudi, 15 octobre 2009 - le moyen le plus efficace de diffusion de lʼinfo est par le biais de dialogues, fréquents et réguliers. - des idées dʼamélioration peuvent survenir pendant cette discussion. Aucune interdiction de faire référence à des documents, qui eux vont contenir des précisions complémentaires. (la solution idéale étant quand même dʼexprimer ces précisions par des tests dʼacceptation).
  • 18. Confirmation Quand pourra-t-on dire DONE/DONE ? jeudi, 15 octobre 2009 Lʼexpression Done/Done signifie complétement terminée. Pourrait-on vraiment mettre la User Story en production ? La User Story doit donc contenir des pointeurs vers des tests dʼacceptation. (cf le T. dʼINVEST)
  • 19. Qualités d’une “bonne” User Story jeudi, 15 octobre 2009
  • 21. INDEPENDENT Tellement plus facile à “manipuler” ! jeudi, 15 octobre 2009 2 User Stories peuvent nʼavoir de la valeur que livrées ensemble. Par contre, elles doivent être “manipulées” dans lʼexercice de planification comme étant indépendantes.
  • 22. NEGOTIABLE Laisser la possibilité d’ajuster. jeudi, 15 octobre 2009 Attention aussi, à ce que chacun reste dans sa zone de responsabilité. Une User Story ne devrait pas contenir de détails techniques dʼimplémentation (“je veux ce bouton à 45 pixels du bord droit”). De plus, préciser complétement les choses avant la réalisation peut aboutir à : - une divergence entre la réalisation et les specs - fermer la porte à des idées dʼamélioration ou dʼadaptation
  • 23. VALUABLE Le “métier” décide ! jeudi, 15 octobre 2009 Même remarque : attention aussi, à ce que chacun reste dans sa zone de responsabilité. Une User Story ne doit pas être exprimée par lʼéquipe de développement. Exemple : “Changer de version de librairie pour tel ou tel composant”.
  • 24. ESTIMATABLE jeudi, 15 octobre 2009 “- Faites marcher le nouveau système comme l’ancien. - Mais, hé ! Je n’en ai aucune idée! “ Lʼéquipe de développement doit avoir les éléments dʼinformation suffisantes pour estimer la complexité de réalisation. ?
  • 25. SMALL jeudi, 15 octobre 2009 Une User Story dont la complexité est trop importante doit être scindée en User Stories plus petites.
  • 26. TESTABLE jeudi, 15 octobre 2009 Qualité fondamentale ! Peut-on vérifier la User Story par une suite de Tests dʼAcceptation ? Attention à lʼexpression dʼun besoin avec des termes subjectifs. RSPEC/Cucumber (dans le monde Ruby) est un fantastique exemple. Un framework pour décrire (et exécuter) des tests dʼacceptation. Je veux des beaux écrans. ?
  • 27. “Prediction is hard, especially about the future.” Niels Bohr jeudi, 15 octobre 2009
  • 28. puisque le futur est si difficile à prédire, pourquoi ne pas regarder le yesterday’s weather ... ? jeudi, 15 octobre 2009 “Some country decides to build a sophisticated computer system to predict the weather. After spending more money than I can imagine, they come up with wonderful result - and proudly claim that the system is 70% accurate. Somebody then figures out that in this country if you predict today's weather will be the same as yesterday's weather you will be 69.5% accurate.” Se fier à des problèmes de difficultés similaires pour estimer. Ne pas espèrer de changement “radical” dʼune itération sur lʼautre.
  • 29. ESTIMATIONS User Story estimées en Story Points (pour déduire la velocité de l’équipe) Estimation des tasks en Heures (pour détecter les goulots d’étranglements) jeudi, 15 octobre 2009 2 niveaux dʼestimation. Les User Stories sont estimées en Story Points. Les tasks sont estimées en heures. Si vous pouvez mesurer le temps effectif passé sur chaque task, la comparaison avec son estimation révèlera les goulots dʼétranglements.
  • 30. Estimer = comparer jeudi, 15 octobre 2009 Lʼutilisation dʼune échelle “à la Fibonacci” repose sur notre capacité à estimer des ordres de grandeur, et notre incapacité à être plus précis. A quelle distance se trouve le 1er arbre ? A quelle distance se trouve le 1er immeuble ? Questions délicates ! Les arbres au premier plan sont-il “à peu près” à la même distance ? OUI.
  • 31. STORY POINT • Unité de taille relative utilisée pour estimer la difficulté/complexité d’une User Story. • Utilisation d’une pseudo-échelle de Fibonacci. Par exemple : 1, 2, 3, 5 et 8 jeudi, 15 octobre 2009 Vos estimations en Story Point de chaque User Story seront sans doute fausses, *individuellement*. En moyenne, cependant, ces erreurs se compensent. Après quelques itérations, vous devriez avoir *confiance* dans votre capacité à délivrer X fonctionnalités en une itération.
  • 32. PLANNING POKER • Une conversation pour obtenir un consensus sur les estimation des User Stories. Les participants sont les personnes en charge de la réalisation. jeudi, 15 octobre 2009 Ce jeu est un déclencheur de conversations, de confrontations de points de vue sur le travail à faire.
  • 33. Pour y voir plus clair jeudi, 15 octobre 2009
  • 34. CHAQUE JOUR daily scrum ou standup meeting (XP) 1- Hier, j’ai travaillé sur ... 2- Aujourd’hui, je vais faire ... 3- Ce qui me retarde en ce moment, c’est... jeudi, 15 octobre 2009
  • 35. PENDANT L’ITERATION Burndown chart jeudi, 15 octobre 2009 Le principe est simple. On note réguliérement le reste à faire (courbe rouge), sur un graphe qui comporte tout le travail à faire pour cette itération et la date de fin. La courbe orange représente un développement linéaire et idéal. Cette courbe est aussi un révélateur de dysfonctionnements : cf http://alistair.cockburn.us/Earned-value+and+burn+charts
  • 36. ENTRE CHAQUE ITERATION RETROSPECTIVE jeudi, 15 octobre 2009 La rétrospective est une activité indispensable dans lʼAgilité. Inspect and Adapt ! http://agile-alchemist.com/
  • 37. La velocité est la seule mesure visible par votre client jeudi, 15 octobre 2009
  • 38.      “The mind is not a vessel to be filled but a fire to be kindled.” Plutarch 46-119 jeudi, 15 octobre 2009
  • 40. ATELIER : PLANNING GAME • Présentation • 1/2 : création des user stories • 1/2 : estimation • conclusion jeudi, 15 octobre 2009
  • 41. La vision : une maison d’été, livrée dans 1 an. • Le nom : Le Pélican Rose • Les personnaes : • Jacques : aime les barbecues dans le jardin, le cinéma, travaille de temps en temps à la maison, du coup pas le temps de bricoler, branché high- tech, domotique et énergies propres. • Stéphanie : aime la mer, faire la cuisine, prendre de longs bains mais ne passe pas beaucoup de temps dans la chambre. Infirmière de profession, c’est une obsédée de l’hygiène. • Uminonaka : leur enfant, 1 ans 1/2. Dés qu’il voit de l’eau il fonce dessus ! • Moreno : le pote d’enfance, qui s’installe de temps en temps et fouille partout. jeudi, 15 octobre 2009 « Umi no naka » veut dire dans lʼeau (de mer) en japonais...
  • 42. ATELIER : CONCLUSION Conversation Emergence Story point Convergence jeudi, 15 octobre 2009
  • 43. Tous ces changements ! jeudi, 15 octobre 2009
  • 44. La valeur du planning dans un esprit XP n’est pas de rechercher une précision absolue au départ du projet. Les buts recherchés sont - délivrer régulièrement selon les priorités “métier” - avoir une vision réaliste et temps réel de l’avancement - avoir confiance sur ce qui peut être effectivement délivré (après quelques itérations) jeudi, 15 octobre 2009 Abandon de la “fausse” précision dʼun calcul précis au niveau des tasks. Le planning nʼest pas figé, mais peut être réaménagé en fonction - des priorités “métier” - de la montée en connaissance de lʼéquipe de développement
  • 45. La conversation est omni-présente. Elle permet de : • faire émerger ce qui a vraiment de la valeur. •diffuser efficacement la connaissance. jeudi, 15 octobre 2009
  • 46. REFERENCES • http://agilemanifesto.org/principles.html • http://www.mountaingoatsoftware.com/ • http://xprogramming.com/index.php • http://xprogramming.com/xpmag/expCardConversationConfirmation • Agile Estimating and Planning” and “User Stories Applied For Agile Software Development” http://www.mountaingoatsoftware.com/books jeudi, 15 octobre 2009
  • 47. REFERENCES • http://dannorth.net/introducing-bdd • Photos iStockPhoto, sauf 2cv http://image.blog.livedoor.jp/decobocobo/imgs/f/c/fc6424c1.jpg • http://fr.wikipedia.org/wiki/Citroën_2CV jeudi, 15 octobre 2009