Méthodologie Agile

La méthodologie Agile s'oppose généralement à des méthodologies traditionnelles comme waterfall, XP, et bien d'autres encore. Elle se veut plus souple et adaptée, et place les besoins du client au centre des priorités du projet.

A l'origine, cette approche a été créée pour les projets de développement web et SI. Aujourd'hui, la méthode Agile est de plus en plus répandue car elle est adaptable à de nombreux types de projets, tous secteurs confondus.

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 afin de mettre en commun leurs méthodes respectives. Le « Manifeste Agile » (Agile Manifesto en anglais) naît de cette rencontre et détermine les valeurs et les principes fondamentaux de la méthode Agile.

Une plus grande implication du client et une meilleure réactivité des équipes face à ses demandes sont au cœur de la méthode Agile. Ce manifeste prône les 4 valeurs fondamentales de la méthodologie :

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

De ces valeurs découlent les 12 principes généraux suivants :

  1. Satisfaire le client en priorité
  2. Accueillir favorablement les demandes de changement
  3. Livrer le plus souvent possible des versions opérationnelles de l’application
  4. Assurer une coopération permanente entre le client et l’équipe projet
  5. Construire des projets autour de personnes motivées
  6. Privilégier la conversation en face à face
  7. Mesurer l’avancement du projet en matière de fonctionnalités de l’application
  8. Faire avancer le projet à un rythme soutenable et constant
  9. Porter une attention continue à l’excellence technique et à la conception
  10. Faire simple
  11. Responsabiliser les équipes
  12. Ajuster à intervalles réguliers son comportement et ses processus pour être plus efficace

Fonctionnement

La méthodologie Agile se base sur ce principe simple : planifier la totalité de votre projet dans les moindres détails avant de le développer est contre-productif.

En effet, organiser tous les aspects de votre projet est une perte de temps car il est 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 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. La satisfaction du client étant la priorité, l'implication totale de l'équipe et sa réactivité face aux changements du client comme aux imprévus sont nécessaires. Le dialogue avec le client est privilégié. C'est lui qui valide chaque étape du projet. L'évolution de ses besoins est prise en compte et les 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.

Un exemple concret

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, l'heure précise 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 manqueront pas sur le chemin : embouteillages, travaux et déviations, voire panne de votre véhicule. Votre planification devient très vite obsolète et 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 (é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.

Avantages et inconvénients

  • Avantages

L'avantage majeur de l'approche Agile est sa flexibilité. Les changements du client et les imprévus sont pris en compte et l'équipe projet peut réagir rapidement.

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 entre le client et l'équipe projet.

Le client dispose d'une meilleure visibilité sur l'avancement du projet et peut ainsi l'ajuster en fonction de ses besoins. Le contrôle qualité est permanent. Quant à l'équipe projet, elle peut réagir rapidement aux demandes du client.

Enfin, vous contrôlez mieux les coûts du projet car à la fin de chaque étape, vous connaissez le budget déjà dépensé et celui restant. Vous pouvez ainsi décider de poursuivre ou d'arrêter le projet si les fonds sont insuffisants.

  • Inconvénients

Comme le dialogue est privilégié, la méthode Agile laisse peu de place à la documentation, ce qui peut poser problème en cas de changement d'équipe projet, par exemple.

Le client doit être disponible et s'intéresser à son projet afin de s'assurer qu'il répondra parfaitement à ses besoins. Tous les clients 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 pas adaptée pour les entreprises avec une structure hiérarchique très forte à cause de son fonctionnement collaboratif.

Cette méthodologie permet un bon contrôle des coûts, mais 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.

En résumé

Contrairement à la méthode traditionnelle waterfall, l'approche Agile offre une plus grande flexibilité et une meilleure visibilité dans la gestion du projet. A notre époque où la personnalisation est si importante, cette méthodologie fait de plus en plus d'adeptes.


Les 12 types de planification de projet (+ Tableau Comparatif)

La planification de projet est une étape clé de la gestion d’un projet. Elle conditionne son déroulement, et à terme, son succès ou son échec. Il est donc primordial de structurer correctement le projet. Pour cela, il existe des types de planification reconnus destinés à faciliter la gestion du projet. Le choix de la méthode de planification va avant tout dépendre du type de projet. Nous allons présenter ici douze méthodes de planification, afin de vous aider à sélectionner celle qui conviendra le mieux à votre projet.

