4 Les mots savants expliqués
4 Des exemples simples
4 Une histoire presque vraie
 racontée par … Jean-François Jagodzinski
   Twitter: @jfjago
Veut attaquer le marché du jeu vidéo
Les gars à Namco®
  contactent Bill
Il travaille dans une entreprise de
développement logiciel réputée :
RaftingSoftware
Bill, comme chef de projets, s’engage sur
un contenu, à livrer à une certaine date,
et dispose donc d’un certain budget.
Bill analyse le travail qui doit être fait,
Ensuite il va voir l’équipe et lui distribue
les tâches.
Chacun travaille sur sa partie et
uniquement sur celle-ci.
Après 2 mois, l’équipe dit qu’elle est dans
les délais, mais rien n’est fini encore…
Comme l’échéance approche, l’équipe
commence à perdre confiance…
Les gars de Namco viennent d’avoir une
grande idée : une grille infinie…
Ce n’était pas prévu au Cahier des charges,
Bill commence à négocier…
La fin approche, il est temps de mettre un
petit peu la pression sur l’équipe… Allez les
gars, on peut y arriver !
Quand même pas suffisant… les soirées
sont longues…
Au final on fournit quand même ce qui
était demandé… pourtant le client n’est
pas content
De son coté Bill est satisfait, il a respecté
les délais, le budget, le contenu demandé…
le projet est un succès !
Voici comment Bill voit le projet




Négociation   Analyse     Développement   Test
Quel est le problème ? La demande a été
respectée au final.
Quelques pistes…
Le client n’est pas satisfait
L’équipe n’avait pas la parole
La demande a été fixée au départ et n’a pas évolué
Les changements ont été durement négociés
Bill a décidé seul du travail des équipiers
L’équipe a travaillé à partir d’informations filtrées par Bill
Le risque de retard n’a pu être identifié que très tard
L’équipe à fait des heures sup
L’équipe à pris des raccourcis pour finir à temps
C’est une situation que vous avez peut-être
connue…
Mais pour Namco® l’argent n’est pas
vraiment la question, ils ont envie
d’essayer un autre fournisseur…
Ils contactent Bob de ACTic
Bob suggère de travailler par itération,
mais avant cela, quelle est la vision du
produit ?
Ensemble Bob et les gars de Namco®
écrivent des « user stories », toutes ces
stories forment le « product backlog »

                      En tant que joueur, je
                      souhaite pourvoir déplacer
                      PacMan dans les 4
                      directions de façon à
                      pouvoir appliquer ma
                      stratégie
Et il demande aux gars de Namco® de lister
les stories par priorité
Ensemble ils revoient les user stories en
haut du backlog et ajoutent quelques
détails pour être sûrs que l’équipe peut
commencer à travailler dessus
Avant de démarrer, ils se mettent tous
d’accord sur ce que « fini » veut réellement
dire…
L’équipe elle-même estime l’effort pour
réaliser ces stories, Bob et les gars de
Namco® sont uniquement là pour
répondre à leurs questions…
L’équipe essaie d’imaginer combien de
travail elle peut faire en une itération
A partir des user stories estimées, on
prend les top priorités à hauteur de la
contrainte donnée par l’équipe
L’équipe démarre le travail en prenant les
stories une par une
Pendant ce temps, Bob et les gars de
Namco ajoutent davantage de détails sur
les prochaines user stories
Quand l’équipe pense qu’une story et
« finie » le client peut la voir, l’essayer et
donner son feedback
Pas satisfait ? L’équipe change la
fonctionnalité immédiatement en prenant
en compte le feedback de l’utilisateur
Le client a une autre idée, PacMan peut se
téléporter quand il mange un fruit magique
Aucun problème, Bob ajoute la user story
dans le backlog, elle sera prise dans la
prochaine itération

                       En tant que joueur, je
                       souhaite que PacMan se
                       téléporte de façon à
                       pouvoir échapper aux
                       fantômes
A la fin de l’itération, l’équipe fait une
démo de ce qui a été « fini » pendant
l’itération
Puis ils se retrouvent dans une
rétrospective pour voir ce qui a bien marché
et ce qu’il faudrait améliorer
Et on repart pour une nouvelle itération à
partir des top priorités suivantes
Quand ils arrivent à la date finale de remise
du projet, il reste encore quelques stories
dans le backlog mais le client est ravi par le
produit
Voilà, c’est ça « Agile »
Le projet vu par Bob
Mais ça veut dire quoi vraiment
« être Agile » ?
Des valeurs et des principes

