La méthode Agile

La méthode Agile

Vous avez sans doute entendu parler de la méthode agile en gestion de projet. En quoi consiste cette approche ?

Que vous soyez chef de projet ou concerné de près comme de loin par le domaine de la gestion de projet, vous avez forcément dû entendre parler de la méthode Agile. Peut-être même que vous l'appliquez déjà pour vos projets. Dans ce cas, le sujet de cet article vous semblera familier. Pour tous les autres pas de panique ! Le but est de vous expliquer de manière simple cette approche afin que vous puissiez l'apprivoiser. 

Vous êtes prêt ? Alors allons-y ! 

L'approche Agile

Lorsque l'on parle de gestion de projet il est fréquent de penser planification. C'est en effet un point essentiel dans les méthodes traditionnelles de gestion de projet. On entend parfois dire que 20% du temps du projet doit être consacré à sa planification. Un projet pas suffisamment planifié aurait plus de chance de ne pas aboutir. C'est sur ce point que la méthode Agile diffère essentiellement. Selon cette approche une planification trop pointilleuse sur le long terme serait contre-productive. D'autant plus qu'un projet ne se déroule généralement jamais comme prévu. Imaginez que vous ayez passé un mois à planifier des vacances et qu'un imprévu vienne tout perturber, voire rendre la planification obsolète. Frustrant non ? 

Une des autres principales différences se trouve dans le raisonnement. Dans une approche Agile on raisonne davantage par rapport au produit que par rapport au projet. La volonté est de livrer le produit le plus abouti possible et au plus proche des attentes du client. Dans cette optique la place donnée au client n'est pas la même que dans la gestion de projet traditionnelle. L'équipe projet entretient une collaboration étroite avec le client. Habituellement le client intervient principalement au début du projet, pour transmettre ces attentes quant au produit à livrer, et à la fin, lors de la livraison du produit. Dans une approche Agile il y a un rapport continu avec le client dans l'élaboration du produit. Il est impliqué du début à la fin du projet en étant mis en relation directe avec l'équipe du projet. La satisfaction du client doit être la première préoccupation de l'équipe. 

Un autre élément est le souci particulier porté à la communication. Les interactions en face à face sont privilégiées aux autres moyens de communication. La volonté est de mieux transmettre les informations entre les différentes parties, ce qui permet de gagner en efficacité.

Enfin, contrairement aux méthodes traditionnelles de gestion de projet, l'approche Agile accepte les imprévus ainsi que les demandes de changements rencontrés en cours de route. C'est d'ailleurs un des grands principes de cette méthode, les changements constructifs doivent être acceptés, même s'ils arrivent tard dans le projet, voire à la fin. Ils représentent une valeur ajoutée qui va rendre le produit encore plus proche des attentes du client. 

Le fonctionnement Agile 

Intéressons-nous à présent à son fonctionnement de façon un peu plus détaillée. 

Au départ du projet, l'équipe projet se réunit avec le client pour discuter de ses attentes concernant le produit ainsi que des spécificités à apporter. Le but est de bien cerner ce qu'il souhaite voir réaliser pour déterminer les tâches à effectuer. 

À partir de là le projet va être découpé en plusieurs cycles à court terme appelés itérations. L'équipe projet se fixe un premier objectif à atteindre pour la première itération. Derrière cet objectif se trouve un ensemble de tâches à réaliser. Ces tâches sont sélectionnées selon un ordre de priorité dans l'élaboration du produit. L'équipe se lance alors directement dans l'élaboration en s'auto-organisant pour gagner encore en efficacité.  

Une fois cet objectif atteint, une première version du produit est prête à être présentée au client. Le produit est bien entendu partiellement réalisé mais déjà en état de fonctionnement. À la fin de chaque itération une nouvelle version du produit est présentée, soit avec de nouvelles fonctionnalités ou avec des améliorations apportées. Ce mode de fonctionnement permet d'avancer pas à pas de façon empirique, de réduire les risques liés au projet et d'avoir un retour du client tout au long de l'élaboration. Le client donne son feedback sur ce qui a été réalisé, il peut également demander à ce que des changements soient effectués ou bien faire quelques ajustements si c'est nécessaire. L'équipe du projet se réunit également à la suite d'une itération pour faire une rétrospective sur ce qui a été fait. L'objectif est de s'améliorer sur l'itération suivante. La méthode Agile est une course à l'efficacité. 

D'autre part, le fonctionnement par itérations permet aussi de mettre le produit en production, même partiellement fini, afin de récolter des premiers avis d'utilisateurs qui pourront donner un feedback sur celui-ci. L'avis des utilisateurs est primordial dans la conception d'un produit. Cette manière de procéder permet de répondre au mieux à leurs attentes. 

Une autre spécificité est de pouvoir arrêter le projet à tout moment. Si au terme d'une itération le produit convient au client, il est possible de clôturer le projet et de livrer le produit définitivement. Il peut arriver d'être à court de moyen financier pour poursuivre le projet, dans ce cas le produit ne sera pas achevé mais tout de même fonctionnel dans une version partiellement finie.

