Méthode agile

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Méthode Agile)
Aller à : navigation, rechercher
Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
Des informations de cet article ou section devraient être mieux reliées aux sources mentionnées dans la bibliographie, sources ou liens externes (8 janvier 2013).

Améliorez sa vérifiabilité en les associant par des références à l'aide d'appels de notes.

Les méthodes agiles sont des groupes de pratiques de pilotage et de réalisation de projets. Elles ont pour origine le manifeste Agile, rédigé en 2001, qui consacre le terme d'« agile » pour référencer de multiples méthodes existantes.

Les méthodes agiles se veulent plus pragmatiques que les méthodes traditionnelles. Elles impliquent au maximum le demandeur (client) et permettent une grande réactivité à ses demandes.

Les méthodes agiles reposent sur un cycle de développement itératif, incrémental et adaptatif. Elles doivent respecter quatre valeurs fondamentales déclinées en douze principes desquels découlent une base de pratiques, soit communes, soit complémentaires.

Les méthodes pouvant être qualifiées d'agiles, depuis la publication de l'agile manifesto, sont le RAD (développement rapide d'applications) (1991) avec DSDM, la version anglaise du RAD (1995) ainsi que plusieurs autres méthodes, comme ASD ou FDD qui reconnaissent leur parenté directe avec RAD. Les deux méthodes agiles désormais les plus utilisées sont : la méthode Scrum qui fut présentée en 1995 par Ken Schwaber[1]puis publiée en 2001 par lui-même et Mike Beedle pour enfin être diffusée mondialement par Jeff Sutherland ainsi que la méthode XP Extreme programming publiée en 1999 par Kent Beck. Ces deux méthodes sont d'ailleurs techniquement complémentaires dans le cas d'un projet de développement de SI, XP proposant alors les techniques d'obtention de la qualité du code.

Fondements[modifier | modifier le code]

Quatre valeurs fondamentales[modifier | modifier le code]

Les méthodes agiles prônent 4 valeurs fondamentales :

  1. L'équipe
  2. L'application
  3. La collaboration
  4. L'acceptation du changement

Douze principes généraux[modifier | modifier le code]

  1. Satisfaire le client en priorité
  2. Accueillir les demandes de changement « à bras ouverts »
  3. Livrer le plus souvent possible des versions opérationnelles de l’application
  4. Assurer une coopération permanente entre le client et l’équipe projet
  5. Construire des projets autour d’individus motivés
  6. Privilégier la conversation en face à face
  7. Mesurer l’avancement du projet en termes de fonctionnalités de l’application
  8. Faire avancer le projet à un rythme soutenable et constant
  9. Porter une attention continue à l’excellence technique et à la conception
  10. Faire simple
  11. Responsabiliser les équipes
  12. Ajuster à intervalles réguliers son comportement et ses processus pour être plus efficace

Historique[modifier | modifier le code]

Ce modèle est-il pertinent ? Cliquez pour en voir d'autres.
L'article doit être débarrassé d'une partie de son jargon (indiquez la date de pose grâce au paramètre date).

Sa qualité peut être largement améliorée en utilisant un vocabulaire plus directement compréhensible. Discutez des points à améliorer en page de discussion.

Les travaux sur le cycle de production itératif et incrémental remontent aux années 1930 et 40, avec les travaux de Walter Shewhart et William Edwards Deming. Ces recherches sont appliquées à la production informatique à la fin des années 1950, notamment avec le développement de parties logicielles dans le cadre du programme Mercury[2]. Gerald Weinberg (en) mentionne un projet de développement réalisé en 1957 pour Motorola qui utilisait une technique similaire à ce qui sera plus tard l'eXtreme programming[2].

Les méthodes agiles sont l'aboutissement de nombreux travaux tels que ceux de Tom Gilb (cycle de vie évolutif), de Scott Shultz (production en itérations rapides), de Brian Gallagher et de Alex Balchin. Elles intègrent aussi les techniques JRP (Joint Requirements Planning) et JAD (Joint application design) (en) qui furent initiées par Dan Gielan, puis formalisées par Chuck Morris d'IBM en 1984 et diffusées sous forme de livres en 1989 par, entre autres, J. Wood et D. Silver. La première méthode agile[3] serait la méthode EVO[4], de Tom Gilb (en), publiée en 1976.

En 1986, Barry Boehm publie le modèle en spirale (développement incrémental) tandis que Hirotaka Takeuchi (en) et Ikujiro Nonaka publient « The new new product developpement game[5] » un modèle de développement de produits industriels basé sur l'engagement simultané des diverses disciplines concernées (ingénierie concourante).

En 1991, James Martin (en) (RAD), s’appuyant sur une vision de l'évolution continue des technologies informatiques, propose une méthode de développement rapide d’application. Sa structure (itérative-incrémentale-adaptative), base des approches agiles actuelles, détermine le phasage essentiel (figure : Le cycle agile est en fait semi-itératif) et met en œuvre un principe adaptatif non restrictif fondé sur la validation permanente des utilisateurs et leur responsabilité directe dans la dynamique applicative.

À partir de 1994, Jean-Pierre Vickoff en France, notamment avec le Processus RAD2 publié par le Gartner Group en 1999, et Jennifer Stapleton en Grande-Bretagne, avec DSDM, introduisent des compléments et des évolutions (détails Développement rapide d'applications).

En 2001, aux États-Unis, dix-sept figures éminentes du développement logiciel se réunissent pour débattre d'un thème unificateur de leurs méthodes respectives. Les plus connus d'entre eux sont Ward Cunningham, l'inventeur du Wiki via WikiWikiWeb, Kent Beck, père de l'extreme programming et cofondateur de JUnit, Ken Schwaber (en) créateur de Scrum et Jeff Sutherland (en) son promoteur, Jim Highsmith (en), prônant l'ASD, Alistair Cockburn pour la méthode Crystal clear, Martin Fowler et Dave Thomas, ainsi qu'Arie van Bennekum pour DSDM (Dynamic System Development Method). Ces 17 experts extraient alors de leurs usages respectifs les critères communs et les principes qui, selon eux, conduisent aux meilleures concepts de direction de projets et de développement de logiciels.

De cette réunion émerge le Manifeste agile, considéré comme la définition canonique de valeurs de l'agilité agile et de ses principes sous-jacents[6].

Au début des années 2000, une vague d’une dizaine de méthodes (dont XP Extreme programming et Scrum sont les principales représentantes) sont popularisées. L'apport méthodologique d'XP réside dans la préconisation de pousser à l’extrême les principales pratiques de qualité de la construction applicative ainsi que les techniques adaptatives d’estimation consensuelle, de planification pilotée par l'utilisateur et de reporting visuel en temps réel de l'avancement ainsi que des problèmes rencontrés (affichage mural à base de post-it). Scrum propose un ensemble réduit de pratiques concentrées sur le développement de l'adaptabilité par l'apprentissage et l'auto-organisation.

Méthodes agiles au sens strict[modifier | modifier le code]

Classées par date de publication :

Notes et références[modifier | modifier le code]

  1. (en) « Ken Schwaber », sur Scrum Guides,‎ (consulté le 2 janvier 2015)
  2. a et b (en) Craig Larman, Victor R. Basilii, « Iterative and incremental development : a brief history » [PDF], sur craiglarman.org,‎
  3. "EVO is perhaps the oldest IID method with a significant agile and adaptative quality, first taking shape in the 1960s then published in 1976."(en) Craig Larman, « Agile & Iterative Development : Chap 7 », sur craiglarman.com,‎ (consulté le 3 mai 2014)
  4. (en) Tom Gilb (en), « Fundamental Principles of Evolutionary Project Management », sur gilb.com,‎ (consulté le 3 mai 2014)
  5. (en) Hirotaka Takeuchi (en) et Ikujiro Nonaka, « The New New Product Development Game (Article preview) », sur The magazine (Harvard business review),‎ (consulté le 14 mai 2012)
  6. « Le Manifeste agile a été rendu public en 2001, et plusieurs implémentations de la méthode, comme XP, SCRUM, et Crystal, existent. », Kieran Conboy et Brian Fitzgerald, Extreme Programming And Méthodes agiles - XP/Agile Universe 2004 : 4e Conférence sur Extreme Programming et les Méthodes Agiles, Calgary, Canada, du 15 au 18 août 2004, Actes, chapitre Vers un cadre conceptuel pour les Méthodes Agiles, Springer Verlag, New York, [pas clair], (ISBN 354022839X), (en) lien

Annexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]