Les individus et les interactions plutôt que des procédures et outils

Un logiciel qui fonctionne plutôt qu’une documentation abondante

La collaboration avec le client plutôt que la négociation du contrat

L’accueil du changement plutôt que le respect du plan



               http://agilemanifesto.org
D’accord, mais comment ont ils fait
ça chez ACTic ?
Au début …
Ensemble avec Bob ils ont défini une Vision
du produit
Avec Bob, le client a écrit quelques user
stories

             En tant que joueur, je
             souhaite pourvoir déplacer
             PacMan dans les 4
             directions de façon à
             pouvoir appliquer ma
             stratégie
OK, stop c’est quoi une user story ?
C’est une histoire…
 pour un utilisateur
En tant que <rôle>
Je souhaite <faire une action>
De façon à <obtenir un gain>
A partir de ces user stories, ils ont
constitués un product backlog


                       En tant que joueur, je
                       souhaite pourvoir déplacer
                       PacMan dans les 4
                       directions de façon à
                       pouvoir appliquer ma
                       stratégie
Ensuite ils l’ont ordonné selon l’importance
des gains obtenus avec chaque story
Ils ont précisé ensemble avec l’équipe
de développement ce que « fini »
voulait dire
Qu’est ce que l’on a adressé avec ça ?
Le client n’est pas satisfait
L’équipe n’avait pas la parole
La demande a été fixée au départ et n’a pas évolué
Les changements ont été durement négociés
Bill à décidé seul du travail des équipiers
L’équipe a travaillé à partir d’informations filtrées par Bill
Le risque de retard n’a pu être identifié que très tard
L’équipe à fait des heures sup
L’équipe à pris des raccourcis pour finir à temps
Et ensuite ?
Bob a demandé à l’équipe d’estimer l’effort pour
réaliser chaque story
Bob a demandé à l’équipe d’estimer l’effort en
utilisant des « story points »

                             En tant que joueur      5
                             , je souhaite pourvoir
                             déplacer PacMan dans les
                             4 directions de façon à
                             pouvoir appliquer ma
                             stratégie


                        Construire la          Manager 4
                           grille               directions
                                               (E,S,O,N)
                                   Contrôler le
                                   déplacement
L’équipe a affecté les story points en utilisant le
     En utilisant» planning poker
« planning poker
                   le




                http://www.planningpoker.com/
On a ensuite demandé à l’équipe
d’estimer sa « vélocité »




          http://www.planningpoker.com/
Combien pouvez vous en manger en 1
minute ?




          http://www.planningpoker.com/
A partir de la vélocité, Bob demande au
client de proposer le contenu d’itération
L’équipe accepte de s’engager à tout
livrer en fin d’itération
Qu’est ce que l’on a adressé avec ça ?
Le client n’est pas satisfait
L’équipe n’avait pas la parole
La demande a été fixée au départ et n’a pas évolué
Les changements ont été durement négociés
Bill à décidé seul du travail des équipiers
L’équipe a travaillé à partir d’informations filtrées par Bill
Le risque de retard n’a pu être identifié que très tard
L’équipe à fait des heures sup
L’équipe à pris des raccourcis pour finir à temps
Et maintenant ?
Ils ont créé un tableau des tâches


         A faire   En cours   Fini
En regardant le travail à faire pour chaque story


                                              Gérez 4
                              Construire la   directions :
                          5      grille       nord, est,
  Dans le but de dérouler                     sud, ouest
  ma stratégie, en tant que
  joueur, je souhaite
  pourvoir déplacer                Tester les
  PacMan dans les 4               déplacements
  directions                      dans la grille
Chaque matin l’équipe se réunissait devant
le tableau des taches pour un « stand-up »
                  A faire   En cours   Fini
Les équipiers organisaient le travail
comme ils le voulaient,
Certains travaillaient en binôme
Ils organisaient aussi des revues de code
Ils écrivaient les tests
Ils écrivaient les tests avant de coder
Une fois le test écrit…
…écrire le minimum de code pour le
passer
Un autre test…




        …et un peu plus de code
