Vous êtes sur la page 1sur 47

SCRUM

Les mthodes agiles


Les mthodes agiles sont apparues dans les annes 1990 (Extreme Programming, Rapid Application Development, Scrum) : capacit ragir au changement plutt que de suivre un plan collaboration accrue avec le client plutt que de suivre les termes d'un contrat livraison d'un logiciel fonctionnel est privilgier plutt que de rdiger une documentation complte les personnes et leurs interactions priment sur lutilisation doutils ou le suivi des processus.

Benot Charroux Scrum Oct 10 - 2

La manifeste agile 1/2


crit en 2001 par 17 personnes : http://agilemanifesto.org Notre premire priorit est de satisfaire le client en livrant tt et rgulirement des logiciels utiles . Livrer frquemment une application fonctionnelle, toutes les deux semaines deux mois, avec une tendance pour la priode la plus courte . Un logiciel fonctionnel est la meilleure unit de mesure de la progression du projet . Les gens de l'art et les dveloppeurs doivent collaborer quotidiennement au projet . Une attention continue l'excellence technique et la qualit de la conception amliore l'agilit . Le changement est bienvenu, mme tardivement dans le dveloppement. Les processus agiles exploitent le changement comme avantage comptitif pour le client .

Benot Charroux Scrum Oct 10 - 3

La manifeste agile 2/2


Btissez le projet autour de personnes motives. Donnez leur l'environnement et le soutien dont elles ont besoin, et croyez en leur capacit faire le travail .
La mthode la plus efficace pour transmettre l'information est une conversation en face face . Les processus agiles promeuvent un rythme de dveloppement soutenable. Commanditaires, dveloppeurs et utilisateurs devraient pouvoir maintenir le rythme indfiniment . La simplicit - l'art de maximiser la quantit de travail ne pas faire - est essentielle . Les meilleures architectures, spcifications et conceptions sont issues d'quipes qui s'auto-organisent . intervalle rgulier, l'quipe rflchit aux moyens de devenir plus efficace, puis accorde et ajuste son comportement dans ce sens .

Benot Charroux Scrum Oct 10 - 4

Les cycles de dveloppement

Sources : wikipedia

Cycle en V : le logiciel est entirement spcifi avant dtre ralis. Inconvnient : lexprience montre quil est trs difficile de tout spcifier avant de coder.

Itratif : on ne spcifie que ce qui va tre dvelopp dans la prochaine itration.

Inconvnient : il faut parfois retoucher le code existant => refactoring du code.

Benot Charroux Scrum Oct 10 - 5

Les cycles de dveloppement

Itratif et incrmental : on ralise une srie de prototypes.


Benot Charroux Scrum Oct 10 - 6

Scrum
Scrum signifie mle au rugby. Mthode agile itrative et incrmentale apparue dans les annes 1990. Les points forts de Scrum : chaque itration aboutit un sous-ensemble des fonctionnalits du produit potentiellement livrables. Le client intervient activement dans le projet pour dfinir lordre des fonctionnalits implanter, valider les prototypes, voire modifier ses exigences au cours du dveloppement.

Benot Charroux Scrum Oct 10 - 7

Les rles dans Scrum


Le directeur de produit (Product Owner) est un membre de l quipe, il est le reprsentant des clients et utilisateurs. C'est lui qui dfinit l'ordre dans lequel les fonctionnalits seront dveloppes. L'quipe ne comporte pas de rles prdfinis ni de hirarchie (il ny a pas de chef de projet), elle est auto-gre. Le facilitateur / animateur (ScrumMaster) est un membre de l quipe qui doit veiller ce que les valeurs de Scrum soient appliques. Les intervenants (Stakeholders) sont les personnes qui souhaitent avoir une vue sur le projet sans rellement s'investir dedans. Il peut s'agir par exemple d'experts techniques ou d'agents de direction.

Source : wikipedia

Benot Charroux Scrum Oct 10 - 8

Le product owner
Il est responsable du backlog du produit.

