Manifeste pour le développement Agile de logiciels

Manifeste Agile

Les origines des méthodes Agile sont donc relativement anciennes, mais ce n'est qu'au XXIe siècle que le terme Agile prend vraiment le sens qu'on lui connaît aujourd'hui.

En 2001, 17 spécialistes en développement logiciel se réunissent dans la station de ski de Snowbird aux États-Unis.

Leur but n'était pas simplement d'échanger leurs idées sur les difficultés des méthodes traditionnelles et de faire du ski, mais bien de définir les bases de l'agilité au service du développement de logiciels.

De cette réunion, va émerger le manifeste pour le développement Agile de logiciels.

Ce manifeste, aujourd'hui considéré comme une référence, est articulé autour de 4 grandes valeurs et 12 principes.

4 valeurs du manifeste Agile

Remarque

Avant 2001, les écoles d'ingénieurs en informatique enseignaient encore des valeurs très traditionnelles telles que :

  • À une ligne de code doit correspondre une ligne de documentation,

  • Après la signature des spécifications, les changements sont quasi impossibles,

  • Une réunion mensuelle avec le client suffit pour partager avancées et problèmes.

Les signataires du manifeste Agile ont décrit 4 valeurs qui vont, doucement, mais sûrement, changer notre manière d'enseigner, de penser et de gérer les développements informatiques.

Ces valeurs sont les suivantes :

  1. Les individus et leurs interactions plus que les processus et les outils,

  2. Des logiciels opérationnels plus qu'une documentation exhaustive,

  3. La collaboration avec les clients plus que la négociation contractuelle,

  4. L'adaptation au changement plus que le suivi d'un plan.

Nous reconnaissons la valeur des seconds éléments, mais privilégions les premiers.

Cette dernière phrase est importante. Elle évite de sauter à la conclusion et nous force à lire entre les lignes.

  1. Les individus et leurs interactions plus que les processus et les outils. L'agilité nous force à définir un environnement physique et psychologique qui favorise les interactions entre individus. Cela va de la notion de co-localisation à celui de la confiance entre membres de l'équipe de projet. Cette valeur contient aussi les notions d'équipes auto-organisées. Processus et outils devront supporter cet environnement.

  2. Des logiciels opérationnels plus qu'une documentation exhaustive. L'agilité n'interdit donc pas la documentation, mais pointe du doigt le besoin de rationaliser les efforts en passant moins de temps à documenter et plus de temps à élaborer le logiciel.

  3. La collaboration avec les clients plus que la négociation contractuelle. L'agilité met l'accent sur l'écoute et la compréhension des besoins du client. L'agilité ne prétend pas supprimer les contrats, mais renforce la nécessité d'une collaboration étroite entre client et fournisseurs.

  4. L'adaptation au changement plus que le suivi d'un plan. L'agilité ne nie pas l'intérêt d'un plan de projet, mais intègre une gestion dynamique du changement pour permettre de créer de la valeur pour le client.

12 principes du manifeste Agile

À partir des 4 valeurs, les signataires du manifeste Agile ont extrapolé 12 principes :

  1. Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.

  2. Accueillez positivement les changements de besoins, même tard dans le projet.

  3. Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts.

  4. Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.

  5. 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.

  6. 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 face à face.

  7. Un logiciel opérationnel est la principale mesure de progression d'un projet.

  8. Les processus Agile 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.

  9. Une attention continue à l'excellence technique et à un bon design renforce l'agilité.

  10. La simplicité – c'est-à-dire l'art de minimiser la quantité de travail inutile – est essentielle.

  11. Les meilleures architectures, spécifications et conceptions émergent d'équipes auto-organisées.

  12. À intervalles réguliers, l'équipe réfléchit aux moyens possibles pour devenir plus efficace, puis règle et modifie son comportement en conséquence.

Remarque

Nous percevons donc bien que le développement Agile privilégie la satisfaction client ce qui se traduit par des cycles courts, l'intégration du client dans le projet, et une ouverture d'esprit totale au changement.

Pour cela, il est nécessaire de mettre en place une équipe de projet motivée, auto-organisée. Cette équipe se trouvera dans un même lieu et travaillera sur un rythme soutenable sur le long terme.

Attention

Les 12 principes décrivent des réalités pratiques, qu'il faudra mettre en place dans l'entreprise et dans le groupe de projet pour réussir le projet. Nous parlons bien d'un changement de culture d'entreprise, et non pas uniquement de théorie.