Definition
Agile est une philosophie de developpement logiciel qui privilegie la livraison iterative, la collaboration, l'adaptation au changement et la satisfaction client. Elle est definie par le Manifeste Agile, publie en 2001 par 17 developpeurs.
Agile n'est pas une methodologie specifique mais un ensemble de valeurs et principes qui guident le developpement de produits.
Les 4 valeurs du Manifeste Agile
- Les individus et leurs interactions plutot que les processus et les outils
- Un logiciel qui fonctionne plutot qu'une documentation exhaustive
- La collaboration avec les clients plutot que la negociation contractuelle
- L'adaptation au changement plutot que le suivi d'un plan
Nous reconnaissons la valeur des elements de droite, mais privilegions ceux de gauche.
Les 12 principes Agile (resume)
- Satisfaire le client par la livraison rapide et continue
- Accueillir les changements de besoins, meme tard dans le projet
- Livrer frequemment un logiciel fonctionnel (semaines, pas mois)
- Collaboration quotidienne entre metiers et developpeurs
- Construire autour d'individus motives
- Communication en face a face privilégiée
- Un logiciel fonctionnel est la mesure du progres
- Rythme soutenable sur le long terme
- Excellence technique et bon design
- Simplicite : maximiser le travail non fait
- Equipes auto-organisees
- Retrospectives regulieres pour s'ameliorer
Frameworks agiles populaires
Scrum
Le plus utilise. Sprints de 2-4 semaines, roles definis (PO, SM, Dev), ceremonies structurees.
Kanban
Flux continu sans sprints fixes. Visualisation du travail, limitation du WIP (Work In Progress).
XP (Extreme Programming)
Focus sur l'excellence technique : TDD, pair programming, refactoring continu, integration continue.
SAFe (Scaled Agile Framework)
Agilite a l'echelle pour les grandes organisations. Agile Release Trains, PI Planning.
Agile vs Waterfall
| Waterfall | Agile | |
|---|---|---|
| Planning | Tout en amont | Iteratif |
| Livraison | A la fin | Continue (toutes les 2-4 sem.) |
| Changements | Couteux | Bienvenus |
| Feedback | Tardif | Frequent |
| Risque | Eleve (late feedback) | Reduit (early feedback) |
| Documentation | Exhaustive | Juste assez |
Metriques agiles
- Velocity : story points livres par sprint
- Lead Time : du besoin a la mise en production
- Cycle Time : du debut de travail a la livraison
- Burndown Chart : progression du sprint