Vous êtes sur la page 1sur 13

Mthodes agiles

Franck Silvestre <franck.silvestre@irit.fr>


Cette oeuvre est mise disposition selon les termes de la Licence Creative Commons Paternit Pas d'Utilisation Commerciale 3.0 non transpos.

Table of Contents
Prambule ......................................................................................................................... 1
Objectifs ................................................................................................................... 1
valuation ................................................................................................................. 1
Les principaux modles de dveloppement logiciel ................................................................... 2
Modle en cascade ..................................................................................................... 2
Cycle en V ................................................................................................................ 3
Modle en spirale ....................................................................................................... 3
Unified Process .......................................................................................................... 4
Les mthodes agiles .................................................................................................... 5
Scrum ............................................................................................................................... 6
Introduction ............................................................................................................... 6
Dfinition de Scrum .................................................................................................... 6
The big picture .......................................................................................................... 7
L'quipe Scrum .......................................................................................................... 7
Les vnements Scrum ................................................................................................ 8
Les artefacts de Scrum ................................................................................................ 9
Annexes .................................................................................................................. 13
Un regard critique ............................................................................................................. 13
Agile ! The good, the hype and the ugly ....................................................................... 13

Prambule
Objectifs
Connatre le contexte d'mergence des mthodes agiles
Connatre les valeurs et principaux principes du manifeste agile
Connatre la mthode Scrum et savoir mettre en pratique Scrum dans le contexte d'un projet
Connatre les grands principes d'autres mthodes agiles : XP et Kanban

valuation
1 examen crit individuel (70%)
1 projet ralis en groupe (30%)

Mthodes agiles

Les principaux modles de dveloppement


logiciel
Modle en cascade
Origine et contexte
1970 - Article de Winston Royce "Managing the Development of Large Software Systems"
Projets de grande envergure et contractualiss selon les contraintes fortes du gouvernenement
Inspir des modles de construction de matriel

Principes
Approche prdictive et linaire
Squence de phases qui s'enchainent sucessivement

The big picture

Requirements

Product requirements document

Design

Software architecture

Implementation

Software

Verification

Maintenance
What's wrong ?
Pas de tolrance au changement
Effets tunnels induits

Mthodes agiles

Modle adapt uniquement pour des projets o toutes les incertitudes sont leves durant la premire
phase
Portage d'une application l'identique
Interfaces bas niveau

Cycle en V
Contexte et origine
Amlioration du modle en cascade
Vise rduire (lgrement!) l'effet tunnel
Standard dans l'industrie (pas que logiciel) depuis les annes 80

Principes
Approche linaire et prdictive
Squence de phases qui s'excutent successivement
Mais les phases de vrifications permettent de rduire l'effet tunnel

The big picture

What's wrong ?
Mmes choses que pour le modle en cascade...

Modle en spirale
Contexte et origine
1986 - Article de Barry Boehm "A Spiral Model of Software Development and Enhancement"

Mthodes agiles

Constat d'chec du modle waterfall sur les projets "guids par les documents" dans le cas de projets o
les besoins utilisateurs sont difficiles exprims, changent,...

Principes
Approche non linaire, itrative
Guide par les risques
Succession de construction de prototypes pour arriver au prototype oprationnel

The big picture


Cumulative cost

Review

2 . Identify and
resolve risks

Progress

1 .Determine
objectives

Operational
Prototype 1 Prototype 2 prototype

Requirements
plan
Concept of
operation

Concept of
requirements
Requirements

Development
plan

Verification
& Validation

Test plan

Verification
& Validation

Draft

Detailed
design
Code

Integration
Test

Implementation

4 . Plan the
next iteration

Release

3 . Development
and Test

Unified Process
Contexte et origine
1999 - Ivar Jacobson, Grady Booch and James Rumbaugh - The Unified Software Development Process
(ISBN 0-201-57169-2)
Large adoption du standard UML et du dveloppement en Programmation Oriente Objets

Principes
UP dcrit un processus extensible, itratif et incrmental
Des phases et des activits
Des itrations dans chaque phase
Chaque itration reprend l'ensemble des activits des degrs diffrents

Mthodes agiles

The big picture

Les mthodes agiles


Contexte et origine
Dveloppements d'une multitute de mthodes de dveloppement itratives et incrmentales (DII)
2001 - 17 experts reprsentant DSDM, XP, Scrum, FDD et autres mthodes de DII - Agile Alliance
(www.agilealliance.org)
2001 - http://agilemanifesto.org

Valeurs
Nous dcouvrons comment mieux dvelopper des logiciels par la pratique et en aidant
les autres le faire. Ces expriences nous ont amens valoriser :
. Les individus et leurs interactions plus que les processus et les outils.
. Des logiciels oprationnels plus quune documentation exhaustive.
. La collaboration avec les clients plus que la ngociation contractuelle.
. Ladaptation au changement plus que le suivi dun plan.
Nous reconnaissons la valeur des seconds lments, mais privilgions les premiers.
Extrait du manifeste agile

