Méthode agile
En ingénierie logicielle, les  mettent en avant la collaboration entre des équipes auto-organisées et pluridisciplinaires et leurs clients. Elles s'appuient sur l'utilisation d'un cadre méthodologique léger mais suffisant centré sur l'humain et la communication. Elles préconisent une planification adaptative, un développement évolutif, une livraison précoce et une amélioration continue, et elles encouragent des réponses flexibles au changement.

Cette approche a été popularisée à partir de 2001 par le Manifeste pour le développement agile de logiciels. Les quatre valeurs et les douze principes adoptés dans ce manifeste sont issus d'un large éventail d'approches dont Scrum et eXtreme Programming . Depuis lors, les méthodes ou les approches qui s'inscrivent dans la philosophie de ce manifeste sont appelées « méthodes agiles » ou « approches agiles ».

Les méthodes agiles se veulent plus pragmatiques que les méthodes traditionnelles , impliquent au maximum le demandeur (client) et permettent une grande réactivité à ses demandes. Elles reposent sur un cycle de développement itératif, incrémental et adaptatif.

Fondements 

Le Manifeste pour le développement agile de logiciels est un texte rédigé aux États-Unis en 2001 par dix-sept experts du développement logiciels. Ils estimaient que le taux important d'échecs des projets de développements logiciels était dû à la lourdeur des méthodes traditionnelles inspirées du génie civil et s'appuyant sur un cycle de développement en cascade. Chacun d'entre eux avait déjà mis au point et expérimenté de nouvelles méthodes plus légères. Les approches agiles ne sont donc pas apparues avec le manifeste agile. Cependant celui-ci a défini leurs dénominateurs communs et consacré le terme d'« agile » pour les référencer. Les valeurs et les principes du manifeste agile sont défendus et promus par l'Agile Alliance créée par certains des signataires.

En s'appuyant sur leur expérience combinée du développement logiciel, les dix-sept signataires du manifeste ont proclamé qu'ils attachaient de l'importance , ,  et . Cela signifie que les éléments à gauche du mot  dans chaque citation sont réputés avoir plus de valeur que ceux à droite, bien qu'il y ait aussi de la valeur dans ces derniers. Ces quatre citations sont appelées les quatre  du manifeste agile.

Les quatre valeurs du manifeste agile ont été déclinées en douze principes afin d'aider opérationnellement les équipes qui souhaitaient les suivre.

Historique

Travaux sur le cycle de production itératif et incrémental 
Les travaux sur le cycle de production itératif et incrémental remontent aux années 1930 et 1940, 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.  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.

Les approches agiles sont l'aboutissement de nombreux travaux tels que ceux de Tom Gilb (cycle de vie évolutif) en 1981, 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  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 serait la méthode EVO, de Tom Gilb, publiée en 1976.

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

Apparition du terme « agile » 

Le terme agile apparaît dans le monde économique anglophone en 1991.

En 1991, , s’appuyant sur une vision de l'évolution continue des techniques informatiques, propose une méthode de développement rapide d’application (RAD). La structure itérative, incrémentale et adaptative de cette méthode est une base des approches agiles actuelles. Elle détermine les phases essentielles du cycle de développement et met en œuvre une adaptation permanente fondée 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).

Manifeste agile 
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 créateur de Scrum et Jeff Sutherland son promoteur, , 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 meilleurs 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 commune des valeurs du développement agile de logiciels et de ses principes sous-jacents par les praticiens et les universitaires.

Pour décrire leur manifeste au mieux, les dix-sept signataires ont d'abord pensé au terme lightweight (léger) pour se fixer finalement sur agile (traduit à l'identique en français). D'après Fowler, ce terme traduit mieux l'aspect rapidement adaptatif de ces méthodes.