Pendant ce temps le client avec l’aide de
Bob avait détaillé de nouvelles stories
C’est comme…
Chaque fois que l’équipe pensait qu’elle
avait « fini », le client pouvait tester
Et enfin…
A la fin de l’itération, l’équipe faisait une
démo de tout ce qui avait été « fini »
pendant l’itération
Le client « acceptait » toutes les stories
« finies »
Et toutes les stories « finies » pouvaient
partir en production
Après la démo Bob animait une
rétrospective pour améliorer la façon de
travailler
Qu’est ce que l’on a adressé avec ça ?
Le client n’est pas satisfait
L’équipe n’avait pas la parole
La demande a été fixée au départ et n’a pas évolué
Les changements ont été durement négociés
Bill à décidé seul du travail des équipiers
L’équipe a travaillé à partir d’informations filtrées par Bill
Le risque de retard n’a pu être identifié que très tard
L’équipe à fait des heures sup
L’équipe à pris des raccourcis pour finir à temps
Fêter …




  Avec
modération
    !
…et itérer
…jusqu’à ce qu’il n’y ait plus de budget
…ou avant si le client est satisfait
A la toute dernière itération, la dernière
démo …
On fait une rétrospective du projet
complet
Et fêter !




  Avec
modération
    !
Bob ne pilotait pas le projet, il facilitait
        le travail en commun




           Il était Scrum Master
Qu’est ce que l’on a adressé avec ça ?
Le client n’est pas satisfait
L’équipe n’avait pas la parole
La demande a été fixée au départ et n’a pas évolué
Les changements ont été durement négociés
Bill à décidé seul du travail des équipiers
L’équipe a travaillé à partir d’informations filtrées par Bill
Le risque de retard n’a pu être identifié que très tard
L’équipe à fait des heures sup
L’équipe à pris des raccourcis pour finir à temps
Cette présentation est largement reprise (avec leur accord)
             de celle de http://agilecampustour.org



   Questions ?




Jf@jago.fr

