http://www.access-dev.com/wp-content/uploads/2013/02/visu_gp.jpg
access-dev Le 19 / 02 / 2013 par ad34

LA GESTION DE PROJET : METHODES CLASSIQUES VS METHODES AGILES



Le métier de 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 multicompétent, c’est à dire maîtriser les techniques de , 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 qui sont les trois contraintes que constitue le projet.

3c

Pour atteindre son objectif, le chef de projet peut avoir recours à plusieurs méthodes de gestion de projet.


LES METHODES CLASSIQUES


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.


LES METHODES AGILES


Le mouvement des 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 macroplanning 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’il n’y a plus de budget


Les principales méthodes agiles :


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


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


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.

scrum

Avant chaque , 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ée sont organisées quotidiennement (mêlée) durant le sprint afin de contrôler l’avancement pour s’assurer 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 :
  • (Dynamic Software Development Method) créée en Grande-Bretagne en 1995
  • (Rapid Application Development) créée par James Martin en 1991
  • XP (eXtreme Programming) créée en 1999


CLASSIQUE OU AGILES ?


Voici un tableau récapitulatif des différences entre les deux méthodes.

comparaison agiles & classique

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

Ainsi comme disait Bruce Lee, le célèbre acteur et maître des arts martiaux :
« To hell with circumstances; I create opportunities. »

bibliographie : Véronique Messager Rota & Jean Tabaka, Gestion de projet : Vers les méthodes agiles 2e édition, Paris, Eyrolles, « Collection Architecte logiciel », 2009, 269 pages.





5 Commentaires

Partagez :