Au début des années 2000, une dizaine de méthodes agiles (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.

Approches agiles

Au sens strict 
Les approches pouvant être qualifiées d'agiles, depuis la publication du manifeste Agile, sont :
 la méthode de développement rapide d'application (1991), dite méthode RAD, de l'anglais  ;
 la version anglaise du RAD (1995), Dynamic systems development method (DSDM) ;
 le framework Scrum, présenté en 1995 par Ken Schwaber, publié ensuite en 2010 par lui-même et Jeff Sutherland sous la forme du Guide Scrum. Il est composé notamment des méthodes du sprint planning, du burndown chart, des daily stand-up meeting (alias daily scrum) ;
eXtreme Programming (XP), publiée en 1999 par Kent Beck ;
Adaptive software development (ASD, 2000) qui reconnaît sa parenté avec RAD
Développement basé sur les fonctionnalités (FDD pour feature driven development, 2003) qui reconnaît également sa parenté avec RAD
Behavior-driven development (BDD, 2003)
Crystal clear publiée en 2004 par Alistair Cockburn.

Limitations et extensions

Exemples de pratiques agiles 
 Intégration continue
 Test driven development (TDD)
 Conception pilotée par le domaine (DDD pour domain-driven design)
 Équipe transverse
 Programmation en binôme
 Planning poker
 Réusinage de code
 Timeboxing
 Récit utilisateur
 Modélisation C4 pour l'élaboration collaborative d'une architecture évolutive ou émergente
 Kanban

Modèles d'organisation agiles à grande échelle 
Afin de pouvoir mener un (très) gros projet ou un portefeuille de projets nécessitant plusieurs équipes agiles, différents modèles d'organisation agiles à grande échelle ont vu le jour.

En voici la liste :

 Le framework Scaled Agile Framework (SAFe).
 Le framework Large-Scale Scrum (LeSS).
 Le framework Scrum@Scale.
 Le modèle Spotify.

En 2018, SAFe est le framework le plus déployé d'après une enquête réalisée par l'éditeur d'un logiciel de gestion de projets.

Entreprise agile 
Une entreprise agile est une entreprise disposant d’une culture et de pratiques issues ou inspirées des approches agiles, lui offrant une grande capacité d’adaptation à son environnement.

Dans un monde devenant de plus en plus complexe et incertain, cette capacité d’adaptation fait l'objet d'un précieux levier de croissance ou de survie pour de plus en plus d’entreprises.

Les principales caractéristiques communes aux entreprises agiles sont les suivantes :

 Les processus de travail sont concrètement centrés sur la satisfaction des clients.
 L’échec est considéré comme une source d’apprentissage et d’innovation (en ayant recours à des approches surnommées “fail fast” et “test and learn” par exemple).
 Les équipes sont auto-managées (au sein d’un cadre de travail structuré) afin de mettre à profit l’intelligence collective et renforcer l’engagement des collaborateurs. Elles sont également pluridisciplinaires afin d’optimiser leur efficacité et leur réactivité.

Les entreprises agiles parviennent ainsi à réaliser des produits ou services innovants faisant l'objet d'un haut niveau de satisfaction, tout en réduisant les coûts et délais de production. Par ailleurs, le management agile offre un environnement de travail de qualité pour les équipes, limitant ainsi l'absentéisme et le turn-over.

Voici ci-dessous plusieurs sources d'auteurs différents permettant d'appréhender davantage ce modèle d'entreprise :

 Livre blanc "Entreprise Agile" publié en 2015 par le cabinet de conseil Deloitte
 Livre "Devenir une Entreprise Agile" publié en 2017 par Florent Lothon et Jérôme Carfantan
 Article "Qu’est-ce qu’une entreprise agile ?" publié en 2020 par Harvard Business Review France.
 Livre blanc "Devenir une Entreprise Agile" publié en 2021 par Ludovic Cinquin

Critiques 
Parmi les 17 signataires du manifeste agile, certains ont depuis émis des critiques non sur les principes Agiles, mais sur leur mise en pratique.

Ron Jeffries montre plusieurs problèmes :
 le dévoiement des approches agiles, notamment à des fins commerciales ;
 le rejet des approches agiles par les développeurs ;
 l'imposition de ces approches aux équipes (notamment lors d'une mauvaise utilisation des méthodes SAFe, Scaled Scrum, LeSS etc.).

Il conseille aux développeurs, non pas d'abandonner l'agile comme le titre de sa note laisse penser, mais de détacher sa réflexion des méthodes agiles imposées et de rester concentré sur le développement d'un logiciel qui marche, par exemple en mettant en pratique l'Extreme Programming.

Andy Hunt quant à lui pense que si la mise en pratique des approches agiles ne marche pas, c'est parce que nous préférons appliquer des règles simples alors qu'elles imposent une constante remise en question. Les deux valeurs "inspection" et "adaptation au changement" sont essentielles, notamment dans le framework Scrum, mais peu respectées, du fait de la nécessité de remise en question sous-jacente.

Martin Fowler indique que la plupart des projets agiles en 2018 sont « faux-agile » et ne respectent pas ses valeurs et ses principes. Ainsi, les trois principaux défis sont de :

 se battre contre l'industrie agile complexe et sa tendance à imposer les processus aux équipes ;
 insister sur l'importance de l’excellence technique ;
 organiser les équipes autour d'un produit et non d'un projet.

Dave Thomas pointe du doigt le fait que beaucoup de personnes et d'entreprises ont profité du courant « agile » afin de vendre des produits et des services. De manière humoristique, il dit « l'Agile est mort, vive l'agilité ». Utiliser un nom plutôt qu'un adjectif permettrait selon lui de mieux détecter les vendeurs peu scrupuleux de produits et services prétendument agiles.

Robert C. Martin (Uncle Bob) pense que le mouvement agile était censé promouvoir les idéaux du Software craftsmanship mais a en fait horriblement échoué. Selon lui, le mouvement agile est devenu commercial, et a mis de côté ses valeurs d'origine.

Notes et références

Notes

Références

Annexes

Articles connexes 
 Management agile
 Déclaration d'interdépendance
 Cycle de développement (logiciel)
 Limitations et extensions des méthodes agiles
 Consensus
 Software craftsmanship
 Lean

 
Méthode de développement logiciel
Gestion de projet