Les méthodes agiles

Origine et principes d'une nouvelle façon de travailler

Launizo Consulting, Laurent Ninni

D'où viens-tu, Agile ?

Les méthodes agiles regroupent un ensemble de principes généraux, presque une philosophie qui doit guider toute action et toute réflexion dans une structure organisée au service de ses clients. Elles sont issues de près d'un siècle de travaux sur les cycles itératifs de production, c'est à dire la façon d'organiser les projets en boucles assez courtes qui se répètent plutôt qu'en une longue succession linéaire d'étapes.

Le terme agile est consacré dans le "Manifeste Agile", une courte déclaration rédigée en 2001 par un groupe de spécialistes américains du développement, qui avaient en commun d'utiliser des méthodes de développement itératives du logiciel, et souhaitaient donner un cadre unifié à l'ensemble de ces méthodes.

En effet, ils pensaient que les méthodes classiques de développement utilisant un cycle en cascade (ou son évolution : le cycle en V) n'étaient plus adaptées. Pour faire simple, le cycle en V est une méthode séquentielle (linéaire) qui comporte 3 phases :

  • Première phase : on réfléchit à tout et on prévoit tout.

  • Seconde phase : on réalise tout, exactement comme ça a été prévu.

  • Troisième phase : on teste et on livre tout, une bonne fois pour toute.

 

Le cycle en V

Schéma simplifié d'un cycle en V   - On le voit bien sur la partie descendante : les étapes s'enchainent en cascade. Le client n'intervient qu'en début et fin de cycle, ce qui donne parfois lieu à des désillusions importantes lorsqu'il reçoit le produit en recette.

Or, ce type de cycle a plusieurs défauts :

  • Il exige une première phase d'analyse et conception extrêmement poussée si on veut anticiper au maximum tous les besoins et les problèmes possibles : c'est une phase nécessaire dans des industries où on ne peut se permettre d'avoir omis le moindre détail, telle que l'aéronautique (quand un avion décolle, on peut difficilement se permettre d'avoir oublié ou raté quelque chose), et c'est pour cela que les programmes de développement prennent des années.

  • La phase de développement est réalisée avec des spécifications figées : si le client a oublié une contrainte, ou souhaite ajouter ou modifier quelque chose, il faut en principe qu'il attende la fin du projet et la réception des produits, pour pouvoir lancer un nouveau projet qui prendra en compte ses nouvelles améliorations (il arrive qu'on déroge à cette règle, et c'est pourquoi certains projets de développement livrent avec des retards et un surcoût très importants : la livraison n'intervenant qu'en bout de cycle, tout changement a un impact sur l'ensemble du projet), Comme les spécifications sont  figées, cela donne aussi parfois un "effet tunnel" : pendant le développement, on a peu de vision sur ce que sera le produit au final, tout comme sur sa date de livraison effective.

  • Les retours arrières sont permis sur les étapes de même niveau : si par exemple les tests unitaires montrent des défauts, on repart en conception détaillée. Autrement dit, un problème d'intégration sera découvert tardivement et pourra donc remettre en cause l'intégralité du projet.

  • Si le projet est en retard, ce sont en général les dernières tâches à réaliser qui en pâtissent. On réduit donc le temps alloué aux tests, ce qui a un impact négatif sur la qualité du produit.

  • Le client n'intervient qu'en début et fin de cycle : après avoir exprimé ses besoins, on lui présente des spécifications générales (ce qui va être fait), puis il attend la recette pour découvrir le résultat. Il faut donc attendre la troisième phase et le début des tests pour parfois s'apercevoir d'un gros écart entre ce que le client avait en tête et ce que les équipes de production ont réalisé.

Les rédacteurs du manifeste agile étaient confrontés à un environnement technologique en évolution rapide (la révolution internet), qui nécessitait une adaptation permanente des projets à cet environnement en constant changement. Par ailleurs, leurs clients découvraient les nouvelles technologies, et il était souhaitable de les impliquer tout au long du projet pour éviter les incompréhensions. Autant d'éléments qui rendaient l'utilisation du cycle traditionnel en V particulièrement laborieux, et il fallait inventer des méthodes intégrant le changement comme un élément inhérent aux projets. Ce sont donc les nouvelles technologies et internet qui ont provoqué l’avènement des méthodes agiles.

Les principes d'Agile

Le manifeste agile liste 4 grandes valeurs qu'il faut favoriser :

  • Les individus et leurs interactions plus que les processus et les outils.

  • Des produits (logiciels) opérationnels plus qu'une documentation exhaustive.

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

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

La valeur des seconds éléments est reconnue, mais ce sont les premiers qui sont privilégiés.

On le voit, agile se veut très pragmatique : l'important, c'est que tout fonctionne bien et que tout le monde soit content.

Douze principes sous-jacents sont également listés. Ils se déclinent en fait autour des mêmes 4 grandes valeurs fondamentales:

  • les collaborateurs (équipe projet) : leur motivation est essentielle, il faut pour cela leur fournir de bonnes conditions et de bons outils de travail, leur faire confiance pour la réalisation des objectifs et leur montrer de la reconnaissance, et leur parler en face à face pour être plus efficace (plutôt que par mail).

  • le produit : la meilleure façon de mesurer l'état d'avancement du projet, c'est d'avoir un produit (logiciel) opérationnel.

  • le client : sa satisfaction est la plus haute des priorités, il faut être ouvert à ses changements d'avis (sur ses besoins), travailler avec lui au quotidien et lui livrer aussi fréquemment que possible des versions améliorées du produit (logiciel) qu'il a commandé.

  • l'organisation du travail : le rythme de travail doit être soutenable pour pouvoir être tenu aussi longtemps que nécessaire; l'excellence technique et la simplicité sont essentiels; les équipes auto-organisées produisent les meilleurs résultats; il faut régulièrement réfléchir aux moyens de s'améliorer, et réaliser les ajustements nécessaires en conséquence.

Cela n'a l'air de rien, pourtant ces valeurs et principes vont être au cœur de nouvelles méthodes de travail qui vont révolutionner l'industrie des nouvelles technologies tout d'abord, avant de s'étendre bien au delà, en apportant des solutions efficaces aux difficultés historiques de la gestion de projet.