La Gestion de Projet Selon Le Manifeste Agile
La Gestion de Projet Selon Le Manifeste Agile
La Gestion de Projet Selon Le Manifeste Agile
Suite à l'observation d'un taux d’échec élevé des projets dans les années 1990, 17 experts en
développement logiciel se réunissent aux Etats-Unis en 2001. Ils veulent mettre en commun
leurs méthodes respectives. Le « Manifeste Agile » (Agile Manifesto en anglais) naît de cette
rencontre. Il détermine les valeurs et les principes fondamentaux de la méthode.
Au cœur de la méthode Agile résident une plus grande implication du client et une meilleure
réactivité des équipes. Ce manifeste prône en outre 4 valeurs fondamentales de la démarche :
L'équipe, soit des individus et des interactions, plutôt que des processus et des outils ;
L’application, c'est-à-dire des fonctionnalités opérationnelles plutôt que de la
documentation exhaustive ;
La collaboration avec le client, plutôt que la contractualisation des relations ;
L’acceptation du changement, plutôt que le suivi d'un plan.
La méthodologie Agile se base sur une idée simple. Planifier la totalité de votre projet dans
les moindres détails avant de le développer est contre-productif.
Vous perdez du temps si vous organisez tous les aspects de votre projet en amont. Il est
effectivement rare que tout se passe exactement comme prévu. Souvent, des aléas surviennent
et vous forcent à revoir votre planification.
La méthode Agile recommande de se fixer des objectifs à court terme. Le projet est donc
divisé en plusieurs sous-projets. Une fois l'objectif atteint, on passe au suivant, et ce jusqu'à
l'accomplissement de l'objectif final. Cette approche est plus flexible. Puisqu'il est impossible
de tout prévoir et de tout anticiper, elle laisse la place aux imprévus et aux changements.
Autre point important : la méthode Agile repose sur une relation privilégiée entre le client et
l'équipe projet. Sa satisfaction étant la priorité, l'implication totale de l'équipe et sa réactivité
face aux changements s’imposent. Le dialogue est privilégié. C'est le client qui valide chaque
étape du projet. Il convient donc de prendre en compte l’évolution de ses besoins. Des
ajustements sont effectués en temps réel afin de répondre à ses attentes.
Avec l'approche Agile, rien n'est figé. L'équipe projet doit être capable de se remettre sans
cesse en cause et de chercher continuellement à évoluer.
Selon la méthode Agile à laquelle on se réfère, la démarche peut prendre différentes formes,
et revêtir un vocabulaire spécifique.
La plus célèbre des méthodologies de gestion de projets déclinées de la méthode Agile relève
de la “Scrum”, autrement dit la “mêlée” dans le langage rugby. Le responsable de projet
s’appelle ainsi le “SCRUM Master”.
Cette approche s’organise autour de cycles courts, qu’on appelle communément des itérations.
En langage Scrum, une itération se nomme un “sprint”. À chaque nouveau sprint, l’équipe
projet se rassemble pour lister les tâches à exécuter. Cette liste s’appelle le “sprint backlog”.
L’ensemble relève d’une logique de développement produit. C’est ce qui explique que la
méthodologie Scrum se déploie autour d’acteurs spécifiques, comme le Product Owner. Des
réunions Scrum ont d’ailleurs lieu quotidiennement. Il s’agit de courtes périodes d’échange,
pendant lesquelles les membres de l’équipe projet communiquent sur leurs avancées et leurs
difficultés.
Si Scrum reste la méthode Agile la plus utilisée, elle entre en compétition avec la méthode
Kanban pour ce qui relève du pilotage de projets dit “mono-équipe”.
L’approche Kanban trouve son origine dans le mot japonais pour “panneau”. Elle nous vient
des procédures de production de Toyota, appliquées à l’univers de la programmation logiciel.
Cette approche consiste à croiser des tâches avec leurs états d’avancement, au sein d’une
matrice en colonnes.
Le “Lean Development” est une méthode proche de Kanban. Il s’en différencie seulement par
deux objectifs : améliorer les apprentissages des participants et éviter le gaspillage de
ressources.
L’univers des méthodes Agile compte également plusieurs autres approches connues :
l’Extreme Programing, ou XP, qui s’organise autour d’un travail en binôme, ou “pair
programming”. Celui-ci vise principalement la réduction des coûts dûs aux
changements. Il s’utilise beaucoup en surcouche de la méthode Scrum.
Le Rapid Application Development (RAD) est une des premières méthodes Agile.
Elle se base sur une durée courte d’un maximum de 120 jours. C’est cette méthode qui
a installé l’idée d’itération.
La Dynamic systems development method (DSDM) date des années 1990’ et s’appuie
sur des concepts Agiles classiques : collaboration, autonomie de l’équipe, itérations.
Le Feature Driven Development (FDD) s'axe sur la qualité du produit fini. Il est très
prisé du monde du design ;
Le Rational Unified Process (RUP) incarne une méthode assez lourde. Elle combine la
notion traditionnelle de cycle de vie, propre aux anciennes méthodes de gestion de
projet, et celle d’itération.
Mettons que vous prévoyez de vous rendre à Brest depuis Strasbourg, en passant par les
petites routes de campagne. Avant de partir, vous planifiez chaque détail de votre trajet en
précisant le nom de chaque ville et village traversés. Vous précisez l'heure de passage, chaque
rue empruntée, la quantité d'essence consommée, les kilomètres parcourus, etc.
Le problème, c'est que les imprévus ne manquent pas sur le chemin : embouteillages, travaux
et déviations, voire panne de votre véhicule. Votre planification devient donc très vite
obsolète. Vous venez de perdre un temps précieux à organiser avec précision un itinéraire que
vous ne pouvez pas forcément suivre. Frustrant, n'est-ce pas ?
Avec la méthodologie Agile, plutôt que de planifier l'intégralité de votre itinéraire, vous vous
fixez un premier objectif à court terme, une grande ville, et vous prenez immédiatement la
route. Une fois l'objectif atteint, vous prenez le temps d'analyser la situation actuelle, l'état de
la circulation et de la voiture, et vous adaptez la suite de votre itinéraire en fonction de ces
informations. Vous continuez ainsi de suite jusqu'à atteindre votre destination finale.
Si la méthode Agile a l’avantage de l’adaptabilité, elle réclame aussi une forte participation de
l’équipe et du client, en plus de représenter un certain budget final.
Autre atout : la collaboration et la communication fréquente avec le client, ainsi que sa forte
implication dans le projet. Une relation de confiance se tisse. Le client dispose ainsi d'une
meilleure visibilité sur l'avancement du projet. Il peut donc l'ajuster en fonction de ses
besoins. Le contrôle qualité est permanent.
Enfin, vous contrôlez mieux les coûts du projet. À la fin de chaque étape, vous connaissez le
budget déjà dépensé et celui restant. Vous pouvez ainsi décider de le poursuivre, ou de
l’arrêter si les fonds sont insuffisants.
Comme le dialogue est privilégié, la méthode Agile laisse peu de place à la documentation.
Ça peut poser problème en cas de changement d'équipe projet, par exemple.
Le client doit par ailleurs rester disponible et s'intéresser à son projet afin de s'assurer qu'il
répond parfaitement à ses besoins. Tous n'ont pas le temps, ni l'envie de s'impliquer
pleinement dans la réalisation d'un projet.
La méthode Agile n'est en outre pas adaptée pour les entreprises avec une structure
hiérarchique très forte, à cause de son fonctionnement collaboratif.
Par ailleurs, si cette approche permet un bon contrôle des coûts, elle rend très difficile la
vision d'un budget pour la totalité du projet. La flexibilité a un coût, que le client doit être prêt
à payer.
Contrairement à la méthode traditionnelle Waterfall, l'approche Agile offre une plus grande
flexibilité et une meilleure visibilité dans la gestion du projet. À notre époque où la
personnalisation est importante, cette méthodologie fait de plus en plus d'adeptes.
C’est aussi une approche qui se plie bien aux besoins des projets qui doivent aboutir
rapidement, ou dont les domaines de déploiement évoluent vite. Un projet qui a de grandes
chances d’évoluer en chemin trouve la structure dont il a besoin avec cette démarche souple.
Elle autorise les ajustements et les optimisations, sans freiner l’organisation des équipes.