Réussir vos projets web avec la méthode Agile et Scrum
En agence web ou au sein d’équipes informatiques, on entend parfois de drôles de mots comme “Agile”, “Scrum” ou “Sprints” (à ne pas confondre avec spritz, croyez-moi, un malentendu est vite arrivé). Derrière ce jargon énigmatique se cache une méthode de travail indispensable à la réussite d’un projet web.
La gestion de projet, un objet de philosophie
La méthode Agile est une philosophie de gestion de projet. Elle met l’accent sur l’amélioration continue, l’efficacité et l'autonomie des équipes.
Cette méthode fait suite à un taux important d'échecs des projets de développements logiciels lié à la lourdeur des méthodes traditionnelles. Pratiquée depuis les années 90, elle est formalisée en 2001 avec la création du Manifeste pour le développement Agile de logiciels. Celui-ci donne priorité :
- Aux individus et leurs interactions plutôt qu'aux processus et aux outils.
- A un logiciel fonctionnel plutôt qu’à une documentation exhaustive.
- A la collaboration avec les clients plutôt qu'à la négociation contractuelle.
- A l’adaptation au changement plutôt qu'à l'exécution d’un plan.
Même Socrate n'aurait pas dit mieux.
Parlez-vous le Scrum ?
Attention, c’est là qu’il ne faut pas s'emmêler les pinceaux ! Scrum est un ensemble de processus permettant aux équipes de concrétiser la méthode Agile. C’est un processus empirique qui s'appuie sur trois piliers : la transparence, l'inspection et l'adaptation. Scrum signifie “mêlée”, un terme qui au rugby consiste à faire bloc jusqu'à la ligne d'en-but, en se passant et repassant le ballon. Une métaphore, qui résume bien l’idée de Scrum.
Ces processus ont fait leur preuve pour mener à bien nos projets web avec Drupal. Plus précisément, nous travaillons sur des projets complexes, parfois longs, qui peuvent prendre plusieurs formes : applications métiers, systèmes d’information, intranets, plateformes d’e-learning, de transports collectifs…
Appliquer la méthode Scrum suppose que le client soit prêt à jouer le jeu de l'agilité budgétaire. Or, nous sommes contraints à des périmètres et des budgets fixes. Dès lors, nous appliquons une version adaptée de la méthode Scrum : nous reprenons les modalités organisationnelles tout en l’adaptant à nos contraintes. Notre volonté est avant tout de faire preuve de souplesse, d’où notre affection pour la philosophie Agile et notre souhait de nous rapprocher de la méthode Scrum. On vous en parlait déjà dans un précédent article.
Les grandes étapes d’un projet web
Les projets web impliquent généralement 5 phases :
- La conception UX design : benchmark, analyse des besoins utilisateurs, définition des parcours utilisateurs, proposition d’arborescence, zoning, wireframing.
- Le design d’interface ou l’UI design : définition de la direction artistique, réalisation de maquettes graphiques desktop et mobile.
- Le développement : spécifications techniques, développement, migration, déploiement en pré-production.
- La recette et la mise en ligne.
- Le monitoring : analyse des premiers usages du site et formulation de recommandations.
Intégrer la méthode Scrum dans le cadre de projets web Drupal
Lors de toutes ces étapes, la méthode Scrum est un outil de choix pour livrer en continu et dans les délais.
1. Construire le “Backlog”
En concertation avec le client, notre chef de projet formalise les fonctionnalités du produit final. Le cahier des charges si vous voulez. Ce sur quoi il construit un “Backlog”, une liste des tâches hiérarchisées selon leur importance. Ce backlog est stocké sur Redmine, notre outil de gestion de projet open source. Redmine permet notamment de lister ces tâches, de leur attribuer un niveau de priorité, de les attribuer à des personnes, d’échanger sous chaque tâche, de saisir le temps de travail réalisé...
Ce backlog est disponible à tous (équipes internes et clients). Un principe de transparence inhérent à la méthode Scrum.
2. Définir et réaliser les sprints
Sprint est un terme anglophone qui désigne des courses de haute intensité sur un temps réduit. Ici, on file donc la métaphore avec le rugby.
Les sprints sont le cœur de la méthode Scrum. Il s’agit pour les équipes de réaliser un lot de tâches du backlog sur un intervalle de temps spécifique. Deux semaines chez nous. Le découpage en sprints nous permet un étalage de la recette et garantit des livraisons rapides et régulières.
3. Comités de projet et de pilotage
Les sprints sont initiés et achevés par des comités de projet (coproj) réunissant a minima le client et le chef de projet. On y présente les réalisations effectuées et on organise le sprint suivant.
Selon les besoins, des comités de pilotage ponctuent également le projet. Ils impliquent les directeurs de projet, permettent les arbitrages et validations officielles.
L’ensemble des comités font l’objet de comptes rendus, disponibles sur Redmine, notre centre de pilotage du projet.
Inspecter, s’adapter, redéfinir régulièrement les choses, c’est LA garantie du bon avancement du projet. Cela minimise le nombre d'échanges et confère autonomie aux équipes le reste du temps.
4. Suivi des équipes internes quotidien
De rapides réunions internes avec les équipes projets sont organisées quotidiennement (20 minutes maximum) pour réaffirmer les priorités et identifier les problèmes. Ces derniers sont ensuite travaillés en petits comités.
5. Optimisation continue
La mise en ligne du site ne signe pas la fin du projet pour autant ! Après ça, on audit le site, le comportement des utilisateurs et on formule des recommandations qui peuvent être implémentées en continu.
Pour plus de détails sur la méthode Scrum, vous pouvez consulter le guide Scrum qui fait référence dans le domaine.
Pour résumer, Scrum est une démarche profondément empirique. La prise de décisions s’appuie sur l’expérience et sur l’observation du réel : les besoins des utilisateurs, les contraintes techniques, le budget alloué… Il s’agit d’un process par nature itératif et incrémental. Une démarche plutôt contradictoire avec la logique des marchés publics dont le principe repose sur la construction d’un cahier des charges complet, en amont, sans concertation préalable avec le prestataire. Pour autant, ce décalage est habituel, nous l’avons même intégré à notre méthode de travail avec les organisations publiques.
Une méthodologie efficace et bien rodée est un critère essentiel à l’aboutissement et à la réussite d'un projet web. C’est indiscutablement un élément à prendre en compte lors du choix de l’agence web prestataire. Pour plus d’informations sur notre méthode et sur notre expertise en matière de projet digital avec Drupal, contactez-nous !
Bonus : petit guide de décryptage du jargon de votre agence web
- Scrum : terme anglophone qui signifie “mêlée”
- Coproj : comité de projet
- Copil : comité de pilotage
- Sprints : anglicisme qui renvoie à une course brève et rapide
- Backlog : une liste de fonctionnalités à réaliser pour mettre au point un projet web
De rien ;)