Les méthodes agiles : meilleure gestion des projets

Rédigé par Joseph MICACCIA - -
etude.projet

Pour la gestion de projets, lorsque les méthodes classiques montrent leurs limites, il reste les méthodes agiles.

Cet article présente les principes et les avantages qu'offrent les méthodes agiles, initialement mises au point pour l'industrie logicielle et exportées à d'autres corps de métiers.

 

image comparative

Les méthodes classiques (dites cycle en cascade) sont caractérisées par :

  •     Recueil et analyse des besoins
  •     Développement et conception du produit
  •     Tests puis livraison du produit au client

Il s'agit d'étapes séquentielles. Chaque étape doit être validée pour passer à la suivante. L'inconvénient majeur de cette méthode réside dans le fait qu'il n'est toléré aucune erreur, ni problème, car il sera difficile ou couteux de revenir en arrière.

Pour limiter les risques, il faut faire un dossier très documenté, avant validation par le client. Mais cela reste téhorique jusqu'à ce que le produit soit créé... jusqu'à ce que le client voit le produit de ses yeux. Ainsi, il y a un risque que le produit final ne corresponde pas à la demande du client.

En suite aux insuffisances liées aux méthodes de développement traditionnelles, en 2001, un comité composé de 17 personalités de l'industrie logicielle se sont réunis pour réfléchir à des méthodes plus efficaces.

Un manifeste a été signé. Et c'est ainsi que sont apparues les méthodes agiles, qui s'articulents autour de quatre valeurs et douze principes.

Les 4 valeurs sont :

1. « Les individus et leurs interactions, plus que les processus et les outils »

Travailler en équipe, voilà une valeur extrêmement importante dans une approche Agile. En considérant les “créateurs de valeur ajoutée” pour le client (les équipes en interne), ainsi que l’ensemble de leurs interactions entre eux, il est possible d’obtenir des résultats très positifs, meilleurs qu’en ne se centrant que sur une approche processée et dont l’unique valeur repose sur des outils. 

2. « Des logiciels opérationnels, plus qu’une documentation exhaustive »

Être centré sur le résultat, et sur la valeur que cela transmet au client. Voilà une valeur totalement corrélée à la première, et qui rend compte d’une partie de l’état d’esprit Agile. La documentation apporte des éléments intéressants, complémentaires et nécessaires, mais elle n’est pas l’objectif visé. Être dans une démarche interactive et opérationnelle permet de favoriser les échanges et les interactions au sein des équipes, favorisant ainsi la création de valeur.  


3. « La collaboration avec les clients, plus que la négociation contractuelle »

Collaborer avec son client, c’est l’impliquer dans l’ensemble du projet, de sa création à sa réalisation. Il est nécessaire de considérer la relation avec le client comme la base du projet. Cette base va permettre d’avancer, de corriger, et d’améliorer la réalisation tout au long du projet, permettant au client de mieux comprendre et apprécier la valeur délivrée par l’entreprise. Ceci peut permettre d’éviter les conflits et incompréhensions, souvent issues de la rigidité contractuelle dictant l’avancement du projet.  


4. « L’adaptation au changement, plus que le suivi d’un plan »

Être flexible, c’est finalement répondre à l’ensemble des 3 valeurs listées précédemment. Cette flexibilité dans l’approche projet va permettre une adaptation à l’évolution des équipes, aux attentes du client, ainsi qu’aux résultats obtenus et observés dans la “réalité”. Avoir une forme de souplesse dans la gestion du projet permet de répondre plus facilement aux évolutions et d‘impacter positivement la valeur perçue par le client durant le projet.

Les 12 principes sont :

  1.     Notre plus haute priorité est de satisfaire le client en livrant rapidement et régulièrement des fonctionnalités à grande valeur ajoutée.
  2.     Accueillez positivement les changements de besoins, même tard dans le projet. Les processus Agiles exploitent le changement pour donner un avantage compétitif au client.
  3.     Livrez fréquemment un logiciel opérationnel avec des cycles de quelques semaines à quelques mois et une préférence pour les plus courts.
  4.     Les utilisateurs ou leurs représentants et les développeurs doivent travailler ensemble quotidiennement tout au long du projet.
  5.     Réalisez les projets avec des personnes motivées. Fournissez-leur l’environnement et le soutien dont ils ont besoin et faites-leur confiance pour atteindre les objectifs fixés.
  6.     La méthode la plus simple et la plus efficace pour  transmettre de l’information à l’équipe de développement et à l’intérieur de celle-ci est le dialogue en face à face.
  7.     Un logiciel opérationnel est la principale mesure d’avancement.
  8.     Les processus Agiles encouragent un rythme de développement  soutenable. Ensemble, les commanditaires, les développeurs et les utilisateurs devraient être capables de maintenir indéfiniment un rythme constant.
  9.     Une attention continue à l’excellence technique et à une bonne conception renforce l’Agilité.
  10.     La simplicité – c’est-à-dire l’art de minimiser la quantité de travail inutile – est essentielle.
  11.     Les meilleures architectures, spécifications et conceptions émergent d’équipes auto organisées.
  12.     À intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus efficace, puis règle et modifie son comportement en conséquence.

Les méthodes agiles consistent à décomposer le projet en plusieurs étapes, en utilisant le principe de développement itératif.Le principe de base consiste à proposer une version minimale du logiciel puis à intégrer des fonctionnalités supplémentaires à cette base, par processus itératif. Le processus itératif regroupe une séquence d’instructions à répéter autant de fois que possible, selon les besoins.

 

méthode agile

 

Ainsi, en assumant le fait qu'un chef de projet ne peut pas tout prévoir à l'avance, aussi grande que puisse être son expérience, le projet est divisé en entités itératives qui absorberont les éventuels évênements pouvant survenir dans la vie du projet.

Les avantages du développement itératif sont :

  •     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 sont :

  • RAD (Rapid Application Development) créée par James Martin en 1991
  • Scrum, créée par Ken Schwaber et Jeff Sutherland en 1993
  • DSDM (Dynamic Software Development Method) créée en Grande-Bretagne en 1995
  • Crystal,  mise au point par Alistair Cockburn en 1997
  • ASD (Adaptive software Development), créé en 2000 par Jim Highsmith
  • XP (eXtreme Programming) créée en 1999

Les méthodes classiques peuvent être utilisées pour les projets dont on a une idée très précise, avec un cahier des charges très détaillé, et en anticipant tous les risques possibles.

Pour les gros projets ou les projet dont on n'a pas une bonne visibilité, il est préférable de privilégier les méthodes agiles qui, de surcroît, favorisent un gain de productivité non négligeable,  ainsi qu'une baisse des coûts de production.

 

No thanks, we are too busy

 

 

 

Les commentaires sont fermés.