Agile, vous avez dit agile ?
En matière de projet ou de management, le concept d’agilité est largement diffusé, promu et décrit sur la toile. L’approche agile consiste à mettre en avant le produit au cœur du projet, en y intégrant plus étroitement l’humain et l’aptitude au changement, le tout dans une démarche itérative. Mais, cette approche initialement adaptée par et pour les développeurs de logiciels, est-elle transférable à tous types de projets ou modes de management ?
Agilité, une philosophie
L’agilité se définit avant toute chose comme un « état d’esprit », reposant sur un ensemble de méthodes dites agiles. En gestion de projet, le principe fondamental consiste à impliquer le client, ou l’utilisateur final, du début à la fin du projet via un processus incrémental et cyclique. En matière de management, l’agilité met en œuvre une plus grande flexibilité dans une démarche d’amélioration continue, introduit une culture d’acceptation du changement et insuffle un esprit plus collaboratif.
Ainsi, dans une démarche de gestion de projet, l’approche agile entend s’opposer aux méthodes de gestion traditionnelles (dites en « cascade » (waterfall) ou en « cycle en V ») qui peuvent conduire à un « effet tunnel » (constat in fine de la concordance (ou pas) entre les objectifs fixés a priori et les résultats obtenus).
En effet, partant du postulat qu’une spécification et planification détaillées de l’intégralité du projet, avant même le développement du produit, étaient contre-productives voir génératrices de frustration, l’agilité propose de ne fixer que des objectifs à courts termes à traiter par itération avec des pauses entre chaque objectif, permettant ainsi une adaptation ou réorientation du projet en fonction des contraintes et nouvelles opportunités apparues.
Valeurs, principes et méthodes
Historiquement, l’approche agile prend racine en 1986 et la méthode agile la plus connue, « Scrum », date de 1993. Le second événement consolidateur fut, en 2001, la sortie du Manifeste Agile réalisé par un groupe d’éminents développeurs de logiciels.
Ce manifeste établit quatre valeurs essentielles qui privilégient, d’une part, la création liée à la compétence métier et, d’autre part, la valorisation des personnes, au service du collectif :
• Favoriser les interactions entre individus (versus les outils et les processus),
• Collaborer avec le client (versus une simple négociation contractuelle),
• Fournir un produit (intermédiaire) exploitable rapidement (versus une documentation exhaustive),
• Accepter le changement des besoins et être réactif (versus une planification rigide).
Ces valeurs reposent elles-mêmes sur 7 grands principes (12 selon certains auteurs) :
• La satisfaction du client est le premier objectif prioritaire.
• Tout changement dans le périmètre du projet doit être accepté … voire anticipé.
• Faire interagir continuellement le client ou l’utilisateur final avec l’équipe projet.
• Travailler le projet sous forme cyclique par blocs, dont chacun doit conduire à livrer un résultat utilisable : apporter précocement de la valeur au client.
• La communication orale doit être privilégiée.
• Favoriser l’autogestion de l’équipe projet qui doit réunir des personnes motivées et compétentes.
• Ajuster régulièrement les étapes du projet et mesurer son avancement en termes de fonctionnalités acquises.
Une approche agile implique donc nécessairement une certaine flexibilité, tout particulièrement dans le triptyque budget, délai et qualité du projet, dont l’un des éléments au moins doit être négociable pour chacune des itérations.
En conséquence, avec un périmètre variable par définition, la contractualisation d’une démarche agile est donc complexe. Mais, des solutions existent (régie, forfait appliqué à chaque itération…) dès lors qu’elles sont négociées avec le client en amont.
Enfin, l’ensemble s’appuie sur des méthodes dites agiles dont les plus connues sont : Scrum, Lean, eXtreme Programming (XP), RAD (Rapid Application Development), FDD (Feature Driven Development), TDD (Test Driven Development) … certaines de ces méthodes pourront faire l’objet d’un futur billet de blog.
Une approche empirique très structurée
Le concept d’agilité pourrait paraitre simple à appréhender, cependant il faut garder à l’esprit que sa maitrise demeure difficile et nécessite le conseil de spécialistes des règles et des méthodes devant accompagner sa mise en œuvre.
Une approche agile n’est probablement pas applicable à tous les projets, soit en raison de la nature même du projet (incompatibilité avec une approche itérative…), soit de par la capacité même du porteur du projet à s’investir dans une telle démarche (complexité de la méthode, indisponibilité, manque de visibilité sur un budget fixe…). Néanmoins, l’agilité peut apporter une nouvelle vision à la gestion de projet ou au management dans les entreprises qui souhaitent mettre en œuvre un nouvel esprit d’entreprise fondé sur une culture client forte et la valorisation des compétences internes.
En savoir plus
- Surfez sur le site « Rupture21 » de Laurent Sarrazin, coach en agilité.
- Visitez le blog « Quality Street » de Jean Claude Grosjean, agiliste.
- Télécharger un modèle de contrat Agile Open Source (pdf « Contrat Agile »).
- Feuilleter « Le petit guide de Lean Management à l’usage des équipes Agiles » (pdf) – collectif d’auteurs.
- Lire « Gestion de projet agile » de Véronique Messager Rota (Editions Eyrolles).
Crédits photos : Agile © Tim Think Outside The Box © Ivelin Radkov Concept of Software Development Life cycle and Agile Methodology © Asha Sreenivas