Quelques principes parmi les 12


. Notre plus haute priorit est de satisfaire le client en livrant rapidement et rgulirement
des fonctionnalits grande valeur ajoute.

Mthodes agiles

. Accueillez positivement les changements de besoins, mme tard dans le projet. Les
processus Agiles exploitent le changement pour donner un avantage comptitif au client.
. Livrez frquemment un logiciel oprationnel avec des cycles de quelques semaines
quelques mois et une prfrence pour les plus courts.
. Les utilisateurs ou leurs reprsentants et les dveloppeurs doivent travailler ensemble
quotidiennement tout au long du projet.
. Les meilleures architectures, spcifications et conceptions mergent d'quipes autoorganises.
. intervalles rguliers, l'quipe rflchit aux moyens de devenir plus efficace, puis
rgle et modifie son comportement en consquence.

Scrum
Introduction
Scrum a t dfini et dvelopp par Ken Schwaber et Jeff Sutherland
Le guide Scrum est la rfrence officielle
La suite du contenu est principalement extraite du guide Scrum
Scrum est un cadre de processus qui a t utilis pour grer le dveloppement de produits complexes
depuis le dbut des annes 1990.

Dfinition de Scrum
Scrum: Un cadre adaptable dans lequel des personnes peuvent rsoudre les problmes complexes, tout en
dlivrant de manire productive et crative des produits de la plus haute valeur possible.
Scrum est:
Lger
Simple comprendre
Difficile matriser

Mthodes agiles

The big picture

24 h

30 days

Product Backlog

Sprint Backlog

Sprint

Working increm ent


of the software

L'quipe Scrum
L'quipe Scrum
Le Product Owner
L'quipe de dveloppement
Le Scrum Master
Les quipes Scrum dlivrent des produits de manire itrative et incrmentale, maximisant les opportunits
dobtenir du feedback.
Les Livraisons incrmentales du produit "fini" ("done") assurent quune version potentiellement utilisable
du produit est toujours disponible.

Le Product Owner
Le Product Owner est charg de maximiser la valeur du produit et le travail de l'quipe de dveloppement.
Le Product Owner est le reprsentant du client et des parties prenantes au sein de l'quipe
Il gre le "Backlog" de produit qui contient toutes les exigences du produit

L'quipe de dveloppement
L'quipe de dveloppement fournit un incrment potentiellement livrable du produit "fini" la fin de
chaque Sprint (itration).

Mthodes agiles

L'quipe de dveloppement est autoorganise

Le Scrum Master
Il est le garant de la bonne mise en oeuvre du process Scrum
Process Owner
Doit bien maitriser le processus pour accompagner le reste de l'quipe dans sa bonne mise en oeuvre

Les vnements Scrum


Les vnements Scrum
Le Sprint
La runion de planification de Sprint
La daily Scrum
La revue de Sprint
La rtrospectve de Sprint
La revue de backlog

Le Sprint
Un Sprint correspond une itration "time-boxe" : une priode d'un mois ou moins au cours de laquelle
un incrment de produit "fini", utilisable, et potentiellement livrable est cr.
Un Sprint est caractris par un Objectif qui donne le cap du Sprint en cours
Aucune modification n'est apporte qui pourrait mettre en danger latteinte de l'objectif du Sprint
Un Sprint commence avec la runion de planification et se termine avec sa rtrospective

La runion de planification de Sprint


La runion de planification de sprint rpond aux questions suivantes :
Quest-ce qui sera livr dans lincrment rsultant du prochain sprint ?
Dfinition de l'objectif du Sprint et slection des stories
Comment le travail ncessaire pour raliser l'incrment sera-t-il accompli ?
Dcoupage des items du backlog en tches
La runion est "time-boxe" - maximum 8h pour Sprint d'un mois
Le Product Owner a autorit sur le "quoi"
L'quipe de dveloppement a autorit sur le "comment"

Mthodes agiles

Le daily Scrum
Runion quotidienne de l'quipe Scrum
"Time boxe" - 15 minutes maximum
Pendant la runion chaque membre de lquipe de dveloppement rpond aux questions suivantes:
Quai je fait depuis hier qui a aid lquipe de dveloppement raliser lObjectif du Sprint ?
Que vais je faire aujourdhui pour aider lquipe de dveloppement raliser lObjectif du Sprint ?
Ai je identifi des obstacles qui empchent lquipe de dveloppement de raliser lObjectif du
Sprint ?
Liste des obstacles grer et faire diminuer

