Mthodes et Processus
Agiles
Ecole Informatique IN2P3 2008
Agile ?
Une mthode agile est une approche
itrative et incrmentale, qui est
mene dans un esprit collaboratif avec
juste ce quil faut de formalisme
Elle gnre un produit de haute qualit
tout en tenant compte de lvolution
des besoins client
Agile ?
Modle de dveloppement loppos du
modle en cascade ou du modle
en V, gnralement bass sur le forfait
Agile ?
Beaucoup de mthodes et techniques dites
agiles existent !
XP, Scrum, RAD, DSDM, ASD, FDD,
Crystal Clear, PUMA, AUP, etc.
Agile ?
Courant issu du Manifeste Agile
Linteraction avec les personnes plutt que les
processus et les outils
Une production oprationnelle plutt
quune documentation plthorique
La ngociation avec le client plutt que le
respect dun contrat
La collaboration au changement plutt que le
suivi du plan
Agile Manifesto
Notre premire priorit est de satisfaire le
client en livrant tt et rgulirement
des logiciels utiles.
Le changement est accept, mme
tardivement dans le dveloppement. Les
processus agiles exploitent le changement
comme avantage comptitif pour le client.
Livrer frquemment une application
fonctionnelle, toutes les deux semaines
deux mois, avec une tendance pour la
priode la plus courte.
Les gens de l'art et les dveloppeurs
doivent collaborer quotidiennement
au projet.
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 efcace de transmettre
l'information est une conversation en
face face.
Un logiciel fonctionnel est la meilleure
unit de mesure de la progression du
projet.
Les processus agiles promeuvent un
rythme de dveloppement
soutenable. Commanditaires,
dveloppeurs et utilisateurs devraient
pouvoir maintenir le rythme indniment.
Une attention continue l'excellence
technique et la qualit de la
conception amliore l'agilit.
La simplicit - l'art de maximiser la
quantit de travail ne pas faire - est
essentielle.
Les meilleures architectures, spcications
et conceptions sont issues d'quipes qui
s'auto-organisent.
intervalle rgulier, l'quipe rchit
aux moyens de devenir plus efcace,
puis accorde et ajuste son
comportement dans ce sens.
Mthodologie XP
eXtreme Programming
Rconcilier lhumain avec la productivit
Voie d'amlioration
Style de dveloppement
Discipline de dveloppement dapplications
informatiques
Objectif Principal
Rduire les cots du
changement
Revues de code permanentes
Dveloppement pilots par les tests
Conception au cours du projet
(refactoring)
Privilgier systmatiquement la mthode la
plus simple
Utiliser des mtaphores pour faciliter la
communication
Lintgration des modications se fait
quotidiennement, voire plusieurs fois
par jour
Les cycles de dveloppement seront
rduits au plus court
Cycles XP
Exploration
Attribution de
Tches
Dveloppement
Cration de Tests
Fonctionnels
Livraison &
feed-back
Client
Programmation par
Paire
Deux dveloppeurs changent et corrigent
mutuellement leur code
Variante: lun implmente les fonctionnalits
pendant que lautre code les tests
ncessaires
Qualit optimale !
Tests unitaires et
fonctionnels
Dveloppement pilot par les tests (TDD)
Etablir un contrat fonctionnel pour
lapplication dabord
Dvelopper ensuite
Intgration Continue
Garant de lintgrit des dveloppements
au cours des itrations
Favorise la ractivit
Instaure un contrle continu de la qualit
Cas Dfavorables de
mise en uvre dXP
Blocage culturel
Grandes quipes de dveloppement
Feedback long et difcile obtenir
Impossibilit de fonctionner en binmes
Mthodologie Scrum
Scrum ?
Mthodologie de gestion de projet
Issue du terme mle (Rugby) en anglais
Avancer ensemble vers un but commun
Pas fondamentalement lie au
dveloppement logiciel
Bon complment XP
Objectifs de Scrum
Focaliser lquipe sur la ralisation
dobjectifs dans un cycle itratif
Itrations de 30 jours appeles Sprint,
chacune possdant son un primtre
fonctionnel dlimit
Comme avec XP, la participation du
client est prpondrante
Ides Cl
Le client est au cur du projet
Esprit dquipe
La communication est la cl
Simplicit, Efcacit, et Qualit
Flexibilit aux changements
Avancement bas sur le concret
Rles
Product Owner (ou Directeur Produit)
Cest le reprsentant des clients et des
utilisateurs
Scrum Master
Est charg de protger l'quipe de tous les
lments perturbateurs extrieurs
l'quipe et de rsoudre ses problmes non
techniques
Rles
Equipe
Auto-gre, elle s'adresse directement au
Directeur de produit.
Intervenants (Stakeholders)
Personnes qui souhaitent avoir une vue sur
le projet sans rellement s'investir dedans
(experts, agents de direction)
Processus
Clients
Intervenants
extrieurs
Directeur de Produit
Equipe
S
c
r
u
m
M
a
s
t
e
r
Elments
perturbateurs
Equipe tendue
Projet
Planication
Release
Sprint Sprint Sprint Sprint
Release
Sprint Sprint Sprint
Produit partiel, test
et utilisable
Version
nalise
Produit partiel, test
et utilisable
...
Le Sprint
30 jours calendaires (~2 4 semaines en
ralit)
Associ un but, matrialis par la
ralisation dun certain nombre ditems
du backlog produit
Backlog Produit
Liste des lments fonctionnels
implmenter
Chaque lment du backlog est not deux
fois en termes dimportance :
Le Product Owner lui attribue une
valeur client
Une estimation en points arbitraires
est faire par lquipe (ex. Fibonacci)
Backlog Produit
Les items du backlog de produit peuvent
tre rordonns, ajouts ou
supprims dun sprint - si les conditions
lexigent et aprs concertation de
lEquipe Etendue
Backlog Produit
Backlog de Sprint
Lquipe slectionne les items du
backlog produit prendre en charge
pour le sprint
Chaque item est dcompos en tches
dont la dure ne doit jamais excder deux
jours
Chaque tche traite donne lieu une
mise jour du backlog de sprint
Backlog de Sprint
Sprint Burndown Chart
Cest la somme des heures des items du
backlog de sprint, soit le reste faire total
du sprint
Il montre le reste faire au fur et
mesure de lavancement du sprint
Vlocit
Une fois un sprint termin, on peut calculer
la vlocit de lquipe, et estimer la
charge des prochains sprint dune faon de
plus en plus able
Daily Scrum
Cest une runion quotidienne de 15
minutes maximum destine faire un
point sur lavancement du sprint
Chaque membre rpond 3 questions :
Qu'est-ce que j'ai fait hier ?
Qu'est-ce que je compte faire aujourd'hui ?
Quelles difcults est-ce que je rencontre ?
Revue de Sprint
A la n dun sprint, cest une runion de
quelques heures destine comprendre
ce qui na pas march quand cest le
cas
Il faut en tirer des axes damlioration
pour les sprints suivants, et adapter le
backlog produit en consquence
Elments Dterminants
Travailler dans la mme pice
Equipe idale constitue de 4 dveloppeurs
Tableau blanc, post-its
Calme
Questions ?