Je souhaite vous faire partager le livre de Jean-Pierre Vickoff intitulé « Méthode Agile : les meilleures pratiques, compréhension et mise en œuvre » qui m’a éclairé sur les méthodes agiles. Ce dernier est un partisan de la première heure de ces méthodes. Grand théoricien il a participé au développement de l’agile notamment au travers de RAD2. Ce livre est l’aboutissement de nombreuses années de recherche au sein du mouvement agile, j’aimerais partager cette analyse et ces enseignements avec vous, au travers de billets. Nous verrons dans un premier temps les fondements de ces méthodes, puis leur généralisation pour finir par leur convergence au sein de la méthode PUMA (proposition pour l’urbanisation des méthodes agiles). Jean-Pierre Vickoff envisage sa méthode comme un guide pour l’application de l’agile en entreprise et espère de faire de cette méthode l’avenir du mouvement agile.

Avant de commencer, il est utile de préciser la démarche suivie par le mouvement agile : une approche itérative, incrémentale et adaptative ; qui vient offrir une alternative à l’approche classique en V (ou en cascade). Nous verrons donc ci-dessous dans quelle mesure cette nouvelle approche peut-être plus efficace.

Nous allons suivre l’évolution des méthodes agiles au travers d’une analyse détaillée et chiffrée. Cet article se concentre sur les méthodes agiles, un second développera la méthode PUMA.

1) Fondements et objectifs des méthodes agiles

Les premières publications sur les méthodes agiles apparaissent en 1991, sous la plume de James Martin qui développe la méthode RAD. La principale évolution apportée par cette méthode est une gestion des projets par itération. C’est-à- dire que l’on divise le projet en séquence d’une durée de 2 à 6 semaines, à la fin desquelles on livre un outil opérationnel. Cette approche par étape permet de diagnostiquer rapidement les erreurs et de pouvoir adapter le projet en cours à l’évolution des besoins du client et de l’environnement. La méthode fait rapidement des adeptes, Jean Pierre Vickoff est l’un d’eux. En 1994, il propose une évolution de RAD avec RAD2. En 1995, Jennifer Stapleton publie un équivalent anglo-saxon de la méthode RAD, la méthode DSDM, suivent ensuite la méthode Scrum (Ken Schwarber et Jeff Sutherland) en 1996 et la méthode XP (Kent Back et Ron Jeffrie) en 1999.

Chacune de ces méthodes a ses particularités, mais elles se rejoignent sur de nombreux points, c’est ce que Jean Pierre Vickoff a développé dans la première partie de son livre. Les méthodes agiles s’appuient sur 3 caracteristiques clé :

  • La motivation rationnelle des ressources humaines
  • Des processus configurés en continu
  • Un usage intensif des nouvelles technologies

