# Manifeste agile

Le Manifeste pour le développement agile de logiciels (en anglais : Manifesto for Agile Software Development, titre original) est un texte rédigé par dix-sept experts (experts considérés en anglais plutôt comme des practitioners, des praticiens) du développement d'applications informatiques sous la forme de plusieurs approches dites agiles. Ces experts estimaient que le traditionnel cycle de développement en cascade ne correspondait plus aux contraintes et aux exigences des organisations en évolution rapide. Les méthodes agiles ne sont pas apparues avec le Manifeste en 2001 mais celui-ci détermine leurs dénominateurs communs et consacre le terme d'« agile » pour les référencer. Les valeurs et principes du Manifeste agile sont défendus par l'Agile Alliance.

## Introduction

En février 2001, aux États-Unis, dix-sept spécialistes du développement logiciel se sont réunis pour débattre du thème unificateur de leurs méthodes respectives, jusqu'alors appelées sans consensus méthodes lights.
Les plus connus d'entre eux étaient Ward Cunningham l'inventeur du Wiki via WikiWikiWeb, Kent Beck, père de l'extreme programming et cofondateur de JUnit, Ken Schwaber et Jeff Sutherland, fondateurs de Scrum, Jim Highsmith, 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) la version anglaise du RAD (développement rapide d'applications), Robert Cecil Martin pour Clean Architecture.
Parmi les autres signataires, Andy Hunt, Jared Richardson (fondateur ultérieurement de la méthode GROWS) ou Ron Jeffries notamment ont remis en cause ultérieurement non les principes eux-mêmes, mais leur mise en pratique et leur dévoiement notamment à des fins commerciales.
Ces dix-sept experts venant tous d'horizons différents réussirent à extraire de leurs concepts respectifs des critères pour définir une nouvelle façon de développer des logiciels.
De cette réunion devait émerger le Manifeste agile, considéré comme la définition canonique du développement agile et de ses principes sous-jacents.
Le Manifeste agile est constitué de quatre valeurs et de douze principes fondateurs.

## Quatre valeurs

Nous découvrons de meilleures approches du développement logiciel en le pratiquant et en aidant les autres à le pratiquer. Ce travail nous a amené à accorder de l'importance :
* aux individus et leurs interactions plutôt qu'aux processus et aux outils ;
* à un logiciel fonctionnel plutôt qu’à une documentation exhaustive ;
* à la collaboration avec les clients plutôt qu'à la négociation contractuelle ;
* à l’adaptation au changement plutôt qu'à l'exécution d’un plan.
Cela signifie que, bien qu'il y ait de la valeur dans les éléments situés à la fin, notre préférence se porte sur les éléments qui se trouvent en première partie de phrase.

## Douze principes

Les douze principes sous-jacents au manifeste sont les suivants :
* Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
* Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.
* Livrez fréquemment un logiciel fonctionnel, dans des cycles de quelques semaines à quelques mois, avec une préférence pour les plus courts.
* Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.
* Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont elles ont besoin et faites-leur confiance pour atteindre les objectifs fixés.
* La méthode la plus simple et la plus efficace pour transmettre de l’information à l'équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face.
* Un logiciel fonctionnel est la principale mesure de progression d'un projet.
* Les processus agiles encouragent un rythme de développement soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant.
* Une attention continue à l'excellence technique et à un bon design.
* La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.
* Les meilleures architectures, spécifications et conceptions émergent d'équipes auto-organisées.
* À intervalles réguliers, l'équipe réfléchit aux moyens possibles de devenir plus efficace. Puis elle s'adapte et modifie son fonctionnement en conséquence.

## Résumé de la mise en pratique

Le développement agile, appelé aussi développement adaptatif, se caractérise donc par un style de conduite de projet itératif incrémental, centré sur l’autonomie des ressources humaines impliquées dans la spécification, la production et la validation d’une application intégrée et testée en continu (méthode agile).
C’est à partir de ces réalités pratiques, et non pas sur la base d’une théorie globale ou structurante, que l’agilité progresse vers les sphères les plus hautes de l’organisation et participe à la création de ce que l'on peut appeler une culture agile de l'organisation.

## Organisation

L'Agile Alliance est une organisation sans but lucratif chargée de promouvoir à l'échelle mondiale les valeurs et principes du Manifeste agile.