Agilité pour les nuls

  • 1.
    4 Les motssavants expliqués 4 Des exemples simples 4 Une histoire presque vraie  racontée par … Jean-François Jagodzinski Twitter: @jfjago
  • 2.
    Veut attaquer lemarché du jeu vidéo
  • 4.
    Les gars àNamco® contactent Bill
  • 5.
    Il travaille dansune entreprise de développement logiciel réputée : RaftingSoftware
  • 6.
    Bill, comme chefde projets, s’engage sur un contenu, à livrer à une certaine date, et dispose donc d’un certain budget.
  • 7.
    Bill analyse letravail qui doit être fait,
  • 8.
    Ensuite il vavoir l’équipe et lui distribue les tâches.
  • 9.
    Chacun travaille sursa partie et uniquement sur celle-ci.
  • 10.
    Après 2 mois,l’équipe dit qu’elle est dans les délais, mais rien n’est fini encore…
  • 11.
    Comme l’échéance approche,l’équipe commence à perdre confiance…
  • 12.
    Les gars deNamco viennent d’avoir une grande idée : une grille infinie…
  • 13.
    Ce n’était pasprévu au Cahier des charges, Bill commence à négocier…
  • 14.
    La fin approche,il est temps de mettre un petit peu la pression sur l’équipe… Allez les gars, on peut y arriver !
  • 15.
    Quand même passuffisant… les soirées sont longues…
  • 16.
    Au final onfournit quand même ce qui était demandé… pourtant le client n’est pas content
  • 17.
    De son cotéBill est satisfait, il a respecté les délais, le budget, le contenu demandé… le projet est un succès !
  • 18.
    Voici comment Billvoit le projet Négociation Analyse Développement Test
  • 19.
    Quel est leproblème ? La demande a été respectée au final.
  • 20.
    Quelques pistes… Le clientn’est pas satisfait L’équipe n’avait pas la parole La demande a été fixée au départ et n’a pas évolué Les changements ont été durement négociés Bill a décidé seul du travail des équipiers L’équipe a travaillé à partir d’informations filtrées par Bill Le risque de retard n’a pu être identifié que très tard L’équipe à fait des heures sup L’équipe à pris des raccourcis pour finir à temps
  • 21.
    C’est une situationque vous avez peut-être connue…
  • 22.
    Mais pour Namco®l’argent n’est pas vraiment la question, ils ont envie d’essayer un autre fournisseur…
  • 23.
  • 24.
    Bob suggère detravailler par itération, mais avant cela, quelle est la vision du produit ?
  • 25.
    Ensemble Bob etles gars de Namco® écrivent des « user stories », toutes ces stories forment le « product backlog » En tant que joueur, je souhaite pourvoir déplacer PacMan dans les 4 directions de façon à pouvoir appliquer ma stratégie
  • 26.
    Et il demandeaux gars de Namco® de lister les stories par priorité
  • 27.
    Ensemble ils revoientles user stories en haut du backlog et ajoutent quelques détails pour être sûrs que l’équipe peut commencer à travailler dessus
  • 28.
    Avant de démarrer,ils se mettent tous d’accord sur ce que « fini » veut réellement dire…
  • 29.
    L’équipe elle-même estimel’effort pour réaliser ces stories, Bob et les gars de Namco® sont uniquement là pour répondre à leurs questions…
  • 30.
    L’équipe essaie d’imaginercombien de travail elle peut faire en une itération
  • 31.
    A partir desuser stories estimées, on prend les top priorités à hauteur de la contrainte donnée par l’équipe
  • 32.
    L’équipe démarre letravail en prenant les stories une par une
  • 33.
    Pendant ce temps,Bob et les gars de Namco ajoutent davantage de détails sur les prochaines user stories
  • 34.
    Quand l’équipe pensequ’une story et « finie » le client peut la voir, l’essayer et donner son feedback
  • 35.
    Pas satisfait ?L’équipe change la fonctionnalité immédiatement en prenant en compte le feedback de l’utilisateur
  • 36.
    Le client aune autre idée, PacMan peut se téléporter quand il mange un fruit magique
  • 37.
    Aucun problème, Bobajoute la user story dans le backlog, elle sera prise dans la prochaine itération En tant que joueur, je souhaite que PacMan se téléporte de façon à pouvoir échapper aux fantômes
  • 38.
    A la finde l’itération, l’équipe fait une démo de ce qui a été « fini » pendant l’itération
  • 39.
    Puis ils seretrouvent dans une rétrospective pour voir ce qui a bien marché et ce qu’il faudrait améliorer
  • 40.
    Et on repartpour une nouvelle itération à partir des top priorités suivantes
  • 41.
    Quand ils arriventà la date finale de remise du projet, il reste encore quelques stories dans le backlog mais le client est ravi par le produit
  • 42.
  • 43.
    Le projet vupar Bob
  • 44.
    Mais ça veutdire quoi vraiment « être Agile » ?
  • 45.
    Des valeurs etdes principes Les individus et les interactions plutôt que des procédures et outils Un logiciel qui fonctionne plutôt qu’une documentation abondante La collaboration avec le client plutôt que la négociation du contrat L’accueil du changement plutôt que le respect du plan http://agilemanifesto.org
  • 47.
    D’accord, mais commentont ils fait ça chez ACTic ?
  • 48.
  • 49.
    Ensemble avec Bobils ont défini une Vision du produit
  • 50.
    Avec Bob, leclient a écrit quelques user stories En tant que joueur, je souhaite pourvoir déplacer PacMan dans les 4 directions de façon à pouvoir appliquer ma stratégie
  • 51.
    OK, stop c’estquoi une user story ?
  • 52.
    C’est une histoire… pour un utilisateur
  • 53.
    En tant que<rôle> Je souhaite <faire une action> De façon à <obtenir un gain>
  • 54.
    A partir deces user stories, ils ont constitués un product backlog En tant que joueur, je souhaite pourvoir déplacer PacMan dans les 4 directions de façon à pouvoir appliquer ma stratégie
  • 55.
    Ensuite ils l’ontordonné selon l’importance des gains obtenus avec chaque story
  • 56.
    Ils ont préciséensemble avec l’équipe de développement ce que « fini » voulait dire
  • 57.
    Qu’est ce quel’on a adressé avec ça ? Le client n’est pas satisfait L’équipe n’avait pas la parole La demande a été fixée au départ et n’a pas évolué Les changements ont été durement négociés Bill à décidé seul du travail des équipiers L’équipe a travaillé à partir d’informations filtrées par Bill Le risque de retard n’a pu être identifié que très tard L’équipe à fait des heures sup L’équipe à pris des raccourcis pour finir à temps
  • 58.
  • 59.
    Bob a demandéà l’équipe d’estimer l’effort pour réaliser chaque story
  • 60.
    Bob a demandéà l’équipe d’estimer l’effort en utilisant des « story points » En tant que joueur 5 , je souhaite pourvoir déplacer PacMan dans les 4 directions de façon à pouvoir appliquer ma stratégie Construire la Manager 4 grille directions (E,S,O,N) Contrôler le déplacement
  • 61.
    L’équipe a affectéles story points en utilisant le En utilisant» planning poker « planning poker le http://www.planningpoker.com/
  • 62.
    On a ensuitedemandé à l’équipe d’estimer sa « vélocité » http://www.planningpoker.com/
  • 63.
    Combien pouvez vousen manger en 1 minute ? http://www.planningpoker.com/
  • 64.
    A partir dela vélocité, Bob demande au client de proposer le contenu d’itération
  • 65.
    L’équipe accepte des’engager à tout livrer en fin d’itération
  • 66.
    Qu’est ce quel’on a adressé avec ça ? Le client n’est pas satisfait L’équipe n’avait pas la parole La demande a été fixée au départ et n’a pas évolué Les changements ont été durement négociés Bill à décidé seul du travail des équipiers L’équipe a travaillé à partir d’informations filtrées par Bill Le risque de retard n’a pu être identifié que très tard L’équipe à fait des heures sup L’équipe à pris des raccourcis pour finir à temps
  • 67.
  • 68.
    Ils ont crééun tableau des tâches A faire En cours Fini
  • 69.
    En regardant letravail à faire pour chaque story Gérez 4 Construire la directions : 5 grille nord, est, Dans le but de dérouler sud, ouest ma stratégie, en tant que joueur, je souhaite pourvoir déplacer Tester les PacMan dans les 4 déplacements directions dans la grille
  • 70.
    Chaque matin l’équipese réunissait devant le tableau des taches pour un « stand-up » A faire En cours Fini
  • 71.
    Les équipiers organisaientle travail comme ils le voulaient,
  • 72.
  • 73.
    Ils organisaient aussides revues de code
  • 74.
  • 75.
    Ils écrivaient lestests avant de coder
  • 76.
    Une fois letest écrit…
  • 77.
    …écrire le minimumde code pour le passer
  • 78.
    Un autre test… …et un peu plus de code
  • 79.
    Pendant ce tempsle client avec l’aide de Bob avait détaillé de nouvelles stories
  • 80.
  • 81.
    Chaque fois quel’équipe pensait qu’elle avait « fini », le client pouvait tester
  • 82.
  • 83.
    A la finde l’itération, l’équipe faisait une démo de tout ce qui avait été « fini » pendant l’itération
  • 84.
    Le client «acceptait » toutes les stories « finies »
  • 85.
    Et toutes lesstories « finies » pouvaient partir en production
  • 86.
    Après la démoBob animait une rétrospective pour améliorer la façon de travailler
  • 88.
    Qu’est ce quel’on a adressé avec ça ? Le client n’est pas satisfait L’équipe n’avait pas la parole La demande a été fixée au départ et n’a pas évolué Les changements ont été durement négociés Bill à décidé seul du travail des équipiers L’équipe a travaillé à partir d’informations filtrées par Bill Le risque de retard n’a pu être identifié que très tard L’équipe à fait des heures sup L’équipe à pris des raccourcis pour finir à temps
  • 89.
    Fêter … Avec modération !
  • 90.
  • 91.
    …jusqu’à ce qu’iln’y ait plus de budget
  • 92.
    …ou avant sile client est satisfait
  • 93.
    A la toutedernière itération, la dernière démo …
  • 94.
    On fait unerétrospective du projet complet
  • 95.
    Et fêter ! Avec modération !
  • 96.
    Bob ne pilotaitpas le projet, il facilitait le travail en commun Il était Scrum Master
  • 97.
    Qu’est ce quel’on a adressé avec ça ? Le client n’est pas satisfait L’équipe n’avait pas la parole La demande a été fixée au départ et n’a pas évolué Les changements ont été durement négociés Bill à décidé seul du travail des équipiers L’équipe a travaillé à partir d’informations filtrées par Bill Le risque de retard n’a pu être identifié que très tard L’équipe à fait des heures sup L’équipe à pris des raccourcis pour finir à temps
  • 98.
    Cette présentation estlargement reprise (avec leur accord) de celle de http://agilecampustour.org Questions ? Jf@jago.fr