Définition

La méthode Scrum a été conçue lors de projets de développement de logiciels. Elle peut aussi être utilisée par des équipes de maintenance. Dans le cas de très grands projets, les équipes se multiplient et on parle alors de Scrum de Scrums. La méthode Scrum peut théoriquement s'appliquer à n'importe quel contexte où un groupe de personnes travaille ensemble pour atteindre un but commun comme planifier un mariage, gérer des projets de recherche scientifique, des écoles et même des églises comme le précise le site de son principal promoteur Jeff Sutherland.

Le principe de base de Scrum est de focaliser l'équipe sur une partie limitée et maîtrisable des fonctionnalités à réaliser. Ces incréments se réalisent successivement lors de périodes de durée fixe d'une à quatre semaines appelées sprints. Chaque sprint possède, préalablement à son exécution, un objectif à atteindre à partir duquel sont choisies les fonctionnalités à réaliser dans cette itération. Un sprint aboutit toujours à la livraison d'un produit partiel fonctionnel.

Rôles

Product owner ou responsable de produit

Personne ayant la responsabilité de remplir et de maintenir à jour le backlog de produit. Il détermine les priorités et prend les décisions d'orientation du projet. À ce titre, il est le représentant du client/utilisateur final et est chargé de recueillir ses besoins. C'est également lui qui est chargé de valider le fonctionnement du produit.

Scrum master

Membre de l'équipe dont l'objectif principal est de la protéger des perturbations extérieures. Il est complètement transparent pour la communication entre l'équipe et les clients et n'a aucun pouvoir hiérarchique sur l'équipe. C'est en revanche un facilitateur pour les problèmes non techniques de l'équipe. Ainsi, il va s'assurer que la méthode est bien comprise et appliquée par le reste de l'équipe.

Membres de l'équipe

L'équipe ne comporte pas de rôles prédéfinis, elle est auto-organisée et pluridisciplinaire. Chaque membre de l'équipe choisit les tâches qu'il réalise en fonction du backlog de sprint. L'équipe doit posséder toutes les compétences nécessaires à la réalisation afin de prendre les décisions en interne de manière collégiale. Sa responsabilité est de fournir un produit fonctionnel à chaque itération.

Earliz vous permet de créer rapidement une équipe par simple "cliquer-glisser" des collaborateurs, de gérer leur planning hebdomadaire, et de déléguer la gestion de l'équipe directement au manager ou Scrum master.

Backlog ou réserve de travail

Backlog de produit

Dans la méthode Scrum, le projet est découpé en fonctionnalités également appelées User Stories. Le backlog est la liste des fonctionnalités successives à réaliser pour créer ou compléter le produit.

Fonctionnalité ou User Story

Chaque fonctionnalité est composée d'une description, d'une estimation (cf. ci-dessous) et d'un ordre de priorité. Le product owner peut changer à tout moment ces informations et leur priorisation.

Le terme User Story vient de la méthode Extreme Programming (XP) et est souvent associé au Planning poker (cf. Planning poker).

Backlog de sprint

A chaque sprint, on choisit une partie des fonctionnalités du backlog de produit pour les réaliser. La réalisation de ces fonctionnalités doit permettre d'atteindre un objectif de sprint défini au début de celui-ci.

Chaque fonctionnalité est alors découpée en tâches qui pourront être réalisées par différents membres de l'équipe.

Estimations

Scrum ne définit pas spécialement d'unités pour les items des backlogs. Néanmoins, certaines techniques se sont imposées de fait. Le plus courante est l'estimation en points relatifs reprise aux User Stories de XP. L'équipe choisit une User Story étalon à laquelle il affecte un nombre de points arbitraire. Les fonctionnalités suivantes seront estimées par rapport à cet étalon : une User story valant 2 points représente deux fois plus de travail qu'une valant 1 point.

On utilise souvent les premières valeurs de la suite de Fibonacci (1,2,3,5,8,13,21) pour éviter les valeurs proches et garder des fonctionnalités d'importance acceptable. En effet, une fonctionnalité estimée à 40 points sera plus facilement réalisable si on la découpe pour obtenir des estimations de maximum 21.

En choisissant le mode "Scrum" au démarrage de votre projet en ligne, Earliz vous permet de gérer simplement les priorités de chaque "stories", ainsi que le découpage de tous les "sprints".

Sprint

Un sprint est une itération de une semaine à un mois maximum. Un produit fonctionnel doit être disponible et présenté à la fin de chaque sprint. Un nouveau sprint commence dès que le précédent s'est terminé.

Au début de chaque sprint, on définit un objectif et on lui associe une liste de fonctionnalités qui constitueront le backlog de sprint. Au cours d'un sprint, l'objectif et la composition de l'équipe ne peuvent être modifiés. Néanmoins, le contenu du backlog de sprint peut être revu par le product owner et l'équipe.

