Présentation rapide de Scrum

Scrum, c'est quoi ? Scrum est un processus de développement faisant partie des Méthodes Agiles qui s'inspire des valeurs collectives du rugby : scrum signifie mêlée.


En fait, Scrum n'est pas vraiment un processus ni une méthodologie -ni une méthode même si on parle de méthode Agile.
Lors d'un Scrum Gathering, Ken Schwaber, un des fondateurs, a décrit Scrum comme :

"not a process or a methodology, but a path".

Une voie à suivre.
J'aime bien cette description et je la rappelle de temps en temps, pour ne pas tomber dans le travers qui me pousse à être en contradiction avec le premier précepte du Manifeste Agile.

Effectivement le cadre donné par Scrum est léger : des sprints, des réunions en début et fin de sprint, 2 backlogs, 3 rôles. Ce n'est pas ce qu'on appelle une approche lourde et prédictive.

ScrumDiagramfrsmall.png

Le schéma [1] montre la production d’une version(j'utilise le terme release dans mes billets) du logiciel, qui se déroule généralement en quelques mois. Les fonctionnalités souhaitées sont collectées(généralement sous forme de user stories) dans le backlog de produit et classées par priorité. C'est le directeur de produit(product owner) qui est responsable de la gestion de ce backlog.

La release est produite par une série d’itérations de 2 à 4 semaines appelées des sprints. Le contenu d’un sprint est défini par l’équipe, avec le directeur de produit, en tenant compte des priorités et de la capacité de l’équipe. A partir de ce contenu, l’équipe identifie les tâches nécessaires et s'engage pour réaliser les fonctionnalités sélectionnées pour le sprint.

Pendant un sprint, des points de contrôle sur le déroulement des tâches sont effectués lors des mêlées quotidiennes(scrums). Cela permet au ScrumMaster, l'animateur chargé de faire appliquer Scrum, de déterminer l’avancement par rapport aux engagements et d'appliquer, avec l'équipe, des ajustements pour assurer le succès du sprint.

A la fin de chaque sprint, l’équipe produit un logiciel partiel (un incrément) qui fonctionne. Cet incrément du produit est potentiellement livrable et son évaluation permet d’ajuster le backlog pour le sprint suivant.

Pour en savoir plus sur Scrum :

  • parcourir ce blog. De nombreux billets portent sur Scrum,
  • voir la présentation de Scrum sous Licence Creative Commons disponible à partir de l'onglet Présentation.

Notes

[1] merci à Mike Cohn qui m'a fourni la version française de son schéma original, qu'on retrouve sur son site et un partout. Il a l'avantage d'être simple, mais attention, si Scrum paraît simple, son application demande des efforts

Commentaires

1. Le samedi 03 janvier 2009, 20:01 par JM.D

Nouvelle année, nouveau look. J'aime beaucoup celui-ci, bravo Damien.
Dans le nouveau logo, je vois bien le ballon pour "Scrum", le chat pour "l'agilité", mais de "rock'n roll", je ne vois pas ... Expliiiiiique.

c'est fait, dans un prochain billet


Sinon, un seul petit regret : l'absence de l'année dans le post-it qui donne la date du billet, pour se rendre compte de la "fraicheur" de celui-ci (même si ce site reste très "frais" par son contenu ;-) ).

tu as raison, c'est remis

Bonne année rock'n roll.

2. Le mercredi 25 mars 2009, 13:07 par glm

Bonjour, je ne m'y connais pas dans ce domaine. tout simplement et pas dans les détails, c'est quoi scrum et ca sert à quoi? je n'ai pas besoin de l'étimologie du mot. Dans quelles applications de la vie courante cette méthode est utilisée? et pour quoi faire.

Bonsoir glm, merci pour tes questions. Les réponses, tu les trouveras dans le blog, si tu veux bien te donner la peine de chercher un peu. Non mais.
3. Le jeudi 02 avril 2009, 21:43 par glm

oui je veux bien mais là est le problème c'est que je n'ai le temps, je dois m'imprégner de cette méthode le plus vite possible, j'ai un stage à faire qui commence lundi et je dois aussi m'imprégner d'une autre méthode appelée le Time Tracker, je ne sais aussi ce que ça veu dire.. mais bon... je dois : "réaliser une application web qui permette le suivi et la planification de projets" et ceci inspiré de ces deux méthodes. Je voudrais juste des réponses rapides à mes questions qui me permettraient avant tout de me situer dans cette méthode en général et le détail si j'en ai besoin je parcourirais ce blog quand le moment sera venu (de toute les façon je n'ai pas le choix)... svp... je voudrais juste des répones simples et récises.. c'est tout

4. Le lundi 22 juin 2009, 08:11 par Earthman

Bonjour,
Je me met à Scrum dans le cadre de la production vidéo-ludique.
J’ai deux questions, si vous pouviez y répondre, ça m’aiderait bien
1) Comment traduire convenablement “User Stories”? Par des scénarios d’utilisation du logiciel? Qui est cet “User”? le futur utilisateur de l’application ou l’utilisateur de la méthode Scrum (donc chaque membre de l’équipe)?
2) Je comprend que l’utilisation des points de complexité, par exemple en utilisant le Poker Planning, est censé permettre de prendre en compte le fait que les membres de l’équipe ont des facilités différentes selon l’item, mais alors… à quoi bon faire en sorte que tout le monde attribue le même nombre de points à un item lors du Poker Planning? Cela veut donc dire que quel que soit le membre de l’équipe qui fera l’item, il aura le même niveau de difficulté à la réaliser qu’un autre, alors que si la complexité de l’item est bien convenu entre les membres de l’équipe, il me parait logique et même évident que les développeurs ne sont pas vraiment interchangeables, n’ayant pas les mêmes capacités par rapport au même item. Donc quelque part cette logique se contredit, je trouve… Je doit avoir mal compris quelque chose, mais je ne vois pas quoi… Merci de m’éclairer :)