Méthodes Agiles
Prof : [Link]
Plan :
Paradigme agile
Solutions agiles
Méthodes UP-XP
Conclusion
2
Agile
Approche réactive et itérative
d’organisation de travail
Focalisée sur la fonctionnalité et
satisfaction client
Construit en adéquation avec les capacités
et limites humaines
Pourquoi Agile ?
En réaction des problèmes avec des
approches ‘traditionnelles’ :
Analyse de
besoins
Analyse
Conception
Code
Test
Les constats
Les meilleures idées ne viennent pas
forcément au début du projet
◦ Il est plus facile de construire par étape que
tout imaginer dès le début
Les besoins peuvent évoluer pendent le
projet
Le formalisme n’est pas naturel
Chiffrages et Reste à Faire sont difficiles
à évaluer
Les constats
On ne sait pas estimer la charge restante
100%
% Complété
T
Problèmes avec Cascade
Les méthodes prédictives fonctionnent
bien, à condition d’avoir:
◦ Stabilité et prévisibilité
◦ Communication et compréhension parfaite
◦ Choix parfaits dès le départ
Aucun humain!
Agile : Un juste milieu
Très réactive Réactivité Peu réactive
Peu focalisé, Focalisation Objectifs clairs
aucune maitrise
Absence de Méthodes
méthode prédictives
Agile : Une catégorie de méthodes
‘Agile’ regroupe plusieurs
méthodologies :
◦ Unified Process (UP)
◦ Extreme Programming (XP)
◦ Scrum
◦ DSDM
◦ Crystal
◦ …
Notion officialisée en 2001 avec le
Manifeste Agile
Le manifeste Agile
Personnes et interactions Plutôt que Processus et outils
Documentation
Un produit opérationnel Plutôt que
exhaustive
Collaboration
Plutôt que Négociation d'un contrat
avec le client
Adaptation au
Plutôt que Suivi d'un plan
changement
Libérer le génie humain
Pour l’auto-organisation dans un contexte
qu’il peut maîtriser :
La taille de l’équipe est limitée
Le domaine du problème est limité
Petites équipes autogérées
Portée fonctionnelle restreinte à un
moment donné
Garder un rythme de travail soutenable
Avancement par itération
Cycle de vie traditionnel
Expression des besoins
Conception
Codage
Tests, recette & debugage
Les solutions Agiles
Expression de besoins
Conception
Développement
Tests, recette & debuggage
i1 i2 i3 in
Les solutions Agiles
Toujours focalisées sur le produit final
Une vision commune pour l’équipe
la satisfaction du client
Découper le projet autrement
par fonctionnalité
Organiser en cycles de développement
réduits
itérations
Les solutions Agiles
Collaboration avec le client
Pourquoi on veut des contrats ?
- Instaurer la confiance autrement
- Eviter les effets pervers d’un contrat
Les solutions Agiles
Adaptables
Réactives aux nouveaux besoins
Réceptives aux nouvelles solutions
- Prendre les décisions définitives le
plus tard possible
- De courtes itérations permettent de
changer de direction sans laisser des
éléments à moitié fait
Agile: Planification
L’estimation de charge est difficile, mais
les courtes itérations nous aident
◦ On est plus précis sur les petites tâches
◦ Feedback très rapide
◦ Plus facile à s’adapter face aux dérives,
surprises
Méthode UP
Méthode UP : (méthode générique de développement de
logiciel s’appuie sur UML)
Itératif et incrémental : projet est découpé en itérations
incrémentales pour réduire la complexité et de le bien
maitriser ;
Centré sur l’architecture : les différentes vues du système
qui doit être construit; (forme)
Piloté par les risques : limiter les risques majeurs des
projets à fin déterminer l’ordre des itérations(plan, cout,
délai…) ;
Guidé par les cas d’utilisation: L’architecture et les cas
d’utilisation doivent évoluer de façon parallèle (fonction).
18
Méthode UP
Méthode UP
19
Méthode UP
Méthode UP :
Inception : Traduit une idée en vision de produit fini
et présente une étude de rentabilité pour ce produit ;
Elaboration : Permet de préciser la plupart des cas
d’utilisation et de concevoir l’architecture du
système ;
Construction : moment ou l’on construit le système,
l’architecture de références se transforme en produit
complet ;
Transition : produit est en version bêta. essai du
produit, détection des anomalies et défaut, formation
des users.
20
Méthode XP
Méthode agile XP : centrée sur le client et
le code source.
livrer très tôt une première version du
logiciel ;
Favoriser la collaboration entre les
membres d’équipe ;
Limiter les phases non-productive,
adapter les changements.
21
Méthode XP
Méthode traditionnelle :
Méthode agile XP :
22
Méthode UP-XP
Méthode agile XP hybride avec UP :
Que doit faire le logiciel ?
Comment réaliser le logiciel ?
Quels sont les moyens pour réduire les durée de phases de
modélisation?
UP répond bien au Q1 et Q2 : détermine les fonctionnalité
à implémenter du logiciel, spécifie les phases à suivre pour
réaliser un logiciel ;
XP répond au Q3 : s’articule sur l’essentiel de
modélisation, livre plus rapidement une version du logiciel
;
XUP : réduire le temps de modélisation en gardant
l’efficacité du projet.
23
Conclusion
Cycle de vie de développement d’un
logiciel;
Apport des méthodes agiles;
24