Qu'est-ce que l'approche agile ?
Par Louis-Arnaud Catoire
L'approche Agile a été introduite en 2001 aux États-Unis, lorsque dix-sept experts du développement logiciel se sont réunis pour rédiger le Manifeste Agile. Cette approche est plus souple que les méthodes de gestion de projet traditionnelles, souvent qualifiées de méthodes en cascade (ou Waterfall).
Faire toute la planification d'un projet dès le départ laisse trop de place aux imprévus. C'est pourquoi l'approche Agile préconise une planification de projet où les objectifs sont fixés sur une courte période, par exemple deux ou trois semaines.
On divise alors le projet en tickets et l'on ne passe au suivant que lorsque le précédent est totalement réglé. Cette méthode rend le client vraiment impliqué dans le processus de création de son projet digital puisqu'il valide chaque étape auprès de l'équipe. Pour diviser le projet en tickets il faut d'abord mesurer le degré d'importance et le besoin du client, ce qui permet d'éviter le superflu. Le feedback régulier devient alors absolument nécessaire.
« La flexibilité est le principal avantage de cette méthode puisqu'elle permet de s'adapter en fonction des nouvelles attentes du client. »
Un budget peut être fixé à chaque étape ce qui permet un meilleur contrôle des coûts.
Avec cette méthodologie, il est important d'insister sur le travail en équipe mais il faut cependant rester autonome et savoir s'auto-gérer pour être en mesure de réagir en cas de problème (parce que oui, il y en aura !). Pour autant, la plupart des problèmes peuvent être évités si on veille à rester proche du client afin de s'assurer que son besoin est clair.
L'approche Agile permet aux collaborateurs de voir les tâches avancer sans qu'ils restent des mois sur un énorme dossier sans en voir le bout. Cela va donc avoir un effet positif sur la motivation des équipes.
Agile vs méthode en cascade (Waterfall)
Pour bien comprendre l'intérêt de l'approche Agile, il est utile de la comparer à la méthode traditionnelle dite en cascade. Dans un projet Waterfall, chaque phase est entièrement terminée avant de passer à la suivante : analyse des besoins, conception, développement, tests, puis livraison. Le client ne découvre le résultat qu'à la toute fin du processus.
Prenons un exemple concret. Une entreprise souhaite développer une application de gestion de stocks. Avec la méthode en cascade, un cahier des charges détaillé est rédigé au départ. Six mois plus tard, l'application est livrée. Mais entre-temps, l'entreprise a changé de fournisseur, ses besoins ont évolué, et certaines fonctionnalités prévues sont devenues inutiles tandis que d'autres manquent cruellement.
Avec l'approche Agile, cette même application aurait été développée par incréments. Dès les deux premières semaines, une première version fonctionnelle aurait été présentée au client. Celui-ci aurait pu réorienter les priorités au fil de l'eau, obtenant au final un produit parfaitement adapté à ses besoins réels.
La méthode en cascade reste pertinente pour des projets dont le périmètre est parfaitement défini et ne changera pas, comme la construction d'un pont ou le respect d'une norme réglementaire stricte. Mais pour les projets numériques, où l'incertitude et l'évolution des besoins sont la norme, l'approche Agile offre un avantage considérable.
Les méthodologies agiles les plus répandues
Il existe plusieurs méthodologies sous l'approche Agile.
« La méthode la plus populaire d'entre elles et la plus utilisée est la méthode Scrum. »
Toutes ces méthodes reprennent les codes permettant aux entreprises d'être plus souples et « agiles » pendant le processus de création de projet.
Scrum
Scrum est un cadre de travail qui organise le développement en sprints, des itérations courtes d'une à quatre semaines. Chaque sprint produit un incrément fonctionnel du produit. L'équipe Scrum se compose de trois rôles principaux : le Product Owner, qui représente les intérêts du client et priorise le backlog ; le Scrum Master, qui facilite le processus et lève les obstacles ; et l'équipe de développement, auto-organisée et pluridisciplinaire.
Scrum repose sur des cérémonies bien définies qui rythment le travail de l'équipe :
- Sprint Planning : au début de chaque sprint, l'équipe sélectionne les éléments du backlog qu'elle s'engage à livrer. C'est le moment où l'on définit l'objectif du sprint et où l'on estime la charge de travail.
- Daily Scrum (mêlée quotidienne) : chaque jour, une réunion de quinze minutes maximum permet à chaque membre de partager ce qu'il a fait la veille, ce qu'il prévoit de faire, et les éventuels blocages rencontrés.
- Sprint Review : à la fin du sprint, l'équipe présente les fonctionnalités terminées au client et aux parties prenantes. C'est le moment du feedback direct qui permet d'ajuster les priorités pour le sprint suivant.
- Sprint Retrospective : après la review, l'équipe se réunit pour analyser son propre fonctionnement. Qu'est-ce qui a bien marché ? Qu'est-ce qui peut être amélioré ? Cette cérémonie est essentielle pour l'amélioration continue.
Kanban
Kanban est une autre méthode agile, plus visuelle et plus flexible que Scrum. Elle repose sur un tableau divisé en colonnes qui représentent les différentes étapes du flux de travail : « À faire », « En cours », « En test », « Terminé », par exemple.
Le principe fondamental de Kanban est la limitation du travail en cours (WIP, Work In Progress). En limitant le nombre de tâches simultanées dans chaque colonne, on évite la surcharge de l'équipe et on améliore le temps de traitement de chaque tâche. Contrairement à Scrum, Kanban ne fonctionne pas par sprints : les tâches sont traitées en flux continu, au fur et à mesure qu'elles arrivent.
Kanban est particulièrement adapté aux équipes de maintenance ou de support, où les demandes arrivent de manière imprévisible. Par exemple, une équipe qui gère les tickets d'un site e-commerce peut utiliser Kanban pour traiter les bugs et les demandes d'amélioration au fil de l'eau, sans attendre la planification d'un sprint.
Un exemple concret de projet agile
Imaginons une agence web qui développe un site vitrine pour un restaurateur. En méthode agile, le projet pourrait se dérouler ainsi :
- Sprint 1 : mise en place de la page d'accueil et de la navigation. Le restaurateur valide la structure et l'identité visuelle.
- Sprint 2 : ajout de la carte des menus et du formulaire de réservation. Le restaurateur teste et demande d'ajouter un filtre par allergène, une fonctionnalité non prévue au départ.
- Sprint 3 : intégration du filtre par allergène, ajout de la page « À propos » et optimisation mobile. Le restaurateur est satisfait du résultat.
À chaque étape, le client voit le produit évoluer, peut réagir et réorienter les priorités. Le résultat final correspond exactement à ses besoins, y compris ceux qu'il n'avait pas anticipés au départ.
Les principes
- Satisfaire le client en priorité
- Accueillir favorablement les demandes de changement
- Livrer le plus souvent possible des versions opérationnelles de l'application
- Assurer une coopération permanente entre le client et l'équipe projet
- Construire des projets autour d'individus motivés
- Privilégier la conversation en face à face
- Mesurer l'avancement du projet en termes de fonctionnalités de l'application
- Faire avancer le projet à un rythme soutenable et constant
- Porter une attention continue à l'excellence technique et à la conception
- Faire simple
- Responsabiliser les équipes
- Ajuster à intervalles réguliers son comportement et ses processus pour être plus efficace
Les valeurs
- Les individus et les interactions plus que les processus et les outils
- Des logiciels opérationnels plus qu'une documentation exhaustive
- La collaboration avec les clients plus que la négociation contractuelle
- L'adaptation au changement plus que le suivi d'un plan
Et pourtant
La méthodologie Agile est de plus en plus utilisée par les entreprises et adoptée par un nombre de personnes toujours plus important. Cependant, seulement 11% des entreprises utilisent des méthodes agiles de manière constante et pour tout projet. Ces entreprises comprennent néanmoins qu'il faut adapter leurs méthodes de gestion de projet.
Ce chiffre est faible mais il traduit peut-être le fait que la méthodologie Agile n'est potentiellement pas adaptée à tous types de projet. Les projets à budget et périmètre strictement fixes, ou les environnements très réglementés, peuvent nécessiter une approche plus structurée. L'essentiel est de choisir la méthodologie adaptée au contexte, et de nombreuses entreprises optent aujourd'hui pour des approches hybrides, combinant la rigueur du Waterfall pour la planification globale et la flexibilité de l'Agile pour l'exécution.
S'adapter à son environnement, comprendre les enjeux et être flexible quant aux différents obstacles rencontrés durant le projet signifie être agile.
Chez Efficience IT, nous utilisons la méthodologie Agile pour tous nos projets. Cette approche nous permet de livrer régulièrement de la valeur à nos clients, de rester à l'écoute de leurs besoins et de garantir que le produit final correspond à leurs attentes.
Pour aller plus loin
- Comment rédiger un cahier des charges pour un projet agile — Adapter le cahier des charges à la méthode agile
- User story en méthode agile — Comprendre et rédiger des user stories efficaces
- Comment choisir son outil de gestion de projet — Trouver l'outil adapté à votre gestion de projet agile
- Manifeste Agile — Le texte fondateur de la méthodologie agile
- Scrum Guide — Le guide officiel de Scrum, la méthode agile la plus populaire
- Agile Alliance — Ressources et communauté autour des pratiques agiles