Que signifie réellement « l’Agilité », ce terme tant galvaudé venu des Etats-Unis? Familier aux start-ups, nombreuses à avoir adopté ces approches pour créer des produits ou gérer des projets, il reste difficile à appréhender pour de plus grosses entreprises. Commençons par définir les méthodes agiles par ce quelles ne sont pas: une solution en réaction aux difficultés rencontrées dans la gestion de projet traditionnelle.
Les approches traditionnelles de gestion de projet ?
On appelle “approches traditionnelles” les modèles en cascade ou en « cycle en V » formalisées dans les années 70. Elles consistent à décomposer un projet en grandes étapes chronologiques. Chaque étape est réalisée par une équipe différente qui suit scrupuleusement le besoin initial détaillé dans un cahier des charges. Enfin, lorsque le produit est fini, il est testé et mis sur le marché.
Prenons l’exemple de la construction d’un immeuble pour définir les différentes étapes :
La spécification des besoins : le client souhaite un immeuble d’habitation de X appartements, exposé de telle façon
Le design: l’architecte réalise les plans de chaque étage, de la façade, du toit...
La construction et l’implémentation : une fois les plans validés, les ouvriers construisent sous la direction des architectes
Les tests: les experts vérifient que l’isolation est conforme aux normes
La maintenance: un service de maintenance s’assure que l’immeuble est bien entretenu
Pourtant, on ne teste la réponse aux besoins exprimés initialement par le client qu'une seule fois au cours de la construction : après l’assemblage final. Dans le BTP, où les contrats sont signés des années avant la construction, le besoin change rarement du jour au lendemain.
C'est pourquoi le constructeur doit s’engager sur trois grands facteurs :
Le périmètre fonctionnel, gravé dans le marbre au début du projet et garanti par un contrat
Le coût que le constructeur doit définir en amont pour générer un budget et maintenir sa marge
Le temps requis par les équipes pour achever le chantier, estimé précisément avant le début des travaux
Mais cette méthode ne laisse aucune place au feedback ou à l’évolution de besoin en cours de chantier et le client ne voit pas ce qui se passe avant la fin du projet.
Pourquoi les méthodes traditionnelles ne peuvent-elles pas s’appliquer au développement de produits numériques ?
Le client du produit numérique est bien différent : ses besoins changent régulièrement et il est en quête de rapidité voire d’instantanéité.
C'est pour ces raisons que l’équipe de développement du produit numérique ne peut s’engager sur un périmètre fonctionnel, un coût et un planning. En effet, le besoin du client et son feedback doivent être collectés le plus régulièrement possible, afin que le produit réponde au mieux à son besoin.
Les principes de l’Agilité
Un panel de nouvelles approches et pratiques permettent de contourner les rigidités créées par les approches traditionnelles. Elles sont pour l’entreprise un moyen de s’adapter rapidement au changement. Spotify, Facebook, BlablaCar et beaucoup d’autres ont pu prouver leur efficacité.
Le Manifeste Agile est la référence théorique de l'agilité. Il décrit 4 valeurs :
Les individus et les interactions plutôt que les outils et les processus
La qualité fonctionnelle plutôt que la réalisation de documentations techniques (il ne s’agit pas d’oublier la documentation, mais de la produire au fil de l’eau, lorsqu’elle est réellement nécessaire au développement)
La collaboration avec le client plutôt que les négociations contractuelles
La flexibilité permettant de réagir facilement à l’évolution de la demande plutôt que le suivi d’un plan défini en amont
Et 12 principes :
Livrer régulièrement des fonctionnalités à forte valeur ajoutée
Accueillir positivement le changement de besoin
Livrer fréquemment un logiciel fonctionnel
Les acteurs du projet doivent travailler quotidiennement ensemble
Donner les moyens et les outils pour réussir aux membres de l’équipe
Transmettre l’information par le dialogue, en face à face
Le logiciel opérationnel marque l’avancement du projet
Le rythme de développement soutenable évite les montées de stress. Il est maintenu sur la longueur, avec des échéances plus fréquentes
Une attention continue à l’excellence technique
La simplicité est de rigueur. On commence par des tâches simples, que l’on fait évoluer ensuite
Les meilleures architectures viennent d’équipes auto-organisées
A intervalles réguliers, l’équipe réfléchit aux moyens pour devenir plus efficace
Ainsi, l'agilité prétend apporter de nombreux avantages : meilleure visibilité, réduction des risques, réduction du time to market, capacité à pivoter rapidement, meilleur moral des équipes… Quelles sont les pratiques agiles qui amènent ces bénéfices ?
La diversité des méthodes agiles
Une fois qu’une organisation décide d’adopter l'agilité, il reste à choisir la méthodologie la plus adaptée à son besoin. Chaque méthode est plus ou moins prescriptives sur le nombre de cérémonies, le process et l'organisation à respecter.
La méthode Scrum
Approche la plus répandue, Scrum s'oriente vers la collaboration d’équipe. De plus, c’est un cadre de travail qui permet d’agir à la fois de façon itérative et incrémentale.
On distingue différents rôles dans le cadre d’un projet mené en Scrum :
le Product Owner donne le cap du projet : il établit les priorités, prend les décisions concernant les fonctionnalités du produit.
le Scrum Master est à la fois le guide et le protecteur de l’équipe. Il est le garant du bon déroulement du processus, et il protège l’équipe des interruptions, filtre les perturbations …bref, il s’assure que l’équipe garde l’objectif bien en vue.
l’équipe est multi-compétences et capable de livrer régulièrement. Ainsi, chaque membre peut travailler aussi bien sur les spécifications, le développement, le test que la livraison en production.
Les sprints et les cérémonies rythment la vie de l’équipe (et du produit). Au cours d'un même Sprint, on trouve 4 cérémonies:
Le Daily Scrum Meeting : chaque membre de l’équipe explique, devant le board (tableau de posts-it) ce qu’il a fait la veille et ce qu’il fera ce jour pour répondre à l'objectif de sprint
Le sprint planning : il correspond à la planification du sprint suivant en détaillant le contenu que l'équipe développera
La Sprint review (démo) : la démonstration des fonctionnalités mises en production à toutes les parties prenantes du produit (clients / responsables hiérarchiques / facilitateurs techniques ou opérationnels…)
La rétrospective : en fin de sprint, l'équipe se réunit pour améliorer son fonctionnement et résoudre ses problèmes
La méthode Kanban
Le terme Kanban signifie « panneau » en japonais. Voici les principes fondamentaux de cette technique :
La visualisation : l’objectif principal du Kanban est de permettre de visualiser l’ensemble des tâches et leur statut en un coup d’œil.
La limitation du travail en cours : en décomposant le travail, et en limitant le nombre de tâches de chaque colonne, on favorise leur accomplissement
L’amélioration continue : le Kanban est une application de la méthode Kaizen (fusion des mots japonais « kai » et « zen » qui signifient « changement » et « bon »). Il invite à l’analyse et à la contribution des membres de l’équipe pour suggérer des améliorations, pour une conduite plus efficace et productive.
eXtreme Programming est une méthode destinée à accélérer drastiquement la réalisation des projets informatiques. Elle provient de Kent Beck alors qu’il intervenait sur un projet de gestion de paie chez Chrysler. Mais la règle fondamentale de la méthode, c'est que le client ou un représentant avisé participe au développement.
Les principes de la programmation XP :
L’étroite communication entre tous les acteurs du projet
Une planification très souple à court terme, garant d’une maîtrise entre le réalisé et les attendus des clients décisionnaires
L’estimation des coûts est plus simple et plus précise, autant pour le confort des développeurs que celui des clients
La livraison rapide de prototype permet l’évaluation des fonctionnalités réalisées et l'identification d'opportunités de futurs développements
Le code produit est simple et aisément lisible
Le travail en binôme (pair programming) génère de la valeur et facilite le partage de connaissances
En conclusion, exit les approches traditionnelles quand elles ne fonctionnent pas, place à l’Agilité ! Qu’il s’agisse de développement logiciel, de construction automobile ou même d'une initiative personnelle, les méthodes agiles révolutionnent notre manière de mener un projet. Par leur nature, elles sont appelées à évoluer très rapidement; ludiques par essence, leur acquisition se fait assez naturellement.
A retenir
L’Agilité regroupe de nombreuses méthodes à choisir selon les besoins et la composition de l’entreprise.
Les méthodes agiles viennent challenger les méthodes traditionnelles qui ne sont plus adaptées à des rythmes soutenus de développement inhérents aux produits digitaux.
La méthode Scrum est celle dont on entend le plus parler et la plus déployée dans les entreprises. C’est une première brique pour dé-siloter les équipes et accélérer les processus de développement.