PRATIQUE ALGO/METHODES 
Expliquez-moi... L'intention des méthodes de développement Agile
 
Extreme Programming n'est qu'une méthode agile parmi une dizaine d'autres. Découvrez leurs points communs, leur but final, et donc les raisons de leur popularité croissante. (20/12/2006)
  Forum

Réagissez dans les forums de JDN Développeurs

Rendues populaires par le biais de l'Extreme Programming, les méthodes de développement agiles se retrouvent de plus en plus dans les habitudes quotidiennes des développeurs - ou tout du moins, leurs principes.Il y en effet plusieurs principes fondateurs du développement agile, et plusieurs méthodes cherchant à les implémenter de la meilleure manière possible.

Le développement agile tire son nom et concentre ses principes au sein du Manifeste Agile (The Agile Manifesto), un document rédigé en février 2001 lors d'un congrès réunissant les représentants des principales méthodologies "légères" (conçues comme alternatives aux méthodologies lourdes du passé) en cours à l'époque : Kent Beck, Ward Cunnigham, Martin Fowler ou Dave Thomas.
Parmi les méthodologies représentées : Extreme Programming bien sûr, mais également SCRUM, DSDM, Crystal, Pragmatic Programming, ... De fait, le document tente de donner les principes fondamentaux du développement agile, sans pour autant que ces principes puissent s'appliquer à l'ensemble de la famille de méthodologies qui s'y reconnaît.

Ces principes sont au nombre de 12, dont voici les plus représentatifs :
 - parvenir à la satisfaction du client par le biais d'un cycle rapide, récurrent et incrémental de versions fonctionnelles,
 - se montrer apte à prendre en compte les changements de dernière minute à tout moment du projet,
 - mettre en place une coopération quotidienne entre développeurs et décideurs/commerciaux,
 - motiver les développeurs par un environnement, un soutien et une confiance forts,
 - faire simple, mais pas simpliste,
 - laisser l'équipe s'organiser au mieux de ses possibilités.

Ces principes sont résumés en quatre inclinations :
 - les individus et leurs interactions plutôt que les processus et les outils,
 - le logiciel qui fonctionne plutôt que la documentation complète,
 - la coopération avec le client plutôt que la négociation du contrat,
 - répondre au changement plutôt que suivre un plan.

Il existe une dizaine de méthodologies "officielles", avec probablement dix fois plus d'adaptations selon le projet ou la société. Ces méthodologies ne se font pas concurrence, mais répondent à des besoins différents. Ainsi, certaines sont plus adaptées aux petites équipes (Crystal, XP, Scrum), tandis que d'autres sont prévues pour des groupes conséquents (RAD, RUP, ASD).

Les méthodes elles-mêmes sont agiles : s'il est reconnu que les pratiques XP se renforcent entre elles, par exemple, dans les faits il est courant pour une équipe de n'emprunter à une méthodologie que ce qui lui convient - parfois par manque d'expérience en la matière, parfois pour rassurer les gestionnaires face à des bouleversements trop massifs de la manière de développer. Dans tous les cas, les méthodologies agiles promettent plus de clarté et de souplesse dans le déroulement du projet.

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page