Définition
Agile est une philosophie de développement logiciel qui privilegie la livraison itérative, la collaboration, l'adaptation au changement et la satisfaction client. Elle est définie par le Manifeste Agile, publie en 2001 par 17 développeurs.
Agile n'est pas une méthodologie spécifique mais un ensemble de valeurs et principes qui guident le développement de produits.
Les 4 valeurs du Manifeste Agile
- Les individus et leurs interactions plutôt que les processus et les outils
- Un logiciel qui fonctionne plutôt qu'une documentation exhaustive
- La collaboration avec les clients plutôt que la négociation contractuelle
- L'adaptation au changement plutôt que le suivi d'un plan
Nous reconnaissons la valeur des éléments 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, même tard dans le projet
- Livrer fréquemment un logiciel fonctionnel (semaines, pas mois)
- Collaboration quotidienne entre métiers et développeurs
- Construire autour d'individus motives
- Communication en face à face privilégiée
- Un logiciel fonctionnel est la mesure du progres
- Rythme soutenable sur le long terme
- Excellence technique et bon design
- Simplicité : maximiser le travail non fait
- Équipes auto-organisees
- Retrospectives régulières pour s'améliorer
Frameworks agiles populaires
Scrum
Le plus utilise. Sprints de 2-4 semaines, rôles définis (PO, SM, Dev), ceremonies structurees.
Kanban
Flux continu sans sprints fixes. Visualisation du travail, limitation du WIP (Work In Progress).
XP (Extrême Programming)
Focus sur l'excellence technique : TDD, pair programming, refactoring continu, intégration continue.
SAFe (Scaled Agile Framework)
Agilite a l'échelle pour les grandes organisations. Agile Release Trains, PI Planning.
Agile vs Waterfall
| Waterfall | Agile | |
|---|---|---|
| Planning | Tout en amont | Itératif |
| Livraison | A la fin | Continue (toutes les 2-4 sem.) |
| Changements | Coûteux | Bienvenus |
| Feedback | Tardif | Fréquent |
| Risque | Eleve (late feedback) | Réduit (early feedback) |
| Documentation | Exhaustive | Juste assez |
Métriques agiles
- Velocity : story points livres par sprint
- Lead Time : du besoin à la mise en production
- Cycle Time : du début de travail à la livraison
- Burndown Chart : progression du sprint