PRATIQUE ALGO/METHODES 
Expliquez-moi... la méthode agile Scrum : faire face au changement
 
La démarche propose un mode de pilotage itératif prenant en compte les évolutions qu'un projet de développement peut subir en cours de route. Découvrez-en les principes fondamentaux. (11/01/2007)
Cette article a été modifié le 16 février 2007.

  Forum

Réagissez dans les forums de JDN Développeurs

Il y a de nombreuses méthodes agiles (lire "L'intention des méthodes de développement Agile"), parmi lesquelles se trouve Extreme Programming. Scrum est une autre de ces méthodes agiles conçues pour un usage au sein d'une petite équipe, cherchant à maximiser sa productivité au travers de "règles de vie" facile à adapter à son cycle de développement.

Scrum tire son nom du terme anglais "mêlée", au Rugby. Le nom a été choisi pour l'analogie que constituent les réunions quotidiennes de Scrum avec la mêlée, cette technique de reprise du jeu après une faute qui remet une équipe de sur de bons rails par un effort collectif. Conçue en 1993 et formalisée en 1995, cette méthode de développement (orientée gestion de projet) inclut souvent des pratiques venant de XP.

L'idée de Scrum est de tenir compte de la réalité de la plupart des projets pour lesquels il n'est pas possible de tout définir dès le début : les spécifications seront modifiées et précisées, des outils ou technologies inconnus entreront en jeu, etc.. De fait, pour s'adapter aux changements qui ne manqueront pas d'arriver, Scrum ne suit pas un processus prédictif et les travaux à faire sont ajustés régulièrement au cours du projet, notamment à la fin de chaque itération, appelée le "Sprint".

Scrum suppose donc une intense collaboration entre les différentes personnes impliquées - des caractéristiques ici encore proches de la mêlée. Le directeur de produit (product owner) est le représentant des clients et utilisateurs, il définit les priorités pour la réalisation. Le "gestionnaire" est nommé ScrumMaster : il a pour charge de faciliter l'application de Scrum par l'équipe. L'équipe s'engage pour la réalisation de fonctionnalités et le ScrumMaster la motive pour y arriver.

Le processus Scrum repose sur deux journaux ou "backlog" :
  • backlog de produit : une liste des fonctionnalités pour le produit, définie par le directeur de produit,
  • backlog de Sprint : recense les tâches du Sprint en cours .
Un projet utilisant Scrum a son cycle de vie composé de Sprints successifs. Un Sprint dure au plus quatre semaines. Pendant un Sprint, des réunions quotidiennes de moins de 15 minutes (appelées Scrum) permettent à toute l'équipe de faire le point sur le travail accompli par chacun depuis la dernière réunion Scrum, les obstacles rencontrés, et le travail prévu d'ici la prochaine réunion - rien de plus.

Pendant un Sprint l'équipe développe un produit partiel. Elle déroule toutes les activités nécessaires pour cela : analyser, concevoir, développer, tester, documenter, intégrer. Chaque Sprint se termine par une revue de Sprint, pour que le directeur de produit évalue, au cours d'une démonstration, le produit partiel obtenu et modifie au besoin le backlog de produit.

En définitive, Scrum introduit des règles pour suivre un processus itératif empirique permettant d'obtenir un produit très proche de besoins qui évoluent et ainsi de maximiser la valeur pour les clients.
 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page