Ses rles :
Dfinir avec le clients et les utilisateurs le contenu du produit Fait partager sa vision du produit avec lquipe Dfinit lordre dans lequel les parties du produits (releases et stories) sont ralises. Ces qualits : Bonne connaissance du domaine mtier.

Maitrise des techniques des user stories ou des use cases.


Capacit prendre des dcisions rapide. Sait communiquer mais prendre des dcisions.

Source : wikipedia

Benot Charroux Scrum Oct 10 - 9

Linteraction entre les acteurs

Benot Charroux Scrum Oct 10 - 10

Les Sprints

1 itration = 1 Sprint

Benot Charroux Scrum Oct 10 - 11

Les releases

Attention ! Une nouvelle release nest pas une nouvelle version de fonctionnalits dj implantes.

Benot Charroux Scrum Oct 10 - 12

La grande question !
Quest-ce qui diffrencie Scrum (et les mthodes agiles en gnrale) des mthodes traditionnelles ?

Spcifications dtailles

Pas encore spcifi

Release 1

Sprint 1

Story 1

tche 1

tche n

Story n

Sprint n

Dfinies au dbut de chaque Sprint dans la runion de planification

Benot Charroux Scrum Oct 10 - 13

Phase de prparation des itrations

Produit

Release1

Story 11

Story 1m

Release2

Story 21

Story 2m

Exemple dun backlog de produit (avec IceScrum)

Benot Charroux Scrum Oct 10 - 15

Premire version du backlog


Une user story est une reprsentation dun besoin formule en phrases courtes dans le language de lutilisateur. Le backlog du produit est compos de stories : User stories. Stories techniques (non associ directement un utilisateur). Il est parfois difficile de trouver demble les stories. On peut alors crer une premire version du backlog compose de features. Un feature est un service fournit un utilisateur et qui rpond un besoin (semblable un use case dUML).

Produit

Feature 1

Feature 2

Benot Charroux Scrum Oct 10 - 16

User Story versus Use Case


Scrum noblige pas utiliser les user stories mais elles sont frquement utilises. Exemple dune user story applique une station service : En tant que pompiste je veux armer une pompe afin de permettre un client de se servir de l'essence .

Les user stories peuvent tre compltes avec des conditions de satisfaction. Pour l'armement de la pompe, de telles conditions pourraient tre :
Vrifier que la pompe est arme et est prte lemploi

Vrifier que si le pompiste narme pas la pompe, celle-ci est inutilisable


Vrifier que seule la pompe correspondant au type dessence slectionne par le client est arme

Benot Charroux Scrum Oct 10 - 17

User Story versus Use Case


Avec UML larmement de la pompe est reprsent par un use case :

Benot Charroux Scrum Oct 10 - 18

User Story versus Use Case


Avec UML les cas de tests sont reprsents avec des diagrammes de squences :

Benot Charroux Scrum Oct 10 - 19

User Story versus Use Case


Conclusion : user stories ou use cases peuvent tre utiliss pour reprsenter le contenu des sprints.

Release 1

Sprint 1

Story 1

Story n

Sprint n

Benot Charroux Scrum Oct 10 - 20

La grande question ?
Comment mettre des priorits sur le backlog du produit qui va apporter rapidement des fonctionnalits utiles au client tout en minimisant le refactoring du code ?

Benot Charroux Scrum Oct 10 - 21

Comment constituer le backlog du produit ?

+
Fonctionnalits Composants

=
Benot Charroux Scrum Oct 10 - 22

Comment trouver les composants ?


1. Spcifier les use cases avec des diagrammes de squence.

2. En dduire les interfaces de composants.


3. Dfinir des composants qui implantent ces interfaces.

=>
Fonctionnalits

4. Assembler les composants.

Composants

=>
Benot Charroux Scrum Oct 10 - 23

La constitution du backlog du produit


Classer les interfaces et leurs implantations pour apporter rapidement des fonctionnalits utiles aux utilisateurs. Exemple : 1. Implantation de DispositifDePompage 2. Implantation de l'interface TerminalPompe du composant TerminalPompeImpl 3. Implantation de l'interface TerminalPompeDistant du composant TerminalPompeImpl Stories

