Faut-il utiliser une méthodologie agile ?
Vous pouvez alors vous demander si il faut mettre en place une méthodologie Agile SCRUM pour votre futur projet digital ? Bien évidemment, la réponse n’est pas aussi simple et dépend de plusieurs critères comme votre budget, votre degré d’implication ou encore la maturité de votre projet.
Survolons ensemble les principes de base de cette méthodologie de travail et essayons de déterminer si la méthode Agile est faites pour vous.
Une plus grande flexibilité pour le client
Les 3 piliers de la gestion de projet sont le périmètre, le budget et le temps. Dans une méthodologie classique, ces 3 piliers sont figés et contractualisés en amont du démarrage du projet.
La méthode Agile "SCRUM" permet de laisser plus librement jusqu'à deux de ces piliers, de sorte à ce que le client ait plus de flexibilité dans son projet. Cela ne veut pas dire pour autant qu'ils ne sont pas estimés en amont mais l'objectif principale dans cette méthodologie est de se laisser l'opportunité de les faire évoluer tout au long de la vie du projet afin d'augmenter ses chances de succès. La méthodologie Agile est une prestation au temps réel et non un engagement forfaitaire.
Prenons l'exemple suivant : fixons une enveloppe budgétaire cible pour un projet et créons la liste (appelé "backlog" en méthode Agile) de toutes les fonctionnalités attendues et/ou envisagées. Les fonctionnalités (dites "User story") sont ensuite catégorisées puis ordonnées des plus importantes ou moins importantes. Une fois que le client a fait la sélection des plus importantes ("sprint backlog"), les user stories sont clarifiées puis estimées ("story point") lors d'un réunion spécifique ("sprint planning") avec tous les acteurs du projet. Lorsque les fonctionnalités sont toutes validées, elles sont figées, réalisées et optimisées par l'équipe de production. Tout cela est répété par itération régulière de 2 ou 3 semaines que l'on appelle "sprint".
Le client est maître de ce qu'il engage à chaque sprint et tiens compte du budget restant alloué à son projet. En effet, un sprint monopolise un certain nombre de ressources et donc du temps. Par conséquent, le coût correspondant au temps passé dans un sprint est imputé à l'enveloppe budgétaire du projet à chaque finalisation de sprint.
La valeur générée par une fonctionnalité (ou "business value") évolue à chaque itération faisant à son tour évoluer la valeur du projet global. C'est donc le client qui décide quand chaque fonctionnalité est terminée.
Un climat de confiance
Pour le succès du projet, il est important d'être dans une relation de confiance entre le client et le pilote du projet (appelé "SCRUM Master"). En méthodologie Agile, le client (appelé "Product Owner") fait partie de l'équipe projet au même titre que les toutes les personnes qui seront amenées à le produire.
Une communication régulière et en total transparence sont de rigueur. Ainsi, le Product Owner participe aux points quotidiens ("Daily SCRUM Meeting") dédié à l'avancement du projet. L'équipe peut alors s'exprimer sur les problèmes opérationnels rencontrés dans le sprint courant pour ajuster le tir en cas de besoin.
A la fin de chaque sprint, une démonstration ("Sprint Review") de ce qui a été réalisé par l'équipe est faite au Product Owner. Cela permet de confirmer le bon fonctionnement de ce qui a été demandé et de valider les livrables. Il s'en suit une mise au point global ("Sprint Retrospective") sur ce qui a fonctionné ou non durant le sprint passé afin de faire mieux au sprint suivant.
Une répartition équilibrées des responsabilités
Nous l'avons vu précédemment, le Product Owner, c'est-à-dire le client, a davantage de responsabilités dans le succès de son projet que dans une méthodologie classique. Il a en contre partie plus de latitude en pilotant tous les choix fonctionnels et en consommant son budget comme il l'entends. Il doit avoir en tête et en permanence la vision finale de son produit qu'il souhaite atteindre.
Le SCRUM Master est en quelque sorte le chef de projet qui assure principalement la bonne mise en application des principes de l'Agile et le bon déroulement des cérémonies. Côté prestataire, c'est également toute l'équipe de production qui porte la responsabilité du bon fonctionnement des livrables et des temps engagés dans chaque sprint.
Généralement, un RACI ("Responsible, Accountable, Consulted et Informed") est défini au début du projet et permet de détailler les responsabilités de chaque acteur du projet. Ainsi, pour chaque mission, on définit quel rôle est le responsable, lequel valide, ceux qui doivent être consultés et ceux qui sont uniquement mis au courant des résultantes. Cela permet de clarifier rapidement les choses et de défaire les tensions entre les différents acteurs avant l'escalade du problème dans les hiérarchies respectives.
Une expression de besoins diluées dans le temps
La méthodologie Agile permet de rentrer plus rapidement en phase de production. Elle permet également de faire économiser du temps de rédaction d'un cahier des charges détaillés en amont du projet. En contre partie et en amont de chaque sprint, le Product Owner sera amené à détailler l'expression de besoin de chaque user stories. Une phase de conception doit également avoir lieu en amont de chaque sprint pour assurer la faisabilité des demandes du sprint backlog ainsi que la rétro-compatibilité avec ce qui a déjà été produit.
L'avantage est de ne pouvoir se concentrer que sur le détail des fonctionnalités à venir. Le Product Owner a ainsi le temps de consolider ses choix et d'écarter des fonctionnalités au fur-et-à-mesure de sa réflexion. En effet, cela aurait été une perte de temps si il avait du détailler plusieurs mois auparavant le contenu des fonctionnalités abonnées. De plus, le Product Owner à la chance de pouvoir bénéficier de l'expertise et des conseils de l'équipe qui connait les entrailles de son projet. Des acteurs du projet peuvent donc être amenés à l'aider à faire les meilleurs choix.
Une validation régulière des livrables
Tout comme la phase de conception, la phase de validation se fait à chaque sprint ("Sprint Review").
L'intérêt est de pouvoir lisser le temps de recettage du projet tout au long de sa réalisation plutôt que de le concentrer en fin de réalisation. Cela donne également plus de visibilité au client sur l'avancement de son projet et lui permet par exemple de le valoriser auprès de ses sponsors ou de ses équipes.
Assurez vous d'avoir un Product Owner qui maitrise cette méthodologie. Si ce n'est pas le cas et que vous souhaitez tout de même vous lancer dans l'Agile, formez le ! Il existe de nombreuses formations à ce sujet. De même, votre prestataire peut vous vendre une méthodologie Agile qui est un dérivé. Cela ne veut pas dire que c'est mal, mais prenez le temps d'en parler avec lui avant de contractualiser quoi que ce soit.
La méthodologie va occuper une grosse partie du temps de votre Product Owner si ce n'est pas un temps complet. En parallèle du sprint courant, le Product Owner doit assurer le remplissage du descriptif de chaque user story du prochain sprint mais également finaliser la validation du sprint passé. Sans le Product Owner le projet n'avancement pas !
La méthodologie Agile ne coute pas moins cher qu'une méthodologie classique... au contraire ! Les nombreuses cérémonies qui apportent fluidité dans la réalisation de votre projet digital, engagent toute l'équipe projet et peuvent être chronophages, donc couteuses. Cependant, elle augmente les chance de voir votre projet réussir et correspondre à votre réel besoin. De ce fait, elle peut vous faire économiser des fonctionnalités inutiles.
L'Agile dans la vraie vie
La méthodologie de projet strictement "Agile" sont plus de l'ordre de la théorie et des best practices. Il est souvent difficile d'appliquer à la lettre tous les processus dictés par cette méthode.
A moins d'être dans une organisation qui a été bâtie dans cet état d'esprit, il est souvent assez compliqué de mettre à niveau tous les acteurs d'un projet piloté en Agile et de "jouer le jeu" de bout en bout. Votre direction générale, votre service communication et votre service achat doivent impérativement être au clair à ce sujet. Vous l'aurez compris, cela dépend de la complexité de votre projet web mais il est clair que cette méthodologie n'apportera que très peu pour de petit projet de site internet.
Certainement pour les bienfaits de l'Agile mais aussi par effet de mode, beaucoup d'agences digitales tentent d'emmener sur ce terrain des clients souvent pas assez préparés. Heureusement, les agences font preuves de bon sens et n'appliquent qu'une partie de ces méthodologies qu'elles adaptent à leur processus de production (souvent plus classique). L'essentiel est ainsi préservé : optimiser le bon déroulement du projet et garantir son succès.
L'Agile est donc dans toutes les bouches mais n'est pas appliquée de la même façon en fonction des acteurs du projet... lancez vous avec prudence et posez toutes vos questions à votre futur partenaire digital !