Session mons 16 mars

Preview:

DESCRIPTION

Première session théorique de l'AgileCampusTour à Mons, focalisée sur le planning et l'estimation

Citation preview

AgileCampusTour

@mlainez

@mlainez

@cimm

@jbpros

julien@agilecampustour.org

simon@agilecampustour.org

marc@agilecampustour.org

Julien Biezemans

Simon Schoeters

Marc Lainez

La fine équipe

Si vous voulez tweeter utilisez le hashtag #actbe

Filosofia veut éditer une version d’un de ses jeux à succès sur pc et mac

Le responsable du projet chez Filosofia contacte Bill

Bill bosse dans une boîte de développement, RaftingSoftware

Bill s’engage sur un délai pour le projet, englobant l’ensemble des

fonctionnalités

Bill analyse tout le travail à faire

Bill retourne dans son équipe et répartit le travail

Chacun travaille sur une partie du projet, de son côté

Après 2 mois, d’après l’équipe, tout va bien...

Mais au plus on s’approche de la fin, au moins l’équipe se sent en

confiance...

Le client a une idée géniale, les mares doublent les points des routes !

Bill négocie, ce n’était pas dans le cahier des charges...

La fin approche, Bill demande à l’équipe de mettre les “bouchées doubles”

Le projet prenant du retard, Bill demande à son équipe de travailler plus

tard le soir...

Ils finissent par délivrer le jeu a temps au client mais il ne semble pas

satisfait

Bill, de son côté, considère le projet comme un succès, le projet à été

rendu à temps et répond au cahier des charges...

Négociation Analyse Développement

Un projet selon Bill

Qu’est-ce qui cloche? Après tout, le budget et le cahier des charges ont

été respectés...

L’équipe n’a pas eu son mot à dire

La cahier des charges est resté très rigide

Les changements ont dû être négociés durement

Bill a donné à chacun une tâche a effectuer

L’équipe a commencé la plupart des aspects du jeu directement

Les problèmes de retard n’ont été identifiés que vers la fin

L’équipe à dû faire des heures supplémentaires

L’équipe à dû prendre des raccourcis pour terminer à temps

Voilà ce qui cloche...

Toute ressemblance avec des personnes ou des faits ayant existés

est purement fortuite...

Le budget n’étant pas un problème, le représentant de FIlosofia décide de s’adresser à

une autre entreprise, ACTic

Il contacte donc Bob, son contact chez ACTic

Bob propose à Filosofia de travailler par itérations, ensemble, ils décrivent la vision

du projet

Bob et le responsable de projet écrivent des user stories, qui constituent le product

backlog

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~

Afin de savoir quand c’est à moi de jouerEn tant que joueurJe veux pouvoir entrer mon nom

Bob propose au reponsable de projet de donner une priorité aux user stories

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~

Ensemble ils affinent ces user stories, afin que l’équipe de développement puisse

commencer à travailler

Bob, le responsable du projet et l’équipe de développement se mettent d’accord sur la

définition de “done”

L’équipe estime les user stories, Bob et le reponsable de projet interviennent lorsqu’ils

ont des questions

L’équipe se met d’accord sur la charge de travail faisable durant une itération

Parmi les user stories estimées, ils prennent les plus prioritaires, dans la limite de leur

capacité

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

5

~~~~~~~~~~~~~~~~~~~~~~~~~~

2

~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~

5

2

8

13

}~~~~~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

5

~~~~~~~~~~~~~~~~~~~~~~~~~~

2

~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~

5

Ils commencent à développer, user story par user story

Pendant ce temps là, Bob et le responsable préparent des user stories pour l’itération

suivante

Dès que l’équipe estime avoir terminé quelque chose, le client teste et donne du

feedback

Pas satisfait? L’équipe rectifie directement le tir sur base du feedback du client

Le client a l’idée du siècle, des boucliers sur les tuiles châteaux rapportent le double de

points !!!

Pas de problème, Bob l’ajoute au product backlog, ce sera traité lors de la prochaine

itération

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~

5

2

8

13

Afin d’avoir un maximum de pointsEn tant que joueurJe veux pouvoir placer des cartes chateaux contenant un bouclier

A la fin de l’itération, l’équipe fait une démo complète de ce qui a été terminé

Dans le but de s’améliorer Bob et son équipe organisent une rétrospective

Le projet arrive à terme, il reste des user stories dans le backlog, mais le client est

satisfait

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~

8

13

That’s Agile, Folks

Un projet selon Bob

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Mais, ça veut dire quoi, être Agile?

Des valeurs et des principes

Les individus et leurs interactions plus que les processus et les outils

Des logiciels opérationnels plus qu’une documentation exhaustive

La collaboration avec les clients plus que la négociation contractuelle

L’adaptation au changement plus que le suivi d’un plan

http://agilemanifesto.org

SCRUM

XP

LEAN

KANBAN DSDM

FDD

AGILE

Bon, et concrètement, chez ACTic, comment ils ont fait?

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Au commencement...

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Au commencement...

Bob et le résponsable du projet ont définit la vision du projet

On PC & MAC

Avec le client, ils ont écrit des user stories

Afin de savoir quand c’est à moi de jouerEn tant que joueurJe veux pouvoir entrer mon nom

Mais, c’est quoi une user story?

Afin de <valeur métier>En tant que <rôle>Je veux <fonctionnalité>

Avec ces user stories, ils ont construit le Product backlog

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~

Afin de savoir quand c’est à moi de jouerEn tant que joueurJe veux pouvoir entrer mon nom

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~

