Méthodes agiles: Lorsque la souplesse remplace la rigidité

Les méthodes agiles caractérisent un mode de gestion des projets informatiques privilégiant le dialogue entre toutes les parties prenantes, clients, utilisateurs, développeurs et autres professionnels du projet, la souplesse en cours de réalisation, la capacité à modifier les plans et la rapidité de livraison. Il s'agit de rompre avec les pratiques plus traditionnelles bien trop rigides et trop exigeantes en matière de spécifications (contractuelles). Pour cela il est important d'accorder la priorité au relationnel et à la communication étendue sur les processus de développement.

Le Manifeste Agile, les principes fondateurs

Que se passe t-il en février 2001 lorsqu’un groupe de 17 passionnés du développement logiciel se réunit dans une station de ski de l’UTAH aux États-Unis pour faire du brainstorming?

Et bien, il en ressort le manifeste du développement logiciel agile, une nouvelle manière de gérer les projets informatiques.

Ces hommes sont Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland et Dave Thomas. Ils sont tous acteurs indépendants du développement logiciel, parfois concurrents et ils ont mis leurs neurones en commun pour former l’alliance agile qui est à l’origine de nouvelles méthodes de gestion de projet appliqués surtout aux projets informatiques.

La méthode agile nommée Manifeste Agile repose sur quatre grands principes:

  • COLLABORATION: Communication et cohésion d’équipe passent avant les outils et les processus.
  • EQUIPE: Le privilège de la relation équipe/client est mis en avant plutôt que la négociation contractuelle.
  • APPLICATION: Préférer une application bien construite à une documentation détaillée.
  • ACCEPTATION: Le choix de l’acceptation du changement et de la flexibilité au détriment d’un plan rigide.

Découlant de ces valeurs, le Manifeste définit 12 principes:

  1. La priorité n°1 est d'obtenir la satisfaction client au plus tôt par la livraison rapide et régulière de fonctionnalités attendues.
  2. Accepter les demandes de changement en cours de projet. Ce sont des opportunités pour donner plus de valeur au projet et coller aux vrais besoins des clients.
  3. Mettre en œuvre des livraisons rapides reposant sur des cycles courts (quelques semaines). Ces livrables doivent être opérationnels pour permettre des tests de validation des fonctionnalités attendues.
  4. Coopération forte et continue entre les utilisateurs et le développement. A 'inverse des méthode classiques où les rencontres entre les utilisateurs et la maîtrise d'oeuvre interviennent surtout en début et en fin de projet.
  5. Donner de l'autonomie à des personnes impliquées et leur faire confiance.
  6. Privilégier le face à face comme canal de communication entre les parties. Les interactions sont plus efficaces et plus riches. Tout va plus vite.
  7. L'important est d'avoir une application opérationnelle.
  8. Avancer avec un rythme constant compatible avec ce que peut produire l'ensemble des acteurs.
  9. Focus sur la qualité technique et la qualité de conception pour construire une base solide renforçant l'agilité.
  10. Rester simple dans les méthodes de travail : ne faire que ce qui est nécessaire.
  11. Une équipe qui s'organise elle même produit de meilleurs résultats.
  12. En revoyant régulièrement ses pratiques, l'équipe adapte son comportement et ses outils pour être plus efficace.

En effet, lorsque l’on emploie le terme « méthode agile » au singulier on parle d’un concept. Cependant il existe plusieurs méthodes agiles qui se différencient les unes des autres.

Méthodes agiles au sens strict, classées par date de publication:

  • Rapid application development (RAD, 1991)
  • Dynamic systems development method (DSDM, 1995, consortium anglais commercialisant le RAD)
  • Scrum (1996)
  • Extreme programming (XP, 1999)
  • Adaptive software development (ASD, 2000)
  • Développement basé sur les fonctionnalités (FDD pour feature driven development, 2003)
  • Behavior-driven development (BDD, 2003)
  • Crystal clear (2004)

En résumé

Contrairement à la méthode traditionnelle waterfall, l'approche Agile offre une plus grande flexibilité et une meilleure visibilité dans la gestion du projet. A notre époque où la personnalisation est si importante, cette méthodologie fait de plus en plus d'adeptes.

Vous avez un projet?

Une idée de développement informatique?

Nous sommes à votre disposition pour en discuter.