Il aura fallu près de vingt années au mouvement Agile, parallèlement à la pression de la mondialisation, pour bousculer vraiment la conduite de projet classique. Désormais, le futur de l’agilité méthodologique se trouve certainement, d’une part, dans l’instrumentation et la personnalisation « à la carte » des pratiques essentielles pour un contexte spécifique et, d’autre part, dans son élargissement à tous les aspects de l’Agilité organisationnelle.
– Jean-Pierre Vickoff
Les méthodes agiles sont des méthodes de gestion de projet, qui peuvent a priori être appliquées à tout type de projet, aussi bien en informatique que dans d'autres domaines. Elles se veulent pragmatiques, plus pragmatiques que d'autres méthodes plus traditionnelles.
Ce concept de l'agilité dans les méthodes de gestion de projet a été formalisé dans le désormais célèbre Mafineste Agile, qui a été signé par de nombreuses personnalités reconnues dans le monde du génie logiciel en 2001.
Le but de cette page n'est pas de faire un cours magistral, et encore moins d'être exhaustif au sujet de l'agilité. Il s'agit simplement de comprendre les fondements de ce paradigme afin de mieux exploiter la méthode Scrum par la suite.
Les méthodes agiles ont notamment été introduites pour pallier les problèmes de non respect des délais dans les projets informatiques, d'effet tunnel et d'autres écueils de la gestion de projets plus traditionnelle. Voici quelques grands principes de l'agilité.
Une évidence… pas toujours vérifiée dans les projets informatiques ! La priorité numéro 1 du projet est de fournir au client un produit adapté à ses besoins. Inutile de tergiverser sur des fonctionnalités inutiles, il est toujours nécessaire de se poser la question : « Cette fonctionnalité est-elle importante pour le business et la satisfaction de mon client ? » (on parle de business value). Si ce n'est pas le cas, la fonctionnalité ne mérite pas d'être développée.
Pour éviter l'effet tunnel et les plannings qui dérapent, mais aussi pour rassurer et satisfaire le client, il est primordial de livrer un produit, partiellement développé, très tôt. Il faut également mettre en place des livraisons à intervalles réguliers (idéalement assez courts), pour pouvoir débusquer tout problème très tôt et prendre les mesures nécessaires. Même si ces mesures ne faisaient absolument pas partie des plans initiaux.
Le client du projet doit être impliqué dans ce projet, doit avoir une bonne visibilité sur celui-ci et apporter un feed-back régulier sur les développements. L'utilisateur final participe aux groupes de travail.
Les méthodes agiles mettent l'accent sur l'équipe, qui doit idéalement s'auto-organiser et communiquer un maximum. Mieux vaut 5 développeurs moyens qui collaborent que 5 experts qui travaillent dans leur coin.
Les méthodes agiles les plus répandues en France sont :