Agilité projet

Illustration de l'Agilité dans la gestion d'un projet

Un exemple vaut mieux qu'un long discours, illustrons grossièrement (j'insiste sur le grossièrement) l'approche Agile à travers un exemple qui parlera à tous : la conception d'une salle de classe. 

Lors de la réunion produit, le client explique vouloir une salle de classe carrée, avec une porte, 20 tables, 20 chaises, un tableau à craie, de la moquette au sol, 10 lampes au plafond et un interrupteur. 

L'équipe projet se réunit. La priorité est de livrer la structure de la salle de classe à la fin de la première itération. La première itération commence. Les quatre murs sont installés. Une porte est ajoutée, puis les lampes, l'interrupteur et enfin la moquette. Cela a pris trois semaines. La salle de classe est présentée au client, il est satisfait du résultat et ajoute qu'il aimerait qu'il y ait quatre fenêtres dans la salle. 

L'équipe projet se réunit, la première itération s'est bien passée, RAS. La deuxième commence, l'objectif est d'installer les fenêtres et d'aménager la salle. L'équipe commence donc par installer les fenêtres, elle installe ensuite le tableau, les 20 tables et les 20 chaises. Deux semaines plus tard, une fois l'itération terminée, la salle de classe est à nouveau présentée au client. Finalement le tableau à craie ne lui convient plus, il souhaiterait le remplacer par un tableau à feutre. En plus de cela il voudrait ajouter 10 tables et 10 chaises car il y aura plus d'élèves que prévu dans la salle. 

L'équipe se réunit à nouveau, une des compétences d'un membre de l'équipe n'a pas été bien exploitée, ils auraient pu gagner en efficacité sur l'installation des tables. Pour la troisième itération cette compétence sera mise en avant. L'objectif cette fois est d'ajouter 10 tables, 10 chaises et de remplacer le tableau actuel par un tableau à feutre. L'objectif est atteint, la salle est présentée au client. Il est satisfait, la salle va commencer à accueillir des élèves, néanmoins il souhaiterait encore que soit ajouté un vidéoprojecteur avec un écran de projection...

Je pense que vous avez compris la démarche, le projet va se dérouler ainsi de suite jusqu'à validation définitive du produit. 

Les avantages 

En comparaison avec les méthodes traditionnelles de gestion de projet, l'approche Agile connait plusieurs avantages qui la rende attractive. 

Un des plus important est la flexibilité apportée dans la gestion de projet. En suivant des itérations l'équipe de projet gagne en réactivité face aux imprévus et aux demandes de changements. Cela permet aussi de réduire les risques étant donné que le projet avance pas à pas, ce qui permet également d'accentuer la qualité et la fiabilité du produit, par des ajouts et des améliorations apportées progressivement et selon les feedbacks du client voire des utilisateurs. 

Le fonctionnement par itération donne encore plusieurs avantages pour le client. Il a une visibilité en continue sur le projet et peut demander des ajustements ainsi que des changements en cours de route avant la livraison finale. Il peut aussi décider de mettre le produit en production avant qu'il soit complètement finalisé, car même si certaines spécificités ou fonctionnalités ne sont pas encore présentes, il peut déjà être utilisé. Le fait de mettre son produit à disposition des utilisateurs avant qu'il soit totalement achevé permet en plus d'obtenir un feedback de leur part pour effectuer d'éventuels ajouts ou simples ajustements. 

Enfin, un dernier avantage est le contrôle des coûts. En avançant par étape, il est plus simple de suivre l'évolution de son budget tout au long du projet. Cependant la méthode Agile n'est pas forcément la meilleure lorsqu'il s'agit de respecter un budget. 

Les inconvénients 

Étant donné que l'Agilité se base sur une planification par objectifs à très court terme et qu'elle ouvre la porte aux demandes de changements, elle n'est pas la plus sécuritaire lorsqu'il faut suivre un certain budget. Au début du projet un budget prévisionnel peut être évalué mais il sera amené à varier tout au long de la vie du projet. À chaque demande de changement ou nouvel ajout souhaité le budget va changer. C'est une donnée qui peut être imprévisible. 

Un autre inconvénient peut être l'importance donnée au client. Elle peut poser problème dans la mesure où il doit être disponible et impliqué tout au long du projet. Ce qui peut ne pas toujours être le cas. 

D'autre part, le fait de privilégier les interactions et la communication directe à la documentation écrite peut être un problème dans le cas d'un changement d'équipe projet. 

Pour résumer

Cette nouvelle approche de la gestion de projet se démarque beaucoup des méthodes plus traditionnelles. Elle propose une organisation plus autonome et collaborative, en privilégiant les interactions et le facteur humain. Les compétences de chaque membre de l'équipe sont utilisées au mieux dans le but de gagner toujours plus en efficacité dans la réalisation d'un projet. 

La préoccupation principale est recentrée vers la satisfaction à la fois du client mais également des utilisateurs, dans un souci de fiabilité et de qualité.