En effet, l’agile ne correspond pas simplement à une règle qu’il suffit d’appliquer mais aussi à un état d’esprit qu’il faut intérioriser, ce que Samuel Etasse expose très bien sur son blog (http://homoagilis.blogspot.com/) : « L’agilité est donc à mon sens plus un savoir-être qu’un savoir-faire. Ce savoir-être peut nécessiter une révolution des mœurs dans l’entreprise. ».

Le « Manifeste Agile » distingue 4 valeurs, chères au mouvement agile, qui permettent de résumer l’état d’esprit commun à ces méthodes :

  • Privilégier une interaction entre les acteurs plutôt que la mise en place de processus rigides et d’outils.
  • S’orienter vers l’opérationnel plutôt qu’accumuler une masse d’informations difficile à traiter et qui nous fait perdre de vue l’essentiel (le but).
  • Rechercher la collaboration avec le client et sortir d’une logique de négociation (mise en place du rapport « gagnant-gagnant »).
  • S’adapter aux changements qui s’opèrent durant la réalisation du projet plutôt que suivre un plan préétabli, qui ne prend pas en compte l’évolution de la situation.

Autour de ces 4 valeurs s’organisent 12 objectifs qu’il faut avoir en tête afin d’aborder la gestion d’un projet de la meilleure manière qui soit :

  • Satisfaire le client (délai/efficacité)
  • Envisager le changement comme quelque chose de bénéfique (notamment pour les individus concernés par le changement)
  • Livrer fréquemment, durant la réalisation du projet, des applications fonctionnelles (approche itérative et incrémentale).
  • Veiller à la collaboration entre les développeurs et les utilisateurs
  • Satisfaire et motiver les acteurs du changement, cela passe par la prise en compte de leurs besoins, leur faire confiance, leur créer un environnement favorable
  • Favoriser une bonne circulation de l’information, au travers notamment de la discussion en « face à face », qui permet un retour immédiat et implique un lien humain direct (favorable aux feedback et à l’évaluation des compétences)
  • Assurer un suivi continu du changement afin de s’informer sur la progression et de générer une dynamique d’adaptation au changement
  • Garantir un rythme de travail soutenable (rythme normal et non pas un rythme de crise comme cela peut fréquemment être le cas dans le cadre de la gestion de projets)
  • Rechercher continuellement la qualité et l’excellence
  • S’attacher à éradiquer toutes les tâches inutiles afin de simplifier les processus, il en découle une amélioration parallèle de la qualité et les modifications sont plus aisées (descopage).
  • Privilégier l’auto-organisation de l’équipe, le résultat sera meilleur et l’équipe sera plus efficace. Cela favorise la cohésion au sein de l’équipe et génère une solidarité accrue entre les membres
  • S’améliorer en continu, cela suppose que les équipes fassent des mises au point régulières, se remettent en question et définissent des axes d’amélioration.

Il ne faut pas perdre de vue que le changement et la nouveauté sont souvent vus avec appréhension par les bénéficiaires. Il est donc fréquent de voir se développer des mouvements de refus, de blocage. La conduite du changement, la mise en place d’un nouveau SI, le pilotage d’un nouveau projet nous met face à l’inconnu et nous fait prendre des risques. Il en découle incertitude, inquiétude et stress ; le fonctionnement de l’entité concernée par le changement peut s’en trouver affecté. La dimension humaine présente dans l’approche des méthodes agiles est donc résolument nouvelle et nécessaire. Afin de minimiser ce phénomène il est donc important d’être transparent quant aux objectifs et aux exigences dudit changement. Enfin, il est important d’inclure le client dans toutes les étapes du déroulement du projet, de manière à ce qu’il suive en temps réel la progression. Cette implication rend le client conscient de ce qui est réalisé avec son argent et lui donne ainsi les moyens d’adapter le budget à ses besoins (ou exigences). Nous rejoignons ici l’approche collaborative entre le prestataire de service et le client (pas de négociation ardue dans laquelle chacun défend son point de vue, parfois en oubliant celui de l’autre). Parallèlement cela réduit le travail de formalisation pour le « rendu » au client.

Si l’on fonctionne sur un mode de management de l’équipe par autogestion, il est nécessaire d’avoir un « porte-parole » qui sera l’interlocuteur référent du client (ScrumMaster). Afin de ne pas modifier le mode de fonctionnement collaboratif de l’équipe, il est nécessaire que ce représentant soit choisit par l’équipe si il est interne à l’équipe ou qu’il n’intervienne pas lors des prises de décisions si il est externe à l’équipe.

Nous le constatons les méthodes agiles remettent en cause l’organisation classique des projets. D’autre part, ces méthodes, au travers l’auto-organisation, remettent en cause la structure hiérarchique forte (chère à la France). Ces méthodes sont encore peu utilisées en France (plus développées aux Etats Unis), il est donc possible que vous soyez encore hésitant face à leur efficacité. Les quelques chiffres qui suivent, sauront, je pense, convertir les plus indécis.

2) Evaluation des méthodes agiles

