Méthode Agile [2/3] – La méthode agile SCRUM, des hommes et des rôles
Avec des projets toujours plus complexes, les méthodes de gestion de projet traditionnelles (cycles en V ou Waterfall) montrent leurs limites face aux exigences actuelles de flexibilité et de réactivité. Modèle de développement itératif simple et complet, adaptation et amélioration continue : nous avons jeté notre dévolu sur la méthode agile SCRUM. Dans cette série d’articles, nous exploreront comment cette méthode répond efficacement aux besoins changeants. Nous nous appuierons sur nos retours d’expérience, positifs comme négatifs, tirés de notre participation à divers projets en méthode agile utilisant des approches hybrides, afin de rendre cette méthode accessible à tous.
Bienvenue dans l’univers Scrum !
Scrum Master, Sprint, Backlog… Si le langage utilisé par la méthode Scrum ne vous est pas encore familier, à la fin de cet article il n’aura plus aucun secret pour vous !Commençons par le nom de la méthode elle-même : Scrum ! Issu du champ lexical du rugby, Scrum signifie mêlée. En effet, plusieurs analogies peuvent être faites avec ce sport :
- Les acteurs d’un projet Agile travaillent ensemble de manière soudée pour atteindre les objectifs fixés ; À l’image des rugbymen lors d’une mêlée.
- Un projet est divisé en plusieurs « sprints » ou itérations ; Semblable aux différentes phases de jeu dans un match de rugby, permettant des ajustements réguliers du plan de travail.
L’autonomie est encouragée dans la méthode Agile, cependant elle doit être correctement équilibrée par des principes d’organisations clairs. Chaque membre de l’équipe doit connaître sa place et ses responsabilités au sein d’un organigramme bien défini pour garantir l’efficacité et la transparence du projet.
Chacun sa place…
La méthode Scrum définit trois rôles distincts : Product Owner, Scrum Master et l'équipe opérationnelle. Chacun des acteurs s’occupe uniquement de son domaine d’actions sans empiéter sur celui des autres. L’établissement de cette relation de confiance permet de fédérer tout un chacun vers l’accomplissement d’un but unique et commun : l’aboutissement du projet qui est confié à l’équipe.
Le Product Owner est le représentant des clients et utilisateurs. C'est lui qui définit l'ordre dans lequel les fonctionnalités seront développées et qui prend les décisions importantes concernant l'orientation du projet. Ses missions sont diverses :
- Recenser et prioriser les exigences du client, ce qui implique une compréhension approfondie des besoins du marché et des utilisateurs
- Planifier le contenu des itérations (sprints), en assurant une distribution équilibrée et réalisable des tâches
- Fournir les spécifications détaillées à l’équipe de développement, pour garantir que les fonctionnalités développées répondent précisément aux attentes des utilisateurs.
En raison de ses nombreuses responsabilités et de sa place centrale, le Product Owner doit être non seulement compétent et bien informé des besoins fonctionnels et des tendances du marché, mais aussi disponible et doté de l’autorité nécessaire pour prendre des décisions éclairées rapidement.
Le Scrum Master est le garant de la méthodologie Scrum auprès de l’équipe fonctionnelle. Facilitateur, animateur, isolateur… Autant de rôles qu’il doit tenir pour s’assurer que le travail progresse correctement. Sa mission peut être définie comme suit :
- Faire respecter les valeurs et pratiques SCRUM par l’équipe, en veillant à ce que chacun adhère aux principes agiles.
- Gérer les imprévus et obstacles qui pourraient entraver le progrès de l’équipe en trouvant des solutions rapides et efficaces.
- S’assurer que l’équipe est fonctionnelle et productive, en surveillant les dynamiques de groupe et en facilitant un environnement de travail optimal.
- Faciliter la coopération entre tous les acteurs, en favorisant une communication ouverte et transparente.
- Protéger l’équipe des interférences extérieures, en minimisant les distractions et les interruptions non pertinentes.
Un SCRUM Master n’est en aucun cas un chef d’équipe au sens traditionnel. Il n’exerce pas d’autorité hiérarchique mais il est essentiel pour l’atteinte des objectifs de l’équipe et le respect des jalons. Finalement son rôle est de soutenir l’équipe dans l’adoption de la pratique SCRUM et de garantir que les processus sont suivis efficacement.
L’équipe opérationnelle est auto-gérée et n’a aucune notion de hiérarchie interne : toutes les décisions sont prises ensemble et personne ne donne d'ordre à l'équipe sur sa façon de procéder. Elle est composée de 3 types d’individu :
- Les développeurs : Réels experts, ils travaillent généralement en binôme afin de répartir les compétences, renforcer la qualité des travaux et prendre des décisions conjointes. De plus, ils collaborent étroitement avec le Product Owner, qui reste à leur disposition pour répondre à la moindre question fonctionnelle, soit lors des réunions quotidiennes, soit par divers moyens de communication.
- Le testeur MOE (Maîtrise d’Œuvre) : Il a pour fonction d’implémenter les tests fonctionnels et de les automatiser pour s’assurer que la couverture fonctionnelle est conforme aux engagements et que le niveau de qualité exigé est bien respecté.
- Le testeur MOA (Maîtrise d’Ouvrage) : Il effectue la recette de la dernière itération complètement réalisée. Tout au long du projet, il va interagir avec le Product Owner pour vérifier la validité fonctionnelle de la solution.
Cette distinction marquée entre les acteurs permet de définir un rôle précis pour chacun, garantissant ainsi le bon fonctionnement et les bonnes interactions au sein du groupe projet.
Dans un projet en méthode Agile, contrairement à un projet mené en méthode classique (V ou W par exemple) on ne parlera pas de MOE ou de MOA mais plutôt d’équipe projet. Cette différence marque l’esprit collaboratif de la méthode où, bien que chacun soit responsable de sa partie, l’unité et la cohésion de l’équipe restent primordiales.
… avec les bons outils
« Les bons outils font les bons ouvriers »
La méthode Agile s’est dotée de trois principaux outils (autrement appelés artefacts SCRUM) qui sont utilisés tout au long du cycle de vie du projet et vont venir en support de la méthode pour garantir une communication efficace et un bon niveau de reporting.
- Le Product Backlog est un outil de collecte des fonctionnalités attendues ou exigées par le client. C’est un document vivant qui subit de nombreuses modifications entre chaque itération (ou Sprint). L’ordre de réalisation des tâches découle de cet outil. Il est sous la responsabilité du Product Owner, qui se charge de recueillir les informations et de les prioriser pour déterminer la feuille de route du projet. Si le Product Backlog paraît être un simple outil de recueil des fonctionnalités, il doit être rempli méthodiquement afin de respecter la priorisation des fonctionnalités au regard de leur degré de complexité. Il est donc crucial, au démarrage du projet, de lister l’intégralité des fonctionnalités (ou tout du moins la majeure partie) qui devront être embarquées par le projet, afin d’éviter les mauvaises surprises pendant la phase de réalisation et pour permettre à l’équipe de chiffrer les fonctionnalités de manière comparative.
- Le Sprint Backlog reprend les macro-fonctionnalités définies dans le Product Backlog et les décompose en tâches à implémenter pour le sprint à venir. Les développeurs s’engagent alors sur le temps de travail estimé pour chacune de ces tâches. Ce document sera la base de travail pour estimer le Reste à Faire. À ce jour, des outils tels que Jira, Trello ou Microsoft Planner, permettent de gérer ces tâches et de les rendre accessibles à tous. Cependant, il est important de préciser que la méthodologie SCRUM favorise la proximité et que l’utilisation de ces outils en ligne ne doit pas encourager un mode de travail délocalisé.
- La Burndown Chart est un diagramme qui permet de visualiser l’avancement des sprints et du projet dans son ensemble. C’est une représentation graphique du Reste à Faire, qui met en relation la variable temps avec la charge de travail. Elle permet de contrôler l’alignement entre l’engagement de l’équipe de développement en début de sprint et les délais de réalisation impartis, qui sont fixes et ne tolèrent aucun dépassement. La Burndown Chart est généralement produite automatiquement par les outils qui gèrent les Sprint Backlogs.
Les méthodes Agiles et plus particulièrement la méthode SCRUM, favorisent la proximité et l’engagement (symbolisés ici par le rugby). Cette proximité et ces particularités ont conduit à mettre en place un vocabulaire spécifique et unique et ainsi qu’une définition précise des rôles et responsabilités de chacun afin de garantir l’unité, la cohésion et le travail en synergie au sein du groupe projet.
Les différents outils utilisés tout au long du cycle de vie du projet, jouent un rôle de facilitateur et ne représentent aucune contrainte lorsqu’ils sont correctement mis en place et maintenus. Ces différents outils permettent de finaliser la liaison entre la main-d’œuvre et le client final en lui donnant de la visibilité sur l’avancement de la réalisation et sur le produit en tant que tel.
Ces différents outils sont généralement remplis au cours des différentes instances qui sont propres à la méthode Agile. Cependant, point trop n’en faut !
👉 Retrouvez la suite de notre série sur la méthode Agile :
Méthode Agile [1/3] – La méthode agile SCRUM, une nouvelle ancienne méthode
Méthode Agile [3/3] – La méthode agile SCRUM, c’est tout une organisation !