Vous êtes sur la page 1sur 53

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 ?

Vous aimerez peut-être aussi