La revue de Sprint
Une runion de revue de Sprint est tenue la fin du sprint pour inspecter lincrment du produit et
adapter le Backlog de produit si ncessaire.
Pendant la revue de Sprint, l'quipe Scrum et les parties prenantes changent sur ce qui a t# fait durant
le sprint.
Cette runion se veut informelle, la prsentation de l'incrment est destine susciter des ractions (
feedbacks ) et favoriser la collaboration.
"Time-boxe" - 4 heures maximum pour un Sprint d'un mois

La rtrospective de Sprint
La rtrospective de sprint est une occasion pour l'quipe Scrum de s'inspecter et de crer un plan
d'amliorations qui sera mis en place au cours du sprint suivant.
La rtrospective de sprint survient aprs la revue de sprint et avant la prochaine runion de planification
de sprint.
Pour un sprint dun mois, cette rencontre est limite une dure de trois heures.

La revue de backlog
Permet l'quipe de dveloppement d'valuer les items du backlog
Se fait pendant le sprint en cours en prparation du sprint suivant
Planning poker
http://www.aubryconseil.com/post/Les-reunions-d-un-sprint

Les artefacts de Scrum


Les artefacts de Scrum
Le Backlog de produit

Mthodes agiles

Le Backlog de Sprint
Les lments de suivi
L'incrment

Le backlog de produit
Le Backlog de produit est une liste ordonne de tout ce qui pourrait tre requis dans le produit.
Il est la source unique des exigences pour tous les changements effectuer sur le produit.
Le Product Owner est responsable de ce Backlog, de son contenu, de sa publication ainsi que de
lordonnancement des items quil contient.
En pratique
Items d'exigences fonctionnelles : "User Stories"
Items d'exigences techniques : "Technical Stories"
Autres exigences : qualit, "omniprsentes", rfrences par les items du backlog

User Story et INVEST


Indpendante
Ngotiable
Apporter de la Valeur
Estimable
Small enough
Testable

User Story format type


As a ...
I want to...
So that...
Exemple extrait de Tsaap-Notes :
As a owner of a scope
I want to duplicate a scope
So that I can replay questions to another group of users

Tests d'acceptation
Test fonctionnel

10

Mthodes agiles

Un ou plusieurs tests dcrits pour chaque story


Un format privilgi
Given...
When...
Then...
Un des critres dans la dfinition de "fini" : les tests d'acceptance sont clairment dfinis et passent
http://guide.agilealliance.org/guide/gwt.html

Exercice
Exercice Tests d'acceptance
crire un jeu de tests d'acceptance pour la story
"As a owner of a scope
I want to duplicate a scope
So that I can replay questions to another group of users"

Feature
Une feature est une fonctionnalit de plus haut niveau qu'une story
Ncessite un rafinement, dcoupage en stories
Niveau intermdiaire entre la vision produit et la story

Epic (pope)
Dans XP : une grosse story
Dans d'autres contextes (Scrum grand chelle), un regroupement de features

Le Backlog de Sprint
Le backlog de Sprint est lensemble des items choisis pour le Sprint accompagn du plan pour les raliser
dans le cadre dun incrment de produit qui concrtisera lobjectif du Sprint.

Les lments de suivis


Suivi de l'avancement calculable tout moment
Utilisation de diagrammes burn-downs, burn-ups, flux cumuls
http://en.wikipedia.org/wiki/Burn_down_chart

11

Mthodes agiles

La vlocit : nombre moyen de points raliss au cours d'un sprint

Exemple burn-down chart de sprint (final)

Exemple de diagramme de flux cumul

L'incrment
Lincrment est la somme de tous les items du Backlog de produit termins pendant un sprint, additionn
de tous les items termins des sprints prcdents.
Il doit tre dans un tat utilisable, que le Product Owner dcide de le livrer ou non.

La dfinition de "fini"
Dcrit quelle condition un travail est considr comme termin
Partage par toute l'quipe Scrum
Porte : item de backlog ou incrment
valuation systmatique du caractre termin d'un travail
La dfinition de "fini" peut voluer dans le temps

12

Mthodes agiles

Exemples de dfinition de fini


http://www.scrum-breakfast.com/2012/11/sample-definition-of-done.html
https://www.mitchlacey.com/intro-to-agile/scrum/definition-of-done

Illustrations
ENE Atrium
Tsaap-Notes
Elaastic

Annexes
Le Sprint 0
Seul Sprint dont la dure n'est pas fixe
Dfinir la vision du produit
Initialiser le backlog
Initialiser la plateforme de production

Le guide des pratiques agiles


http://guide.agilealliance.org/
http://guide.agilealliance.org/guide/definition-of-done.html
http://guide.agilealliance.org/guide/acceptance.html

Un regard critique
Agile ! The good, the hype and the ugly
Bertrand Meyer
http://www.springer.com/us/book/9783319051543
https://www.youtube.com/embed/nchmlSwqGBc

13