Les débutants en Scrum trouveront ci-dessous une courte introduction. Ceux qui cherchent plus de détails pourront parcourir ce blog, en particulier une série de billets sur les pratiques Scrum que j'ai regroupés dans la catégorie Guides Scrum.
Ils pourront aussi trouver leur bonheur dans l'onglet Présentations ; je joins en annexe à ce billet une présentation de Scrum en français de deux heures environ.

Ceux qui souhaitent disposer d'une référence 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.

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

Une équipe Scrum développe un produit de la manière suivante :

  • Les fonctionnalités souhaitées sont collectées dans le backlog de produit et classées par priorité, à l'initiative du Product Owner, le représentant des clients et utilisateurs dans l'équipe.
  • 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 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 essentiels de Scrum

Équipe

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.

Sprint

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.

Backlog

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