tape intermdiaire 1 : ce stade les terminaux des pompes sont entirement dvelopps, et celui du pompiste peut commencer.
4. Implantation de l'interface TerminalPompeDistant du composant TerminalPompeImpl

5. ...

Benot Charroux Scrum Oct 10 - 24

Dfinir et planifier les releases (1/2)


Regrouper les stories dans les releases : 1. Implantation de DispositifDePompage 2. Implantation de l'interface TerminalPompe du composant TerminalPompeImpl 3. Implantation de l'interface TerminalPompeDistant du composant TerminalPompeImpl tape intermdiaire 1 : ce stade les terminaux des pompes sont entirement dvelopps, et celui du pompiste peut commencer. 4. Implantation de l'interface TerminalPompeDistant du composant TerminalPompeImpl 5. ...

Projet

Release1

Story 11

Story 1m

Release2

Story 21

Story 2m

Benot Charroux Scrum Oct 10 - 25

Dfinir et planifier les releases (2/2)

1. Estimer grossirement, en points, toutes les stories du backlog


2. Dfinir le critre de fin de chaque release 3. Dfinir la dure des sprints 4. Estimer la capacit de lquipe 5. Planifier le release => plan de release 1 point (valeur relative sans unit). Les points sont attribus par rapport une story connue quon estime valoir X points.

Revoir le plan de release la fin de chaque sprint

Ordre de grandeur couramment pratiqu : 2 semaines / sprint 5 sprints / release


Benot Charroux Scrum Oct 10 - 26

Indicateurs de suivi

La vlocit est la mesure de la partie du backlog ralise par lquipe pendant un sprint. Elle se mesure la fin dun sprint. La capacit de lquipe, base sur la vlocit, est une prvision est une prvision de ce que lquipe est capable de faire pendant un sprint. Un burndown chart est une reprsentation graphique du reste faire dans une priode (une release, un sprint).

Benot Charroux Scrum Oct 10 - 27

Indicateurs de suivi
Taille (en points) de la partie de la release qui reste faire mesure 100 estimation 50 sprint 1 2 3

Exemple destimation pour un backlog de 100 points avec une quipe ayant une capacit de 25 points : 4 sprints sont ncessaire 16 semaines sont ncessaire si un sprint dure 4 semaines.

Benot Charroux Scrum Oct 10 - 28

La runion de planification du prochain sprint

Release 1

Sprint 1

Story 1

tche 1

tche n

Story n

Sprint n

Exemple de backlog du sprint


Les stories avec leurs estimations Les attributions des tches Estimation des tches faire (To Do) Mesure des tches (Done)

Burndown chart du sprint

tches

Benot Charroux Scrum Oct 10 - 30

Comment identifier les tches effectuer ?


Dcouper lapplication en couches (bonne pratique) puis en tches. Estimer le temps de dveloppement de chaque tches.

Intrt : La conception de larchitecture merge lors de la planification du sprint.

Benot Charroux Scrum Oct 10 - 31

Dcouper lapplication en couches


1. Produire le diagramme des classes mtiers (1 diagramme par projet).

Benot Charroux Scrum Oct 10 - 32

Dcouper lapplication en couches


2. Reprer les classes mtiers qui sont utilises par un composant.

Benot Charroux Scrum Oct 10 - 33

Dcouper lapplication en couches


3. Dfinir le contenu de chaque couche partir des interfaces des composants.

Benot Charroux Scrum Oct 10 - 34

Dcouper lapplication en tches

4. Affiner le dcoupage en dcomposant le dveloppement en tches. 5. Estimer le temps pour dvelopper chaque tches. 6. Lquipe dcide combien de tches (la granularit est au niveau story) elle ralise dans le prochain sprint 7. Affection des tches au sein de lquipe (auto-organisaton)

Release 1

Sprint 1

Story 1

tche 1

tche n

Story n

Sprint n

Benot Charroux Scrum Oct 10 - 35

Le travail durant les sprints