1- Traditionnelle

La planification dite « traditionnelle » repose sur l’établissement d’une liste exhaustive des tâches composant le projet et l’estimation du temps de réalisation de chacune d’elle. Les tâches sont réparties entre les différents intervenants par le chef de projet qui se charge ensuite de superviser et de contrôler leur réalisation. C’est une méthode simple et efficace néanmoins réservée à de petites équipes, dont les membres sont très autonomes et ne dépendent pas les uns des autres pour réaliser leurs tâches. La communication au sein de l’équipe est réduite au strict minimum, le chef de projet centralisant toute la gestion des tâches.

2- Agile

Particulièrement adaptée pour les projets nécessitant une grande flexibilité (exemple projet informatique) et des développements rapides, la méthode agile consiste à découper les différentes étapes du projet en « sprints ». La réalisation des tâches se fait de façon itérative avec des cycles courts, généralement de deux à quatre semaines. Utiliser une méthode de conduite de projet informatique agile nécessite néanmoins une équipe motivée et autonome, dont les membres communiquent facilement entre eux. A l’issue de chaque sprint, la validation des livrables est effectuée, ainsi que la planification de l’itération suivante.

3- Cascade

Parmi les différents types de projets, il y a ceux dont les tâches à réaliser sont particulièrement dépendantes les unes des autres. L’équipe doit dans ce cas attendre que toutes les tâches identifiées comme prérequis soient terminées avant d’en commencer une autre. Cela nécessite de réaliser les différentes tâches dans un ordre bien précis, et donc que les membres de l’équipe communiquent efficacement entres eux afin que chacun puisse suivre l’avancement des opérations. Dans ces conditions, la méthode en cascade est idéale ! Chaque membre de l’équipe qui réalise une tâche permet à tous d’avancer, assurant ainsi le bon déroulement du projet. Cette démarche de projet permet également d’agrandir l’équipe au besoin, au fur et à mesure de la réalisation des tâches. En revanche, un contrôle absolu de la gestion des dépendances des tâches et de la chronologie de réalisation est indispensable.

4- PERT

Amélioration du diagramme de Gantt (du nom de son inventeur), le PERT permet d’analyser et de représenter de manière logique le réseau des tâches à réaliser au cours du projet. PERT signifie « Program Evaluation and Review Technique », ou TEEP en français, pour « Technique d’Evaluation et Examen des Programmes ». Le type de projet correspondant le mieux à la méthode PERT est sans aucun doute celui impliquant un processus de fabrication. La construction d’un réseau des tâches, mettant en lumière leurs interdépendances et la chronologie de réalisation, va permettre de construire peu à peu le canevas d’élaboration du projet. Cette méthode n’est pas toujours facile à mettre en place, car elle demande une organisation quasi-scientifique. Elle est parfaitement adaptée aux entreprises en pleine expansion, ou qui se préparent à cette éventualité.

5- SCRUM

Dérivé d’une méthode de gestion de projet agile, SCRUM (qui désigne la « mêlée » au rugby en anglais) est particulièrement adaptée au management de projet informatique (même s’il peut être utilisé pour différentes catégories de projets). La démarche de projet est d’effectuer un découpage en « sprints », durant généralement 30 jours (leur durée peut être raccourcie en fonction des contraintes). Les différentes tâches sont priorisées au sein des sprints et le respect des délais de réalisation est contrôlé. Il n’y a pas réellement de chef de projet, mais un Scrum Master, dont le rôle sera de faciliter la communication et le travail entre différentes équipes de tailles réduites. La communication est primordiale, et les retours sur la progression des différentes tâches permanent.

6- Crystal clear

Méthode agile comme l’est Scrum, Crystal clear a pour particularité de pouvoir s’adapter facilement à la typologie du projet. A la différence des autres méthodes, Crystal clear ne met pas les processus et les tâches au centre de la démarche de projet. Ce sont les compétences des membres de l’équipe et les interactions entre eux qui sont au centre de la méthode. Chacun peut apprendre des autres et ainsi progresser tout au long du projet. Les talents créatifs peuvent alors pleinement s’exprimer. Ce mode de fonctionnement apporte une grande souplesse au projet et une grande rapidité de réalisation des tâches. En revanche, les différentes étapes de la démarche du projet seront uniques, et ne pourront pas nécessairement être réutilisées sur un autre projet.