Ils ont ensuite trié ces récits par priorité

Et définit, avec l’équipe, ce que veut dire “terminé”

L’équipe n’a pas eu son mot à dire

La cahier des charges est resté très rigide

Les changements ont dû être négociés durement

Bill a donné à chacun une tâche a effectuer

L’équipe a commencé la plupart des aspects du jeu directement

Les problèmes de retard n’ont été identifiés que vers la fin

L’équipe à dû faire des heures supplémentaires

L’équipe à dû prendre des raccourcis pour terminer à temps

Ca répond à quels problèmes ?

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Et après ?

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Et après ?

Bob demande à son équipe d’estimer les user stories, en story points

Bob demande à son équipe d’estimer les user stories, en story points

Bob demande à son équipe d’estimer les user stories, en story points

1/200

Bob demande à son équipe d’estimer les user stories, en story points

3~~~~~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

5

~~~~~~~~~~~~~~~~~~~~~~~~~~

2

~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~

5

A chaque tour, changer de joueur

Sauver le nom quelque part

Formulaire de demande du nom

Bob demande à son équipe d’estimer les user stories, en story points

Afin de savoir quand c’est à moi de jouerEn tant que joueurJe veux pouvoir entrer mon nom

http://www.planningpoker.com/

En utilisant le planning poker

L’équipe a ensuite dû déterminer sa vélocité

~~~~~~~~~~~~~~~~~~~~~~~~~~ 3

~~~~~~~~~~~~

~~~~~~~

~~~~~~~~~~~

5

~~~~~~~~~~~~~~~~~~~~~~~~~~2

~~~~~

~~~~~~~~

~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~5

18~~~~~~~~~~~~

~~~~~~~~~~

~~~~~~~~~~~~2

~~~~~~~~~~~~

~~~~~~~~

~~~~~~

8

~~~~~

~~~~~~~~

~~~~~~~~~

13

~~~~~~~~~~~~~~~~~~~~8

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

Combien en 1 minute ?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~

~~~~~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

5

~~~~~~~~~~~~~~~~~~~~~~~~~~

2

~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~

5

2

8

13

}~~~~~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

5

~~~~~~~~~~~~~~~~~~~~~~~~~~

2

~~~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~

5

A partir de cette vélocité, Bob construit le backlog de l’itération

L’équipe n’a pas eu son mot à dire

La cahier des charges est resté très rigide

Les changements ont dû être négociés durement

Bill a donné à chacun une tâche a effectuer

L’équipe a commencé la plupart des aspects du jeu directement

Les problèmes de retard n’ont été identifiés que vers la fin

L’équipe à dû faire des heures supplémentaires

L’équipe à dû prendre des raccourcis pour terminer à temps

Ca répond à quels problèmes ?

++

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Et maintenant ?

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Et maintenant ?

Chaque matin, ils se sont réunis devant le Kanban

Stories TODO WIP(4) DONE~~~~~~~~~~~~~~~~~~~~

3

~~~~~~~~~~~~~~~~~~~

5

~~~~~~~~~~~~~~~~

2

~~~~~~~~~~~~~

3

~~~~~~~~~~~~

5

Name

Mis

Blue

Stories TODO WIP(4) DONE

~~~~~3

~~~~~5

~~~~~ 2

~~~~~3

~~~~~5

Name tags

Misc.

Blue Team

3 ways the brain creates meaning

Lors du “daily standup”

Ils ont travaillé à deux sur la même machine

Ont organisé des code reviews

Et même écrit des tests

Et même écrit des tests

Avant d’écrire le code...

Pendant ce temps là, Bob et le responsable du projet ont continué d’affiner le product

backlog

Chaque fois que l’équipe pensait avoir terminé, le client testait et donnait du

feedback

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Et pour finir...

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Et pour finir...

A la fin de chaque itération l’équipe a montré ce qu’ils avaient terminé

Le client a “accepté” les user stories

Et ce qui était accepté a été mis en production si le client le souhaitait

Après la démo, Bob et son équipe ont organisé une rétrospective dans le but de

s’améliorer

L’équipe n’a pas eu son mot à dire

La cahier des charges est resté très rigide

Les changements ont dû être négociés durement

Bill a donné à chacun une tâche a effectuer

L’équipe a commencé la plupart des aspects du jeu directement

Les problèmes de retard n’ont été identifiés que vers la fin

L’équipe à dû faire des heures supplémentaires

L’équipe à dû prendre des raccourcis pour terminer à temps

Ca répond à quels problèmes ?

++ ++ ++

Et surtout... Celebrate!

And Iterate...

Jusqu’au moment ou il n’y a plus de $$$

Voire avant, si le client est satisfait

Après la dernière itération, a eu lieu une dernière démo

Une rétrospective de tout le projet

L’équipe n’a pas eu son mot à dire

La cahier des charges est resté très rigide

Les changements ont dû être négociés durement

Bill a donné à chacun une tâche a effectuer

L’équipe a commencé la plupart des aspects du jeu directement

Les problèmes de retard n’ont été identifiés que vers la fin

L’équipe à dû faire des heures supplémentaires

L’équipe à dû prendre des raccourcis pour terminer à temps

Ca répond à quels problèmes ?

++ ++ ++

Et... Celebrate!

L’équipe de Bob, gonflée à bloc, est prête pour un nouveau projet

Week DayStories

TODO

WIP

(4)

DONE

~~~~~

Na

Mi

Blu

Un peu de lecture ?

Et si on faisait une petite rétrospective ?

http://agilecampustour.org@agilecampustour

Questions?

Recommended