LA DIFERENCE ENTRE LES METHODES AGILES ET LA METHODE SEQUENTIELLE
INTRODUCTION
Le métier de chef de projet est très enrichissant mais aussi très complexe car il est amené à évoluer dans différents environnements qui sont en constantes évolutions. Il doit donc être multi compétent, c'est-à-dire maîtriser les techniques de gestion de projet, de management d’équipe, d’avoir un bon relationnel lors des échanges avec le client et enfin de comprendre les spécificités du projet.
L’objectif du chef de projet est de pouvoir mener son projet à terme en respectant les délais et le budget alloué. Pour atteindre cet objectif, il doit prendre en compte les 3C qui sont les trois contraintes que constitue le projet. Pour atteindre son objectif, le chef de projet peut avoir recours à plusieurs méthodes de gestion de projet.
1. LA METHODE SEQUENTIELLE
Depuis toujours, les projets sont gérés avec la méthode dite « classique » qui se caractérise par recueillir les besoins, définir le produit, le développer et le tester avant de le livrer. On parle alors ici d’une approche prédictive « cycle en cascade »
Comme son nom l’indique, il s’agit ici de prévoir des phases séquentielles où il faut valider l’étape précédente pour passer à la suivante. Le chef de projet doit alors s’engager sur un planning précis de réalisation du projet en prévoyant des jalons de débuts et fins de phases ainsi que les tâches à effectuer.
Il faut tout faire bien du premier coup car elle ne peut pas permettre de retours en arrière. Une décision ou un problème rencontré dans une phase peuvent remettre en cause partiellement ou totalement les phases précédentes validées.
Dans un cycle « en cascade » les risques sont détectés tardivement puisqu’il faut attendre la fin du développement pour effectuer la phase de test. Plus le projet avance, plus l’impact des risques augmente : il sera toujours plus difficile et coûteux de revenir en arrière lorsqu’on découvre une anomalie tardivement.
Afin d’anticiper au mieux ces risques il est nécessaire de produire des documents très détaillés en amont (recueil des besoins, cahier des charges, zoning, wireframe etc.) qui seront validés par le client. Néanmoins, ces documents restent théoriques et conceptuels jusqu’à ce que le dispositif soit testé dans des conditions réelles ; le client validera le contenu papier (conception, maquette, développement fonctionnalités, etc.) mais sera toujours plus sensible à ce qu’il verra sur son écran.
Au final, du point de vue du client, c’est le chef de projet qui aurait dû anticiper ce problème alors qu’il est impossible de tout prévoir à l’avance surtout dans un environnement instable qui évolue constamment où il y a sans cesse de nouvelles technologies qui font leur apparition. Par exemple une société qui investi un gros budget dans la création de son site internet en flash car c’est tendance ; l’année suivante l’iPhone débarque mais est incapable de lire le flash, l’entreprise doit à nouveau réinvestir dans une version HTML de son site web pour être visible sur iPhone.
Par conséquent, comment peut-on augmenter la satisfaction du client en facilitant la gestion de projet et améliorant la qualité de développement ? Comment mieux s’adapter aux imprévus du projet ? Les méthodes dites « agiles » vont nous permettre de répondre à toutes ces questions.
2. LES METHODES AGILES
Le mouvement des méthodes agiles a commencé en 2001 aux Etats-Unis. Dix-sept experts en développement logiciel se sont réunis afin de mettre au point ces méthodes suite à un taux d’échec important des projets observés dans les années 90.
Ce rassemblement a donné naissance à un Manifeste définissant quatre valeurs :
Les individus et leurs interactions avant les processus et les outils ;
Des fonctionnalités opérationnelles avant la documentation ;
Collaboration avec le client plutôt que contractualisation des relations ;
Acceptation du changement plutôt que conformité aux plans.
Les méthodes agiles utilisent un principe de développement itératif qui consiste à découper le projet en plusieurs étapes qu’on appelle « itérations ».
Ces itérations sont en fait des mini-projets définis avec le client en détaillant les différentes fonctionnalités qui seront développées en fonction de leur priorité. Le chef de projet établi alors un macro planning correspondant aux tâches nécessaires pour le développement de ces fonctionnalités.
Le but est d’assumer le fait que l’on ne peut pas tout connaître et anticiper quelque soit notre expérience. On découpe alors le projet en itérations plutôt que de tout prévoir et planifier en sachant que des imprévus arriveront en cours de route. Voici les avantages du développement itératif :
Meilleure qualité de la communication : L’utilisateur à la possibilité de clarifier ses exigences au fur et à mesure
Meilleure visibilité : Le client a eu meilleure visibilité sur l’avancement des travaux.
Meilleur contrôle de la qualité : les tests sont effectués en continu
Meilleure détection des risques : Les risques sont détectés plus tôt
Motivation et confiance de l’équipe : satisfaction d’atteindre un objectif fixé
Contrôle des coûts : le projet peut être arrêtés s‘il n’y a plus de budget
2.1. LES PRINCIPES METHODES AGILES
a) ASD (Adaptive software Development).
Créée par Jim Highsmith (signataire du Manifeste) en 2000 en publiant l’ouvrage Adaptative Software Development, a collaborative approach to managing complex systems. Ses caractéristiques principales sont :
Focaliser sur l’objectif (mission focused) ;
Se baser sur des composants (component-based) ;
Itérer Découper le temps et fixer des deadlines (timeboxing) ;
Piloter le projet par les risques (risk-driven development ) ;
Accepter le changement.
b) Crystal
Cette méthode a été mise au point par Alistair Cockburn (signataire du Manifeste) en 1997. Elle consiste à sélectionner la méthode applicable en fonction du nombre de personnes à coordonnées. Ses caractéristiques principales sont :
Des livraisons fréquentes ;
Des aménagements permanents ;
Une bonne communication interpersonnelle ;
Confiance, liberté d’expression et sécurité personnelle ;
Focus sur l’objectif et disponibilité ;
Un contact permanent avec les utilisateurs ;
Un environnement de travail approprié pour l’automatisation des tests, la gestion de configuration et les intégrations fréquentes
Une collaboration étroite entre toutes les parties prenantes, y compris en dehors de l’équipe
Une réflexion constante sur ces propriétés
c) Scrum
Le Scrum ou « mêlée », créée par Ken Schwaber et Jeff Sutherland (signataires du Manifeste) en 1993, est un terme emprunté au rugby qui désigne la solidarité et la force qui lient les membres de l’équipe au succès de l’itération.
Le cycle de vie de Scrum est rythmé par des itérations de quatre semaines qu’on appel sprints. Avant chaque sprint, on effectue une réunion de planification appelée le sprint planning meeting qui consiste à sélectionner les exigences prioritaires pour le client dans le produit backlog qui seront développées, testées et livrées au client : le backlog sprint (sous- ensemble du produit backlog).
Des mêlées sont organisées quotidiennement (mêlée) durant le sprint afin de contrôler l’avancement pour s’assurer que les objectifs sont tenus. A la fin du sprint, une démonstration des derniers développements est faite au client qui donnera lieu à un bilan qualitatif sur le fonctionnement de l’équipe. Les valeurs mises en avant par cette méthode sont les suivantes :
Visibilité : Avoir une vision réelle sur le résultat ;
Inspection : Vérifier l’écart par rapport à l’objectif initial ;
Adaptation : S’adapter en fonction des écarts constatés afin de les ajuster. Scrum est favorable à des petits ajustements fréquents.
Il existe d’autres méthodes agiles :
DSDM (Dynamic Software Development Method) créée en Grande Bretagne en 1995
RAD (Rapid Application Development) créée par James Martin en 1991
XP (eXtreme Programming) créée en 1999.
d) Sequentielle ou Agiles ?
Voici un tableau récapitulatif des différences entre les deux méthodes.
Thème | Approche traditionnelle | Approche agile |
Cycle de vie | en cascade ou en V, sans rétroaction possible, phases séquentielles | itératif et incrémentale |
Planification | predictive, caractérisés par des plans plus au moins détaillés d'une périmètre et des exigences définies et stables au début du projet. | Adaptive avec plusieurs niveaux de planification (macro et micro planification) avec agissements si nécessaires au fil de l'eau en fonction des changements survenus |
Documentation | produite en quantité importante comme support de communication, de validation et de contractualisation. | Réduite au stricte nécessaire au profit d'incréments fonctionnels opérationnels pour obtenir le feedback du client. |
Équipe | une équipe avec des ressources spécialisées, dirigée par un chef de projet. | Une équipe responsabilisée où l'initiative et la communication sont privilégiées, soutenu par le chef de projet. |
Qualité | contrôle de qualité à la fin du cycle de développement. Le client découvre le produit fini. | Un contrôle qualité précise et permanent, au niveau du produit et du processus. le client visualise les résultats tôt et fréquemment. |
Changement | résistance voire opposition au changement. Processus lourds de gestion des changements acceptés. | Accueil favorable au changement inéluctable intégré dans le processus. |
Suivi de l'avancement | mesure de la conformité aux plans i initiaux. Analyse des écarts. | Un seul indicateur d'avancement : le nombre des fonctionnalités implémentés et le travail restant à faire. |
Gestion des risques | processus distinct, rigoureux de gestion des risques. | Gestion des risques intégrée dans le processus global avec responsabilisation des chacun dans l'identification et la résolution des risques. Pilotages des risques. |
Mesure du succès | respect des engagements initiaux en termes de coût, de budget et de niveau de qualité. | Satisfaction client par la livraison de valeur ajouté |
CONCLUSION
Les méthodes agiles seront plus utilisées pour les gros projets car elles offrent une meilleure adaptabilité, visibilité et gestion des risques. Elles pourraient tout aussi bien être utilisées pour les projets où il n’y pas de documentations détaillées, le client peut alors voir l’évolution du projet et l’adapter selon ses besoins.
En revanche, les méthodes séquentielles ou classiques seront plus utilisées si vous avez une idée très précise de votre projet avec un cahier des charges et planning très détaillé où vous avez anticipé tous les risques possibles.
Le chef de projet se retrouve souvent seul face à lui-même lors de la prise de décision, de gérer les retours client, devant l’incertitude afin de satisfaire le client tout en respectant les 3C. On pourrait alors l’assimiler à un art martial car il doit avoir une grande maitrise de soi et de l’environnement de chaque projet auquel il est amené à gérer.
commenter cet article …