La méthode Agile Scrum, qu’est-ce que c’est ? Une méthode de gestion de projet ! Très en vogue dans les structures digitales actuellement.
Que vous soyez en entreprise ou indépendant, vous pouvez être directement ou indirectement concerné par la méthode Agile Scrum.
Vous pouvez appliquer les préceptes de l’Agilité pour vous-même, ou suivre l’avancée des projets de vos clients en mode Agile.
Méthode Agile Scrum : Qu’est-ce donc ?
La méthode Agile Scrum est une méthode de gestion de projets imparfaite, contraignante par certains aspects, mais qui offre de nombreux avantages de souplesse, de mobilité et d’adaptabilité.
Elle met en avant l’intelligence collective d’un groupe. Elle a une vraie valeur ajoutée dès lors qu’elle est bien comprise par les acteurs du projet.
Voici une définition trouvée sur Internet sur la méthode Agile Scrum :
“Une méthode agile est une approche itérative et incrémentale, menée dans un esprit collaboratif avec juste ce qu’il faut de formalisme.
Elle génère un produit de haute qualité tout en prenant en compte l’évolution des besoins des clients.”
Elle est donc itérative et incrémentale : On avance petit pas par petit pas, sans casser l’ensemble à chaque mise en production. Cela permet d’éviter de très grosses mises en production, qui peuvent s’avérer dangereuses.
Méthode Agile Scrum : Les acteurs
Voici ci-dessous le portrait des différents acteurs d’un projet travaillant selon la méthode Agile Scrum.
Product Owner: “propriétaire du produit”
Il représente les utilisateurs dans le cadre du projet.
Il centralise les demandes des différentes entités de l’entreprise. Il est le garant de l’avancée des développements.
Il est en charge de la bonne tenue du backlog produit (fichier dans lequel sont listés l’ensemble des chantiers correctifs et de croissance, ce qu’on appellera en Scrum les user stories).
Il aura donc la responsabilité de valider à la fin du sprint le bon développement de chaque chantier.
Scrum Master
Il est facilitateur et animateur de l’équipe technique, et non chef de projet ou chef d’équipe.
Son objectif est que l’équipe puisse travailler au mieux sur les tâches pour lesquelles elle s’est engagée durant le sprint, notamment en la protégeant des éventuelles demandes extérieures impromptues et en assumant les problèmes administratifs.
Son rôle est également de valider avec le product owner les user stories qui seront intégrées dans le sprint à venir.
Équipe de développement
L’équipe de développement doit délivrer à la fin de chaque sprint les stories priorisées.
Elle est généralement constituée de 2 à 10 personnes et doit s’auto-gérer (le scrum master doit faciliter l’organisation interne).
Lorsque c’est possible, on fonctionne par binômes afin de fluidifier les échanges et ne pas rester bloqué en cas de problème.
Méthode Agile Scrum : Focus sur les inconvénients
Voici certains des inconvénients de la méthode Agile Scrum :
- Selon l’organisation d’une entreprise, la méthode Agile Scrum peut être assez floue dans la définition des rôles de chacun.
- L’agilité peut complètement disparaitre si les process en internes sont trop lourds.
- Puisque l’action prime sur la réflexion, on occulte les phases d’analyse des besoins et des contraintes.
- Certains chantiers (SEO par exemple) sont difficilement découpables en stories.
- Afin de respecter les délais on doit souvent “déprioriser” certains chantiers.
En effet, la méthode Agile Scrum met en avant le respect des délais, c’est le produit final qui peut être modifié, quitte à revenir dessus dans les sprint suivants.
Méthode Agile Scrum : Focus sur les avantages
Voici quelques uns des avantages de la méthode :
- Le client a une bonne visibilité sur l’avancement des chantiers, il peut valider au grès des itérations.
- Le client peut clarifier ses exigences au grès des itérations.
- Les risques sont identifiés au plus tôt et peuvent donc être corrigés.
- Les tests qualité sont effectués en continu.
- Les équipes sont motivées et en confiance car les objectifs sont atteignables.
- Il est possible de commencer le projet avec un budget limité.
- Les équipes de développement sont autonomes.
- La méthode permet une réactivité et pro-activité forte afin de réajuster le produit aux différents besoins.
- La culture Agile est de plus en plus répandue dans les entreprises.
Méthode Agile Scrum : Principes généraux
Voici quelques uns des grands principes de la méthode Agile Scrum sont :
- Faire avancer les projets à un rythme soutenable et constant.
- Satisfaire le client en priorité.
- Accueillir avec bienveillance les demandes de changement (dans la limite de l’acceptable).
- Livrer à chaque fin du sprint des versions opérationnelles du produit.
- Assurer une collaboration permanente entre le client et l’équipe projet.
- Construire des projets autour d’équipes motivées.
- Privilégier les échanges en face à face.
- Mesurer l’avancement du projet en termes de fonctionnalités de l’application.
- Porter une attention continue à l’excellence technique et à la conception.
- Faire simple.
- Responsabiliser les équipes.
- Ajuster régulièrement les méthodes et les process afin de gagner en efficacité.
Méthode Agile Scrum : Étapes et cycles de vie d’un projet
Le sprint (phase de développement d’un projet) dure par défaut 5 jours. De ce que j’ai pu observer l commence le Vendredi et se fini le Jeudi matin suivant.
Bien sûr il peut durer plus longtemps que 5 jours mais souvent cette durée peut impliquer de la lassitude auprès des équipes.
En effet, cela permet de procéder à la mise en production le Jeudi après midi (jamais de mise en production le Vendredi). Bien sûr les jours de début et de fin de sprint sont propres à chaque entreprise par rapport à son fonctionnement, sa culture, ses besoins et contraintes.
Par exemple, j’ai pu voir dans les petites structures (genre les start up des sprints qui ne duraient que 3 jours et qui pouvaient commencer n’importe quel jour de la semaine, de manière donc déstructurée, mais ce n’est pas grave, tant que les process sont respectés).
Le Product Owner met à jour le backlog produit : il ajoute une story (un projet) via le système de ticket façon Mantis / Redmine.
En concertation à deux, le PO le Scrum master valident ensemble le volume de stories à travailler dans le sprint à venir.
Lors de la réunion de planification du sprint (sprint planning meeting), le scrum master et les développeurs qui découpent chaque user story en autant de tâches précises et opérationnelles que nécessaire.
Chaque développeur se voit attribuer un certain nombre de tâches. Il doit les mener à bien sur 5 jours et mettre à jour le tableau de suivi.
Le tableau de suivi permet de changer le statut de chaque tâche.
Au début du sprint toutes les tâches sont en “to do”, puis passent à “en cours”, “en recette”, puis enfin “done”.
C’est au PO (Product Owner) à la fin du sprint de valider chaque développement, par rapport à ce qui était demandé au départ.
Chaque matin a lieu le daily meeeting scrum : c’est un point de 15 minutes rassemblant les membres du projet. Chaque dév explique ses progressions, blocages et freins. L’objectif est de trouver une solution à chaque problématique.
Il peut s’avérer qu’une user story ait été mal appréhendée, mal définie et que le travail nécessaire est plus important que prévu. C’est alors au scrum master de rééquilibrer les charges de travail sur le sprint suivant, afin de continuer à avancer de manière fluide.
Jeudi matin toutes les stories sont finies, validées et prêtes à passer en production.
Jeudi après midi, on passe en production.
A lieu ensuite le restrospective Meeting. Il s’agit d’une réunion de fin de sprint focalisée sur l’événement et l’analyse des dysfonctionnements.
Il s’agit d’identifier les axes d’améliorations et mettre en place si besoin de nouveaux process lors des prochains sprints.
Le burndown chart permet de comparer l’écoulement théorique du nombre de user stories validées en cours de sprint versus la réalité. Il nous permet de savoir si on est en retard sur la charge de travail.
c’est un tableau permettant de suivre l’évolution du volume de tâches par rapport au volume de jours restant sur le sprint.
Méthode Agile Scrum : Phase de Sprint
Lors de la conduite d’un projet en mode Agile Scrum, le sprint désigne la phase (souvent 5 jours, parfois 10 selon le périmètre du projet) de développement d’une ou plusieurs tâches (appelées stories).
A la fin de ce sprint toutes les tâches doivent être finies et prêtes à passer en production.
Tous les jours du sprint a lieu le daily sprint meeting qui est une réunion de 15 minutes pendant laquelle chaque développeur parle des tâches qu’il a à accomplir.
Il détaille le statut de chaque tâche, les contraintes rencontrées. L’objectif est de pouvoir trouver des solutions.
Une suite de plusieurs sprints à la suite constitue une release.
Par exemple la release “Refonte des fiches produits’ est composée de plusieurs sprints dédiés à la refonte des fiches produits.
Refonte des balises méta.
Refonte du linking interne.
Refont du bouton Call to Action.
Allègement des images produits.
Intégration d’un bloc description des produits.
Intégration d’un bloc sur les commentaires “sociaux”.
…
Une release n’est finie que lorsque l’ensemble des sprints qui la composent sont réalisés.
Méthode Agile Scrum : Ce qu’il faut retenir
Les points importants :
- La méthode Agile Scrum prône la collaboration entre les personnes et l’intégration des équipes.
- Agile Scrum met l’accent sur l’importance de développer le bon produit.
- Agile Scrum est orienté « design to cost » : le budget limite les fonctionnalités.
- 4 principes fondamentaux autour de la notion de priorités :
- Priorité aux personnes et aux interactions
- Priorité au développement des fonctions
- Priorité à la collaboration avec le client
- Accueil et adaptation au changement.
Méthode Agile Scrum : Les étapes
Le PO (Product Owner) liste les tâches (on les appelle des stories) qu’il veut voir réalisées dans un fichier (excel souvent) qu’on appelle le backlog.
Il y ajoute les numéros des tickets correspondant à chaque story qu’il a rempli sur un outil comme Mantis ou Redmine.
Le Scrum Master prépare le sprint suivant : Il valide avec les développeurs et le PO la liste des stories qui seront gérées pendant ce sprint, lors d’une réunion de pré lancement de sprint).
Le scrum master décrit avec les développeurs chaque story et la divise en autant de tâches que nécessaire afin de mener à bien le développement de la tâche.
Chaque développeur se voit assigné un certain nombre de stories et tâches associées.
Souvent le sprint dure 5 jours. De ce que j’ai vécu jusque maintenant, les sprint ont souvent lieu du Vendredi au Jeudi.
On fait la mise en production le Jeudi après midi, on commence un nouveau sprint le Vendredi qui se fini le jeudi matin suivant.
Chaque matin a lieu le point de débrief où chacun s’exprime sur ses stories. Le Scrum master dirige la réunion.
Souvent on utilise un grand tableau sur lequel on tient à jour le statut de la story.
Plusieurs statuts :
Les stories à réaliser, les stories en cours de développement, les stories en phase de recette, les stories prêtes à MEP.
Chaque story passe en phase de recette. C’est pendant cette phase que le product owner, l’initiateur de la story peut vérifier que les développements sont bons et correspondent à ses besoins.
Jeudi, tous les développements sont finis, près à être mis en production. Le Product Owner a vérifié que les développements étaient bons et correspondaient aux attentes.
Jeudi après midi a lieu la mise en production (MEP), en cas de souci, ce laps de temps avant le week end permet d’effectuer les roll backs si besoins.
A lieu ensuite la réunion de fin de sprint où chacun s’exprime sur les points positifs et points négatifs du sprint passé.
L’objectif est d’identifier les axes d’amélioration afin que les process soient toujours plus fluides et faciles à mettre en place.
Il se peut parfois que les développements nécessaires à une story aient été sous estimés ou sur estimés, cela peut avoir de graves répercussions sur
le déroulement du sprint. D’où l’idée d’anticiper au maximum les développements à planifier.
Le scrum master suit un burndown chart : c’est un tableau permettant de suivre l’évolution du volume de tâches par rapport au volume de jours restant sur le sprint.
A la fin du sprint il ne doit plus rester de tâche à finir.
Si une story a été vraiment complexe à mettre en place, il est possible de la finir dans le sprint suivant (selon les disponibilités des développeurs et selon les urgences et les besoins).
A noter que le mode de développement en mode Sprint itératif comme cela ne correspond pas à tous les projets (par exemple les projets SEO structurels parfois très impactant et pour lesquels il faut plus que 5 jours de développement).
Dans ce cas, ces chantiers peuvent être menés en parallèle du sprint.
La méthode Agile Scrum avec mes mots
L’approche agile est une démarche d’amélioration continue qui implique flexibilité, mode itératif et cycle itératif pour un objectif final qui reste la satisfaction client.
Les méthodologies agiles sont des méthodes de gestion de projets informatique, éloignées du modèle en cascade qu’on retrouve dans n’importe quel projet classique.
Avec le processus agile, pas de manque d’agilité, mais la stricte application de la méthodologie.
Ressources complémentaires autour de la méthode Agile Scrum
Les grandes erreurs d’entrepreneur à éviter.
Relancer son activité : les questions à se poser.
Innover grâce au design thinking.
Ressources pédagogiques pour construire votre projet entrepreneurial.
L’Agilité, comme méthode de gestion de projets est avant tout une philosophie. Toutes les entreprises ne sont pas capables ou prêtes d’intégrer la méthode Agile Scrum. Elles doivent avant tout revoir ou rénover leurs process internes afin de pouvoir tirer profit du Scrum.
Retour sur ce qu’est le Stand up daily meeting
C’est une étape dans le process de la méthode Agile Scrum.
Lors d’un sprint, tous les matins a lieu le stand up daily meeting (le point quotidien) où les développeurs se rejoignent pour discuter des problématiques qu’ils rencontrent dans l’accomplissement de leurs tâches. L’objectif est de trouver des solutions aux problèmes, et surtout d’avancer afin de pouvoir livrer le projet à la fin du sprint.
Par exemple : Une tâche du sprint serait la mise à jour du fichier sitemap.xml, le développeur a 5 jours pour finaliser la tâche.