Methodes Agiles
Methodes Agiles
Methodes Agiles
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
Principes
Approche prdictive et linaire
Squence de phases qui s'enchainent sucessivement
Requirements
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
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
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
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
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
24 h
30 days
Product Backlog
Sprint Backlog
Sprint
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
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
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
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
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
Tests d'acceptation
Test fonctionnel
10
Mthodes agiles
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.
11
Mthodes agiles
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
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
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