7- Processus Unifié

Fréquemment utilisé dans les projets de développement de logiciels, le Processus Unifié est une méthode basée sur des cycles itératifs. Il est très performant, notamment lorsque des langages de programmation orientés objets. Des phases de tests et de retours utilisateurs alternent de façon cyclique. A chaque étape de cette démarche projet, des paliers de transition sont mis en place afin de réajuster les développements en fonction des retours et des évaluations des utilisateurs. Ils peuvent ainsi signaler des anomalies ou des malfaçons et demander des modifications, qui si elles sont prises en compte, peuvent changer la direction prise par le projet. Grâce à ce mécanisme, les développements se rapprochent petit à petit du logiciel souhaité par les utilisateurs.

8- Adaptative

Cette méthode de planification est particulièrement efficace pour les projets dont le périmètre peut être amené à varier. Si la date de fin de projet et de livraison, ainsi que le budget prévisionnel sont figés, le contenu peut être ajusté durant toute la durée du projet. Il est ainsi possible d’adapter le projet et d’y incorporer de nouvelles idées ou de nouvelles technologies en fonction des besoins.

9- Chemin critique

Dans le cas où le projet comprend un grand nombre de tâches interdépendantes, la méthode du chemin critique permet de faciliter la planification. Le principe est de découper le projet en tâches critiques et non critiques et en calculant le temps nécessaire à la réalisation de chacune d’elles afin de savoir lesquelles prendront le moins de temps.

Le calcul précis de la durée du projet est possible et les tâches sont mesurées et priorisées. Il est alors possible pour le chef de projet de choisir la réalisation des tâches critiques en priorité afin de continuer ensuite par les tâches dépendantes. Ce type de démarche de projet se retrouve généralement lors des recherches scientifiques ou de la mise au point de produits par les fabricants, car la durée des tâches est mise en avant.

10- Chaîne critique

La chaîne critique est très utilisée pour les projets high-tech dans des domaines ultra-compétitifs. Il s’agit d’une combinaison des méthodes PERT et Chemin critique. La composition et les objectifs des équipes sont fixés en fonction des budgets définis et des contraintes identifiées. Le déroulement du projet n’est donc pas uniquement basé sur sa durée la plus courte comme avec le chemin critique, mais également sur les coûts que l’on cherche à réduire et les bénéfices que l’on cherche à augmenter.

11- eXtreme Programming

La méthode XP s’applique aux projets gérés à l’aide d’une méthode agile. Le principe est de diminuer la durée de chaque itération jusqu’à obtenir des cycles hebdomadaires ou même quotidiens. Chaque itération est identifiée par un nom ou un numéro lorsqu’elle est terminée. Les développeurs travaillent très souvent en binômes, ce qui facilite généralement la production d’un code simple et aisément lisible : en effet, alors qu’un développeur écrit le code, son binôme le relit et peut lui faire part immédiatement de ses remarques et de ses idées. Les mises à jour du projet sont quotidiennes et servent de jalons. Les remarques et demandes utilisateurs peuvent être prises en compte dans les cycles suivants. Tous les acteurs du projet communiquent à un niveau égal et les cycles très courts permettent de conserver une excellente maîtrise du déroulement du projet, et surtout de s’assurer que les développements collent au plus près du besoin du client. Cela permet une planification et une organisation du projet particulièrement souples.

12- Développement de l’application jointe

Cette méthode consiste à impliquer le client dès le début du processus de développement. Des sessions communes sont organisées régulièrement. Le client peut ainsi exprimer ouvertement des idées et des demandes concernant les fonctionnalités attendues. Au fur et à mesure des développements, le client peut partager ses impressions sur l’évolution du produit, sur le déroulement du projet et ses souhaits concernant l’orientation des travaux. Ces réunions de collaboration entre client et équipe de développement sont organisées pendant toute la durée du projet.

Tableau récapitulatif