• Ceux qui cherchent plus de détails sur Scrum que cette courte introduction trouveront une série de billets sur les pratiques Scrum que j'ai regroupés dans la catégorie Guides Scrum.
  • Ceux qui sont à la recherche d'une présentation pourront trouver leur bonheur dans l'onglet Présentations; je joins en annexe à ce billet une présentation pour deux heures environ.
  • Ceux qui souhaitent disposer d'une référence sur Scrum plus complète et plus compacte que des billets de blog épars se tourneront vers mon livre sur Scrum qui est publié depuis février 2010.
  • Et pour ceux qui voudraient commencer à pratiquer dans de bonnes conditions, le mieux est de suivre une formation ou de se faire accompagner par un consultant.

La courte introduction

Scrum se range sous la bannière des méthodes agiles, fédérées par le Manifeste agile[1].

Scrum en bref

Scrum sert à aider une équipe à développer un produit. Les fonctionnalités souhaitées sont collectées dans le backlog de produit et classées par priorité. C'est le Product Owner, représentant des clients et utilisateurs dans l'équipe, qui est le plus impliqué dans la gestion de ce backlog.

Le développement du produit est rythmé par une série d’itérations, d’un mois ou moins, qui sont appelées des sprints. Le contenu d’un sprint est défini par l’équipe, en tenant compte des priorités définies par le Product Owner, et de sa capacité. 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 quotidiennement. Cela permet d'identifier les obstacles qui ralentissent l'équipe que le ScrumMaster, animateur de l'équipe et garant du suivi de Scrum, a pour responsabilité d'éliminer. Cette inspection quotidienne permet de déterminer l’avancement par rapport aux engagements et d'appliquer, en équipe, des ajustements pour assurer le succès du sprint.

A la fin de chaque sprint, l’équipe présente ce qu'elle a ajouté au produit pendant le sprint. Cet incrément du produit est potentiellement livrable; son évaluation permet d’ajuster le backlog pour le sprint suivant.

Éléments de Scrum

L’équipe a un rôle capital dans Scrum. Elle est constituée afin de disposer de toutes les compétences nécessaires au développement du produit, sans qu'il y ait des rôles spécifiques. Pour optimiser les chances de succès, elle s’organise elle-même et doit être investie avec le pouvoir et l'autorité pour faire ce qu'elle a à faire.

Scrum utilise la technique des blocs de temps (timeboxes) pour créer de la régularité. Le cœur du rythme de Scrum est le sprint. Dans chaque sprint, le cadre est donné par un cérémonial léger mais précis basé des réunions.

Scrum impose peu d'artefacts à l'équipe pendant le développement. Le plus remarquable est le backlog de produit, pivot des différentes activités.

Théorie de Scrum

Scrum a son origine dans la théorie de contrôle empirique des processus. Scrum fournissant seulement un cadre, c'est l'équipe qui définit la façon dont elle travaille et l'approche empirique lui permet de l'ajuster. Les 3 piliers de la théorie sont la transparence, l’inspection et l’adaptation.

  • La transparence garantit que tous les indicateurs relatifs à l’état du développement sont visibles de tous ceux qui sont intéressés par le résultat du produit.
  • L'inspection est faite à des moments typiques du cérémonial (quotidiennement et à chaque sprint) et porte sur des indicateurs qui montrent la tendance, comme les burndown charts.
  • Si l’inspection met en évidence que certains indicateurs sont en dehors des limites acceptables, les ajustements sont faits rapidement pour minimiser les futures déviations.

Cette approche empirique est appliquée pour obtenir le meilleur produit possible, en incorporant régulièrement le feedback. Elle sert aussi, avec la rétrospective de sprint, à améliorer le processus.

Notes

[1] Thierry Cros a fait une excellente présentation du Manifeste agile