Différentes enquêtes ont été faites sur les résultats obtenus par les entreprises ayant utilisées des méthodes agiles. Dans son rapport concluant une enquête effectuée en 2007, sur 70 entreprises (Total economic impact studies), le cabinet Forrester constate 4 améliorations conséquentes pour les entreprises interrogées :

  • 49% d’entre elles ont constaté une diminution des coûts d’opération
  • 83% d’entre elles ont constaté une amélioration de la satisfaction du client
  • 88% d’entre elles ont constaté une augmentation du niveau de qualité
  • 93% d’entre elles ont constaté une hausse de la productivité

L’enquête de VersionOne en 2008 (2319 entreprises dans 80 pays), sponsorisé par l’Agile Alliance et d’autres études diligentées par de grands cabinet de prospective (tel que l’ « Agile Survey » en 2007) ont corroboré ces résultats. Les différentes conclusions ont amené à définir, pour les entreprises, 7 points d’amélioration conséquent :

  • Le changement est facilité
  • La productivité augmente
  • Les ressources humaines sont motivées
  • La qualité s’améliore
  • Les risques diminuent
  • Le « Time to market » se réduit
  • Cohérence entre développeur et utilisateur

Les majorités des entreprises ayant mis en place ce type de méthodes sont des entreprises innovantes, cela concerne par exemple 65% des développements dans le domaine des NTIC aux USA (selon le docteur Dobb’s). Jean Pierre Vickoff évalue, dans son livre, une réduction de charge de 10 à 15% et une amélioration des délais de 30 à 60% (selon l’environnement) dans le cadre de l’application de méthodes agiles par rapport aux méthodes classiques. Enfin, il est difficile d’évaluer le gain futur qu’apporte l’introduction de la culture du changement. Cela génère une recherche continue des éléments à améliorer et une meilleure gestion du risque. Les méthodes agiles impliquent indirectement une vision de l’entreprise sur le long terme.

Si ces chiffres sont très encourageant quant à l’application des méthodes agiles, il n’est pas toujours aisé de les appliquer. En effet, ces méthodes reposent en grande partie sur une volonté commune, un état d’esprit partagé. Leur application et leur mise en pratique nécessite donc certaines compétences et connaissances. L’expérience dans leur mise en oeuvre et de grandes compétences managériales se révèlent souvent indispensables.

Je sors ici du contexte du livre de J-P Vickoff pour parler des caractéristiques propres à l’organisation, qui peuvent ralentir la mise en place de méthodes agiles.

Ces méthodes sont basées sur un fonctionnement collaboratif ce qui remet en cause le mode d’organisation hiérarchique. L’avantage de ce mode de fonctionnement est qu’il crée un esprit d’équipe solidaire, dans lequel chacun porte une part de la responsabilité de la réussite du projet. Ce type d’autogestion est généralement très difficile à mettre en place dans des sociétés où l’attachement à la structure hiérarchique est fort. La résistance au changement en sera exacerbée. De plus, l’implication de la direction est nécessaire à l’agile et la collaboration avec le client est essentielle au bon déroulement du projet. Une modification du mode de gestion préalable peut entraîner une dégradation de la relation entre l’équipe, chargée du développement du projet et la direction concernée. Ce genre de situation se retrouve notamment dans le cadre de grands groupes dont la maison mère décide de mettre en place un projet sans en référer à la filiale concernée.

Par ailleurs, l’agile fonctionne sur la motivation des ressources humaines (et la favorise). Si le projet est mal appréhendé par les utilisateurs, la résistance au changement sera forte et le mode d’organisation agile sera dur ou plus long à mettre en place. Enfin, les cycles décisionnels long ont souvent pour effet de démotiver les porteurs du projet.

Ce petit article donne une image plus claire sur ce qu’est le socle commun des méthodes agiles (cf « Manifeste Agile »). Par ailleurs, on constate qu’une large majorité des projets agiles sont développés avec la méthode Scrum et que la part restante l’est avec XP (Extreme Programming: méthodologie complète concernant le développement de logiciels). Afin de réunifier toutes ces méthodes, JP Vickoff nous propose la méthode PUMA. Cette méthode se veut complète, reprenant le meilleur de chacune des méthodes déjà existantes et s’appuyant sur la pratique de ces méthodes.

PUMA fera l’objet d’un prochain billet.

Source :