Jeudi 14 décembre 2017
NASDAQ : 0.0 0   nasdaq0 %
RECHERCHE
OK
 
NEWSLETTER
newsletter
Abonnez-vous gratuitement
à notre newsletter
hebdomadaire - Cliquez ICI
Indexel
  • DOSSIERS
  • PRATIQUE
pub Publicité
 

MANAGEMENT

Méthodes agiles : du dogme au pragmatisme

Imprimer Envoyer à un ami Contacter la rédaction
Par Thierry Lévy-Abégnoli le 16/02/2011 - indexel.net
 
Methodes-agiles

Les méthodes agiles visent à fluidifier la relation entre utilisateurs et informaticiens. Elles ont souvent été mises en œuvre de façon dogmatique. Désormais, la réussite passe par certaines précautions et compromis.

 

Lorsqu'il s'agit de développer une application, de paramétrer un progiciel ou de monter un site web un tant soit peu complexe, les interactions entre informaticiens et utilisateurs sont souvent difficiles à organiser. La démarche traditionnelle consiste à demander aux utilisateurs de réaliser un cahier des charges qui permet aux développeurs de se mettre au travail. Ces développeurs livrent le résultat plusieurs mois plus tard et sont alors confrontés à la réaction d'utilisateurs estimant avoir été mal compris ou dont les besoins ont évolué.

C'est pour combattre cette relation rigide que sont nées les méthodes dites agiles, comme Scrum (la plus connue), Extreme Programming ou Unified Process. Elles préconisent une relation permanente avec les utilisateurs, une livraison régulière de versions de l'application, ainsi qu'un mode de travail horizontal, avec une responsabilisation de chaque développeur. Mais ces méthodes ont souvent été mises en œuvre de façon dogmatique, au point d'effrayer aussi bien les utilisateurs que les développeurs. Désormais, la réussite passe par certaines précautions et compromis.

1. Répondre aux attentes des métiers en parlant leur langage

Cyrille Deruel"Le client veut que l'on s'organise pour délivrer une version de l'application toutes les deux à trois semaines et que l'on propose un planning de livraisons qui pourra être discuté tout au long du projet", explique Cyrille Deruel (photo), responsable de l'offre agile chez Micropole. En prônant une approche itérative à cycle court, les méthodes agiles répondent à cette demande. Les spécifications ne sont en outre plus figées. Certes, le client doit préciser en détails les fonctionnalités de base dont il a besoin. "Mais il peut définir des fonctions plus floues pour lesquelles il sollicite notre avis", précise Cyrille Deruel. De plus, il devient possible d'anticiper le glissement car à chaque itération, la maitrise d'œuvre identifie le nombre de fonctionnalités qui sont bien implémentées ou qui posent problème.

2. Changer la relation avec le métier

Avec une démarche classique, le métier est mobilisé à 100 % durant les phases de conception et de livraison (recettes). Entre-temps, pendant le développement, il n'est pratiquement pas sollicité. "Avec les méthodes agiles, il doit être disponible à 75 % durant toutes les phases pour tester une version toutes les deux semaines, donner son feedback et préciser les spécifications pour l'itération suivante", affirme Cyrille Deruel.

3. Adapter la méthode aux contraintes des métiers

Emmanuel TorniniL'équipe projet doit faire preuve de souplesse dans la mise en œuvre des méthodes agiles, en s'adaptant en temps réel aux contraintes des métiers, qui se mesurent surtout en termes de distance géographique et de disponibilité. Même pour un projet mené à l'intérieur de l'entreprise, le métier n'est pas forcément en mesure de déléguer en permanence une personne. "S'il ne peut pas suivre, les échéances de chaque cycle prennent la forme de démonstrations, de points de visibilité, plutôt que de véritables recettes. Mais il faut absolument maintenir un cycle de trois à quatre semaines", considère Emmanuel Tornini (photo), directeur de l'organisation chez Smile.

4. Éviter de citer les noms des méthodes agiles

Paradoxalement, les métiers ne veulent pas entendre le nom d'une méthode agile, autrefois brandi comme une baguette magique. "Nous préférons leur parler d'itérations incrémentales et de livraisons fréquentes car c'est cela que le client veut", explique Cyrille Deruel. Et d'ajouter : "L'expression Extreme Programming fait fuir tout le monde tandis que le terme Scrum est mieux perçu, mais les métiers n'y sont pas assez sensibilisés."

5. Prendre le meilleur de chaque méthode

L'heure n'est plus au choix dogmatique d'une seule méthode, d'autant qu'aucune ne couvre tous les aspects d'un projet et à l'inverse, les zones de recouvrement sont nombreuses. "La plus grosse différence entre Extreme Programming et Scrum, c'est que Scrum a bénéficié d'un meilleur marketing", affirme Cyrille Deruel. En l'occurrence, Micropole mixe les deux, sans en retenir toutes les pratiques. "Dans XP, nous prenons les pratiques techniques liées à l'intégration continue et à la maîtrise du code. De Scrum, nous retenons les pratiques managériales, comme les relations hiérarchiques plates et l'esprit d'équipe", ajoute Cyrille Deruel. Chez Smile, on combine Scrum (pour l'aspect itératif et les possibilités de faire des démonstrations régulières aux clients), Unified Process (pour sa définition d'un certain formalisme que délaisse Scrum) et Extreme Programming (intégration continue et vérification du code).

6. Connaître les contraintes et les limites de ces méthodes

Les méthodes agiles ne représentent évidemment pas la panacée. Certes, elles permettent de changer d'avis en cours de route mais seulement dans certaines limites. "Cela ne concerne que ce qui est déjà construit. De plus, toute évolution des demandes doit être discutée en fonction de son impact sur le planning, le coût et la criticité des fonctionnalités concernées", insiste Cyrille Deruel. De plus, agilité ne signifie pas que l'on peut partir à l'aventure sans vision préalable du projet. "Si le client ne sait pas ce qu'il veut, l'agilité n'apportera aucune solution", ajoute le spécialiste.

Une autre contrainte est liée au périmètre, en particulier lorsque le budget est contraint. "Les méthodes agiles peuvent alors donner une flexibilité, favoriser des changements moyennant une redéfinition des priorités à l'intérieur de ce périmètre, qui ne change pas", explique Emmanuel Tornini, prônant ainsi un mixe entre méthodes classiques et agiles.

Les trois méthodes de développement agiles :

Méthode Description En savoir plus
Scrum Terme anglais désignant la mêlée au rugby, Scrum casse la rigidité des méthodes de gestion de projets traditionnelles en adoptant une démarche itérative et adaptative. www.timwi.com
Extreme Programming (ou XP) XP reprend la démarche itérative de Scrum mais prône des « valeurs » (respect, courage, simplicité…) et vise des petites équipes et des besoins très évolutifs. Cette méthode se démarque aussi en abordant les aspects test et intégration. http://lagace.developpez.com
Unified Process (UP) UP est aussi une méthode itérative et incrémentale mais elle cible plus particulièrement la réutilisation de composants. ftp://ftp-developpez.com/sabricole/UP.pdf

LIRE AUSSI
 
Partager :
LIRE AUSSI
 
pub Publicité

CloudStack by IkoulaCloudStack by Ikoula

Cloud Computing : Atouts et freins, acteurs du marché, conseils et témoignages