Aller au contenu

Qu'est-ce que le développement agile ?

Agile est le nom-parapluie d’une famille de méthodes bâties autour d’un pari unique : le logiciel est trop imprévisible pour être planifié en détail à l’avance ; il faut donc livrer par petites tranches, écouter ce qui revient et ajuster en permanence.

Cette page couvre le contexte. Si vous connaissez déjà tout cela, sautez directement à Comment East Agile Tracker s’aligne sur l’agilité.

En février 2001, dix-sept praticiens du logiciel — Kent Beck, Martin Fowler, Robert Martin, Ron Jeffries et d’autres — se sont retrouvés dans un chalet de ski de l’Utah et ont mis par écrit ce qu’ils avaient en commun. Ils ont appelé cela le Manifeste Agile. Il tient en quatre lignes :

Nous découvrons de meilleures façons de développer des logiciels en le faisant et en aidant les autres à le faire. Grâce à ce travail, nous en sommes venus à valoriser :

  • Les individus et leurs interactions plus que les processus et les outils
  • Un logiciel qui fonctionne plus qu’une documentation exhaustive
  • La collaboration avec les clients plus que la négociation contractuelle
  • L’adaptation au changement plus que le suivi d’un plan

Autrement dit, même s’il y a de la valeur dans les éléments de droite, nous valorisons davantage ceux de gauche.

C’est tout. Un préambule d’une page, douze principes d’accompagnement, et les quatre lignes ci-dessus. C’est le document le plus influent de la pratique logicielle moderne.

Derrière les quatre valeurs, les douze principes du manifeste précisent ce à quoi l’« agilité » ressemble vraiment au quotidien :

  1. La priorité la plus haute est de satisfaire le client par la livraison rapide et continue de logiciel utile.
  2. Accueillir favorablement les changements d’exigences, même tard. Les processus agiles exploitent le changement pour donner un avantage concurrentiel au client.
  3. Livrer fréquemment un logiciel qui fonctionne — à l’échelle de quelques semaines plutôt que de mois.
  4. Les responsables métier et les développeurs doivent travailler ensemble, quotidiennement.
  5. Bâtir les projets autour de personnes motivées. Leur fournir ce dont elles ont besoin et leur faire confiance pour faire le travail.
  6. Le moyen le plus efficace de transmettre l’information est la conversation en face à face.
  7. Un logiciel qui fonctionne est la mesure principale du progrès.
  8. Les processus agiles encouragent un rythme soutenable — un rythme constant, indéfiniment.
  9. L’attention continue à l’excellence technique et à la qualité de la conception renforce l’agilité.
  10. La simplicité — l’art de maximiser la quantité de travail à ne pas faire — est essentielle.
  11. Les meilleures architectures, exigences et conceptions émergent d’équipes auto-organisées.
  12. À intervalles réguliers, l’équipe réfléchit à la façon de devenir plus efficace, puis ajuste et règle son comportement.

« Agile » est un parapluie. Sous ce parapluie, plusieurs méthodologies distinctes :

  • eXtreme Programming (XP) — La plus exigeante de la famille. Programmation en binôme, TDD, intégration continue, client sur site, petites livraisons. Voir notre page sur XP.
  • Scrum — Itérations chronométrées appelées sprints, mêlées quotidiennes, rôles nommés (Product Owner, Scrum Master). Plus léger sur les pratiques d’ingénierie que XP.
  • Kanban — Visualiser le flux, limiter le travail en cours, optimiser la fluidité. Pas de boîtes temporelles ; on tire au lieu de pousser.
  • Lean — Emprunté au système de production de Toyota : éliminer le gaspillage, optimiser l’ensemble, livrer vite, intégrer la qualité.

Ces méthodes se recouvrent et se combinent. La plupart des équipes en pratique piochent dans les quatre. East Agile Tracker est orienté XP — voir eXtreme Programming — mais la plupart de ce qu’il offre fonctionne pour toutes les saveurs d’agilité.

Quelques contresens tenaces qu’il vaut la peine de nommer :

  • L’agilité, ce n’est pas « pas de planification ». Les plans sont plus petits et plus courts, mais la planification, elle, est permanente.
  • L’agilité, ce n’est pas « pas de documentation ». Écrivez ce qui est nécessaire. Le manifeste dit qu’un logiciel qui fonctionne a plus de valeur qu’une documentation exhaustive — pas que la documentation est néfaste.
  • L’agilité, ce n’est pas Scrum. Scrum est une méthode agile. Il y en a plusieurs.
  • L’agilité, ce n’est pas un outil. Aucun outil ne vous rend agile. L’agilité est une façon de travailler. Les outils (celui-ci compris) aident ; ils ne remplacent rien.

Comment East Agile Tracker s’aligne sur l’agilité

Section intitulée « Comment East Agile Tracker s’aligne sur l’agilité »

East Agile Tracker est conçu autour des principes ci-dessus. Voici la correspondance :

PrincipeComment le tracker le soutient
Livraison continueItérations de 1 à 4 semaines ; planification automatique basée sur la vélocité ; releases comme type de story à part entière.
Accueillir le changementRéordonnez le backlog à tout moment ; les stories circulent librement entre itérations ; pas de « verrouillage d’itération ».
Le logiciel qui fonctionne comme mesureLa vélocité compte par défaut les points Accepted — seul le travail réellement livré et fonctionnel compte.
Rythme soutenableLa vélocité n’est pas un objectif ; c’est une observation. Le système planifie l’itération suivante à partir de ce que vous faites réellement.
RéflexionAnalyses par itération : burndown, taux de rejet, temps de cycle, projections.
Équipes auto-organiséesLes rôles sont volontairement minimaux : owner / member / viewer. L’équipe décide.
SimplicitéLe panneau de détail tient sur un écran. Le tableau tient sur une page. Nous résistons aux fonctionnalités qui distraient de la livraison.

Le manifeste a été écrit en 2001. Depuis, le développement logiciel a accueilli un nouveau type de participant : les agents IA.

Nous pensons que les agents ont leur place dans l’équipe agile — en tant que participants nommés, avec leurs propres rôles, qui font un vrai travail aux côtés des humains. Les principes tiennent toujours. Individus et interactions incluent désormais les participants-agents. Équipes auto-organisées signifie aussi décider quels agents intégrer et ce qu’ils ont le droit de faire. Réflexion inclut maintenant l’examen des contributions des agents dans le journal d’activité et l’ajustement de ce qui leur est confié.

East Agile Tracker est conçu pour rendre cela praticable. Toute story peut être détenue par un humain ou par un agent. Chaque entrée du journal d’audit attribue l’action à son véritable acteur. Chaque action d’un agent est visible, relisable et révocable.

Conçu par East Agile.