Chaque sprint possède plusieurs jalons :

  • Sprint planning ou planification du sprint

    Cette réunion sert à construire le backlog de sprint. En se basant sur le backlog produit priorisé réalisé par le product owner, les membres de l'équipe vont décider d'un objectif de sprint. Les fonctionnalités sont alors estimées si elles ne l'ont pas été lors du Planning poker. Le backlog de sprint est ensuite rempli avec les fonctionnalités permettant d'atteindre cet objectif tout en respectant la vélocité de l'équipe (cf. Vélocité) sur les précédents sprints.

    Suivant le choix de l'équipe, les fonctionnalités sont découpées en tâches au cours du sprint planning ou des différents daily scrum.

  • Daily scrum ou mélée quotidienne

    Réalisée en début ou fin de journée, cette réunion quotidienne permet de faire le point sur l'avancement des tâches en cours. Cette réunion dure 15 minutes au maximum.

    Chaque membre de l'équipe doit énoncer les tâches terminées la journée précédente, celles qu'il compte faire la journée à venir, et s’il rencontre des difficultés. Dans le cas de Scrumban, le tableau Kanban sert de support à cette réunion.

  • Démonstration ou revue de sprint

    À la fin d'un sprint, les membres de l'équipe doivent démontrer que leur produit est fonctionnel et qu'ils ont atteint l'objectif fixé. Cette réunion se fait en présence du product owner qui valide que le fonctionnement correspond au résultat attendu.

    En fonction des conclusions de cette réunion, le backlog de produit est mis à jour et les fonctionnalités sont adaptées ou réestimées.

  • Rétrospective

    Seule l'équipe y participe (sans le product owner). La rétrospective a pour but de soulever les problèmes rencontrés par l'équipe au cours du sprint et de proposer des axes d'amélioration. Cette réunion s'inscrit dans la logique d'amélioration continue de l'Agilité et vise à augmenter la productivité et la qualité du produit.

Scrumban

Tableau Kanban

Cette méthode permet d'ajouter du rythme à Kanban en y associant les sprints. En Scrumban, l'ensemble du tableau Kanban est mis à jour en début de sprint avec toutes les tâches dans la colonne à faire. En fin de sprint, toutes les tâches doivent se trouver dans la colonne terminée.

Scrumban fournit une représentation tabulaire du backlog de sprint. Chaque tâches du sprint évolue sur le tableau en fonction de son état d'avancement : à faire, en cours, ..., terminée. Le tableau Kanban participe alors à l'amélioration de la vision du projet par l'équipe.

Earliz vous permet de gérer et de visualiser toutes vos tâches au sein d'un tableau Kaban personnalisable, modifiable en temps réel par l'ensemble de l'équipe.

Outils Scrum

Planning poker

Le planning poker est une façon ludique et efficace de produire des estimations sur la complexité des fonctionnalités. L'avantage principal du planning poker est de permettre à tous de s'exprimer librement. L'estimation sera meilleure parce que plusieurs personnes l'auront validée : des participants avec des niveaux d'expérience et d'expertise différents. De plus, cette technique favorise les échanges entre le responsable du produit et l'équipe. L'évaluation se fait en points relatifs à l'aide d'un jeu de cartes représentant les premières valeurs de la suite de Fibonacci (cf. Estimations).

Déroulement

  1. Les participants s'installent autour d'une table, placés de façon à ce que tout le monde puisse se voir.
  2. Le responsable de produit explique à l'équipe une fonctionnalité ou User Story.
  3. Les participants posent des questions au responsable du produit, discutent du périmètre de la fonctionnalité, évoquent les critères qui permettront de la considérer comme "terminée".
  4. Chacun des participants évalue la complexité de la fonctionnalité, choisit la carte qui correspond à son estimation et la dépose, face vers le bas, sur la table devant lui.
  5. Au signal du Scrum master, les cartes sont retournées en même temps.
  6. S'il n'y a pas unanimité, la discussion reprend.
  7. On répète le processus d'estimation jusqu'à l'obtention de l'unanimité.

Burndown chart

Ce graphique décroissant vous indique la courbe de tendance idéale des points à réaliser chaque jour du sprint. À cette droite, on ajoute les valeurs effectives des points réalisés. Il est souvent mis à jour au cours du daily scrum.

Le burndown chart permet de visualiser rapidement si l'équipe est en avance ou en retard par rapport au planning qu'elle s'est fixée. Grâce à lui, l'équipe peut décider à tout moment de revoir le backlog de sprint pour y ajouter ou retirer des fonctionnalités.

Vélocité

À la fin de chaque sprint, la vélocité de l'équipe est calculée. Cette valeur correspond à la somme des estimations des fonctionnalités terminées au cours du sprint. La vélocité moyenne d'une équipe est particulièrement intéressante à connaître lors du sprint planning. Il est ainsi plus facile de savoir le nombre de User Stories qui pourra être réalisé au cours d'un sprint à venir.

Earliz vous accompagne dans ce processus d'amélioration par un ensemble d'indicateurs opérationnels paramétrables, calculés automatiquement à partir de l'activité des équipes, vous permettant de suivre en temps réel l'évolution de toutes les phases de votre projet et d'identifier rapidement les principales zones de progrès.