Tout le monde parle de Scrum comme si sa compréhension était un acquis de tous… Alors cet article propose de nous rappeler ce qu’est la méthode Scrum exactement.
Scrum est un framework de développement agile qui se base sur une approche itérative et incrémentale. Avec Scrum, l’équipe est de petite taille, soudée, auto-organisée, et multidisciplinaire. Scrum se base sur l’intelligence collective et le travail collaboratif. En effet, chaque membre de l’équipe s’auto affecte les tâches qu’il souhaite réaliser, ce qui favorise l’engagement et la motivation. L’équipe de développement travaille sur des petits livrables organisés par ordre de priorité et livre un incrément appelé Sprint. Avec Scrum, on ne parle ni d’échec ni d’erreur, mais on parle plutôt d’expérience. Scrum est en effet fondé sur l’empirisme, tout le travail doit être fait en transparence pour pouvoir inspecter et faire des adaptations. Afin de réussir la mise en place de Scrum, il existe 5 valeurs que l’équipe doit prendre en considération, à savoir l’engagement, le focus, l’ouverture, le respect et le courage.
Afin d’atteindre l’objectif global, et de satisfaire le client, Scrum se base sur 5 événements pour garantir l’efficacité du travail et la bonne réponse au besoin du client :
Sprint : C’est l’événement conteneur, une période de 2 à 4 semaines qui constitue un incrément de travail, un ensemble livrable. Le but de l’équipe de développement est de livrer les fonctionnalités attendues et de réaliser les adaptations et changements nécessaires .
Sprint planning : Durant le Sprint Planning,toute l’équipe établit les tâches à réaliser pour l’itération à venir, et 3 questions sont alors posées : Pourquoi ce Sprint est-il important ? Que peut-on faire durant ce Sprint ? Comment le travail choisi sera-t-il réalisé ? Ces questions permettent au Product Owner d’expliquer quels besoins (User Stories) sont prioritaires par rapport aux autres, l’équipe de développement sélectionne alors les éléments (issus de ce qu’on appelle le Backlog) à inclure dans le sprint. Ensemble, toute l’équipe fixe l’objectif du Sprint, et c’est l’équipe de développement qui détermine quand il est temps de mettre à jour le Sprint Backlog. Ainsi, l’objectif de chaque Sprint Planning est un Sprint Backlog, et chaque Sprint Backlog contient un Sprint Goal qui est une description de tâches techniques qui affine les User Stories qui ne sont qu’une description non technique du besoin. Dans l’esprit Agile, le travail sur chaque tâche est estimé, et la somme des estimations ne doit pas dépasser la capacité connue de l’équipe pour un sprint, ce qui permet de finaliser la constitution du Sprint. Celui-ci peut démarrer.
Daily Scrum : Afin de vérifier la progression et d’adapter le Sprint Backlog si nécessaire, l’équipe de développement participe au Daily Scrum. C’est une réunion pour l’équipe de développement qui se déroule quotidiennement pour une durée fixée de 15 minutes. Elle se fait autour du tableau des tâches (Scrum Board), en toute transparence. Chaque membre de l’équipe va répondre à 3 questions : Qu’est-ce que j’ai fait la veille ? Qu’est-ce que je fais aujourd’hui? Ai-je rencontré des points de blocage ? En fonction, le sprint s’adapte au jour le jour.
Sprint Review : A la fin de chaque Sprint, toute l’équipe va se réunir : l’équipe de développement, le Product Owner qui est le vis-à-vis du client, le Scrum Master qui joue le rôle de facilitateur et de coach Scrum, ainsi que le client afin de réaliser une démonstration. Au cours de cette cérémonie, l’équipe de développement va présenter ce qui a été fait durant l’incrément de travail. Le product backlog est alors mis à jour, et le client peut affiner son besoin, redéfinir les priorités pour le prochain Sprint
Sprint Retrospective : C’est le dernier événement d’une itération Scrum. C’est une réunion qui se fait directement après le Sprint Review, seulement avec la Scrum Team qui a pour objectif d’évaluer ce qui s’est passé durant le Sprint et proposer des améliorations de fonctionnement pour les prochaines itérations.
Scrum permet à l’équipe de développement de travailler dans un cadre de travail flexible, qui s’adapte à ses capacités. C’est un environnement de travail qui met l’équipe en confiance, donc motivant. Et Scrum permet au client de suivre de près l’avancement, et de s’adapter à son besoin qui peut s’affiner au fur et à mesure.