Dveloppement guid pas les tests

1. Ecrire les tests dacceptation pour chaque story (les storytests) 2. Dvelopper 3. Tester

Lutilisation de tests dacceptation ne dispense pas : De faire des tests unitaires. Davoir desvecteur sde tests avec un bonne couverture.

Benot Charroux Scrum Oct 10 - 37

Les stotytests
Avec les user stories : les user stories sont dclines en cas de test appels storytests. Exemple du test associ la condition de satisfaction Vrifier que la pompe est arme et est prte lemploi : Pr-condition : un client a dcroch le pistolet du diesel l'cran du pompiste indique que le pistolet du diesel a t dcroch Le pompiste arme la pompe correspondante Post-condition : la pompe a t arme (la confirmation de larmement apparat sur le terminal du pompiste) et le client peut se servir de l'essence.

Avec UML :

Les diagrammes de squences servent de storytests

Benot Charroux Scrum Oct 10 - 38

But :

La runion quotidienne
liminer les obstacles de lquipe, communiquer, valuer lavancement du travail.

Qui : tous les membres de lquipe (dautres personnes peuvent y assister sans intervenir). Frquence : quotidienne. Dure : dheure maximum. Le crmonial : Rpondre aux 3 questions :

quas-tu fait depuis hier ?


que prvoies-tu de faire aujourdhui ? quels sont les obstacles qui te freinent dans ton travail ?

Les rsultats :
Actualiser le plan du sprint (modifier la liste des tches, les r-affecter). Actualiser le burndown chart de sprint. Actualiser une liste des obstacles (qui peuvent donns lieu des tches).
Benot Charroux Scrum Oct 10 - 39

A la fin dun sprint


La revue de sprint : But : montrer le produit aux personnes impliques dans le projet. Etapes : Prparer la dmonstration. Rappeler les objectifs du sprint. Effectuer la dmonstration. Calculer la vlocit. Ajuster le plan de release. La retrospective de sprint : Lquipe refait le match et cherche quelles amliorations peuvent tre mises en place lors du prochain sprint.

Benot Charroux Scrum Oct 10 - 40

Scrum au projet de mthodologie de dveloppement

Adaptation de

Les rles dans le projet de mthodologie


Les enseignants :

Technical Manager
Marketing Manager Les utilisateurs Les tudiants : Le directeur de produit (Product Owner) est le reprsentant des clients et utilisateurs. C'est lui qui dfinit l'ordre dans lequel les fonctionnalits seront dveloppes. L'quipe ne comporte pas de rles prdfinis ni de hirarchie (il ny a pas de chef de projet), elle est auto-gre. Le facilitateur / animateur (ScrumMaster) doit veiller ce que les valeurs de Scrum soient appliques.

Source : wikipedia

Benot Charroux Scrum Oct 10 - 42

Les 5 tapes du projet

Dfinition du produits Planification de la release

3 itrations

Benot Charroux Scrum Oct 10 - 43

Le travail de lquipe
La planification des releases : Prpare par lquipe. La validation du produit. Discute avec les managers.

La runion de dmarrage

La planification du sprint : Prpare par lquipe. Discute avec les managers.


Benot Charroux Scrum Oct 10 - 44

La revue de sprint

Les livrables

Le produit.

Le backlog du produit avec en plus :


Les use cases. Les composants, dploiement. Les diagrammes de squences associs. Les classes mtiers. Larchitecture de conception en couches. En options (des maquettes des IHM)

Les indicateurs de suivi:


Burndown charts de releases et de sprints Les fiches individuelles dactivit.

Benot Charroux Scrum Oct 10 - 45

Rfrences Bibliographique

Les ouvrages ayant servis llaboration de cette prsentation

Scrum, Le guide pratique de la mthode agile la plus populaire, Claude Aubry, Dunod, 2010 UML 2, pratique de la modlisation, Benot Charroux, Yann Thierry Mieg, Aomar Osmani, Pearson Education, 2010 Wikipedia

Benot Charroux Scrum Oct 10 - 47

Vous aimerez peut-être aussi