Le Scrum Master au service de l’équipe Scrum
Prérequis et objectifs
1. Prérequis
Maîtriser les quatre premiers chapitres.
2. Objectifs
À la fin de ce chapitre, vous serez en mesure de :
Coacher l’équipe Scrum.
Aider l’équipe à accroître sa valeur et la valeur des produits qu’elle développe.
Faciliter les interactions entre les membres de l’équipe Scrum.
Faciliter les interactions avec l’équipe Scrum.
Introduction
Le guide Scrum dresse une liste non exhaustive des actions que le Scrum Master peut mener pour servir au mieux l’équipe Scrum :
-
Accompagner les membres de l’équipe en matière d’autogestion et de pluridisciplinarité.
-
Aider l’équipe Scrum à se focaliser sur la création d’incréments de grande valeur qui répondent à la Definition of Done.
-
Faire en sorte qu’il n’y ait pas d’obstacles pouvant entraver la progression de l’équipe Scrum.
-
S’assurer que tous les événements Scrum ont bien lieu et sont efficients, productifs et respectent bien les temps impartis (timeboxés : gardés dans une boîte de temps).
Dans sa mission auprès de l’équipe, l’accent est mis sur des actions typiques du management participatif ; accompagner, aider. Le guide Scrum dresse une liste de moyens, mais jusqu’à la publication du guide Scrum 2020, l’objectif n’était pas clairement décrit. Jeff Sutherland avait annoncé clairement l’objectif de Scrum : « Le but de Scrum est d’obtenir "l’effet Toyota", c’est-à-dire de fournir quatre fois plus de logiciels avec une qualité douze fois supérieure dans une série de cycles courts appelés "Sprint"...
Coacher l’équipe pour qu’elle se fixe des objectifs ambitieux
La première des choses à faire pour accroître l’efficacité de l’équipe Scrum, c’est de l’aider à définir ses propres objectifs et ils peuvent être ambitieux. Fixer des objectifs ambitieux est une recommandation forte de Rensis Likert, initiateur du style de management participatif préexistant à l’agilité.
Dans un premier temps, le Scrum Master peut encourager l’équipe, ou la guider vers deux indicateurs : la vélocité et la qualité. Ils sont facilement mesurables et progressent toujours, ce qui encourage l’équipe à poursuivre ses efforts. De plus, cela encourage les managers à continuer à soutenir l’équipe et à avoir confiance en sa capacité d’auto-organisation. Enfin, des erreurs opérationnelles seront relativisées par les courbes de croissance de la performance. Il est plus facile d’expliquer à un manager qu’il ne doit pas blâmer l’équipe en cas d’échec d’un Sprint, car on progresse plus rapidement suite à un échec qu’en enchaînant des réussites.
1. La vélocité
C’est un indicateur de mesure empirique basé sur la capacité de l’équipe à produire un certain nombre de points de complexité par Sprint.
Chaque élément du Backlog de produit dispose d’une estimation de complexité que l’on peut traduire sous forme d’un entier numérique. À l’issue de chaque Sprint, il suffit de mesurer la somme des points de complexité des éléments finis et livrés dans l’incrément potentiellement publiable en production pour connaître la vélocité de l’équipe. Même si l’équipe a investi 50 % de ses efforts sur un seul élément durant un Sprint, et que cet élément n’est finalement pas considéré comme fini à l’issue du Sprint, ses points de complexité ne sont pas comptabilisés dans la vélocité de l’équipe. Ne sont comptabilisés que les points de complexité...
Causer les changements qui augmentent l’efficacité de l’équipe Scrum
Le Scrum Master est un acteur du changement, mais il est surtout la source, l’origine des changements qui amènent l’organisation à devenir chaque jour un peu plus agile. Il n’est pas nécessaire de tout piloter, tout contrôler pour que le changement s’opère.
Si nous reprenons l’exemple de l’équipe qui a identifié qu’installer une machine à café dans sa salle de travail était un facteur d’accroissement de sa productivité, alors à la lumière de cette phrase, nous pourrions penser qu’il est évident qu’il appartient au Scrum Master de se charger de la conduite opérationnelle de ce mini-projet. Il est demandé au Scrum Master de « causer les changements », d’en être à l’origine. Il ne lui est pas demandé de piloter opérationnellement les changements.
Le Scrum Master doit aider l’équipe Scrum à identifier les obstacles qui l’empêchent d’accroître son efficacité, par exemple lors de la rétrospective. Il doit également supprimer les obstacles à la progression des Developers.
Mais il ne lui appartient pas de conduire personnellement les changements nécessaires. Le guide Scrum invite...
Remplir efficacement le Backlog de Sprint
La maîtrise de cette activité et des techniques ou méthodes permettant de la conduire efficacement et rapidement est un bon moyen pour l’équipe d’accroître son efficacité.
Le Backlog de Sprint est composé de l’Objectif de Sprint (le « pourquoi »), de l’ensemble des éléments du Backlog de produit choisis pour le Sprint (le « quoi »), ainsi que d’un plan d’action pour la réalisation de l’Incrément (le « comment »). |
Guide Scrum 2020 |
L’élément clé du Backlog de Sprint, et ayant la plus grande incidence sur l’efficacité de l’équipe, est l’objectif du Sprint.
Lorsque l’objectif du Sprint est clair, qu’il fait sens pour tous les membres de l’équipe Scrum, alors les moyens mis en œuvre seront clarifiés également. Leur priorité et leur importance apparaîtront également clairement aux yeux de tous. Un manager peut impliquer ses subalternes, ce qui favorisera leur motivation individuelle et accroîtra leur efficacité. Un objectif clair et assumé par l’équipe produira une chose qu’un manager ne peut pas fabriquer : un engagement.
Le Backlog de Sprint est également composé principalement de tâches, qui ne nécessitent pas plus d’une journée pour être accomplies.
Plusieurs techniques permettent de construire un « bon » Backlog de Sprint :
-
Affiner les éléments du Backlog de produit jusqu’à un état « prêt ».
-
Intégrer des éléments permettant la mise en œuvre de l’amélioration d’au moins un processus identifié lors de la précédente rétrospective de Sprint.
-
Planifier l’activité pour le Sprint à venir.
L’affinage des éléments du Backlog de produit a déjà été abordé au chapitre Le Scrum Master au service du Product Owner, mais du point de vue des Developers, certaines pratiques nécessitent un éclairage particulier. Le point le plus important est que le Product Owner ne peut pas efficacement...
Livrer un produit fini
Pour une fois, nous ne nous appuierons pas sur le guide Scrum en premier lieu pour comprendre les enjeux et donc envisager les moyens à mettre en œuvre, mais sur une publication de Jeff Sutherland (auteur de Scrum) datant de 2012. Ce document, traduit en français, a le mérite d’expliquer en détail les raisons qui ont amené Ken Schwaber et Jeff Sutherland à recommander certaines pratiques de Scrum, dans le but de maximiser les chances de pouvoir livrer un produit fini.
Pour livrer efficacement un produit potentiellement livrable à la fin du Sprint, l’expérience a montré que : 1. Il doit y avoir un Product Owner qui fournit à l’équipe une liste claire de priorités cohérentes et figées pour la durée d’un Sprint. Des décennies d’expérience en ingénierie logicielle ont montré que donner à une équipe de développement plusieurs priorités ou changer les priorités pendant une itération entraîne des décisions retardées et des retouches excessives. La réduction de plus de 50 % de la productivité de ces équipes est la norme. De nombreuses équipes de développement ont doublé leur productivité au cours du premier mois de mise en œuvre de Scrum en résolvant ce problème. 2. Le Product Owner doit avoir un Backlog de produit de fonctionnalités ordonnancé, en s’appuyant entre autres sur une valeur commerciale. 3. Le travail requis pour implémenter les fonctionnalités doit être estimé par l’équipe qui implémentera les fonctionnalités. La recherche a montré que si les experts peuvent estimer avec précision le temps qu’il leur faudrait pour mettre en œuvre une fonctionnalité, il leur est impossible d’estimer les connaissances techniques et de domaine de l’équipe de livraison, les priorités concurrentes d’autres projets qui ont un impact sur la productivité de l’équipe, les facteurs humains dans une équipe tels que la motivation, la résolution des conflits, l’esprit d’équipe qui varient dans le temps, ou la perte ou l’ajout de personnel à une équipe... |
Estimer la complexité
L’affinement du Backlog de produit consiste à décomposer et à définir davantage les éléments du Backlog en éléments plus fins et plus précis. Il s’agit d’une activité continue visant à ajouter des détails, tels qu’une description, un ordre et une taille. Les attributs varient souvent en fonction du domaine d’activité. |
Guide Scrum 2020 |
Selon le guide Scrum, chaque élément présent dans le Backlog de produit doit présenter au moins ces quatre attributs, dont une « estimation ». Le guide Scrum précise que :
Les Developers qui effectueront le travail sont responsables du dimensionnement. Le Product Owner peut influencer les Developers en clarifiant ses explications et les aider à trouver des compromis. |
Guide Scrum 2020 |
Le guide parle d’estimations, décrit clairement qui est responsable de ces estimations - les Developers qui effectueront le travail - mais sans préciser ce qui est estimé, ni comment. S’agit-il d’une estimation de charge exprimée en jour-homme, de durée exprimée en heures, d’une estimation d’effort ou de complexité ? Rien ne l’indique, les raisons de ces estimations sont implicites, mais ne sont pas non plus décrites de manière explicite. Enfin, les moyens pour y parvenir sont totalement libres.
L’objectif de ces estimations est également induit sans être exprimé de manière explicite. Cela doit permettre de rendre la planification plus précise. Si nous parlons d’effort, plus l’effort nécessaire à la production de chaque élément du Backlog de produit est affiné, et plus la planification de ces éléments est précise. En clair, que les éléments soient évalués en charge, en durée, en effort, en complexité, ou en haricots ne change absolument rien. Alors pourquoi réaliser des estimations en points de complexité ou story points ?
-
Pour éviter l’effet Parkinson que nous détaillerons au chapitre Le Scrum Master au service de l’organisation.
-
Pour casser l’ancien système d’évaluation de charge avec lequel...
Donner de la visibilité
Donner de la visibilité consiste à accroître la transparence. Pour rappel :
Le processus et le travail émergents doivent être visibles pour ceux qui effectuent le travail ainsi que pour ceux qui le reçoivent. Avec Scrum, les décisions importantes sont fondées sur l’état perçu de ses trois artefacts formels. Des artefacts peu transparents peuvent mener à des décisions qui diminuent la valeur et augmentent le risque. |
Guide Scrum 2020 |
Le Scrum Master étant redevable de l’efficacité de l’équipe Scrum, il a personnellement intérêt à s’assurer que l’équipe Scrum est en capacité de mesurer son efficacité et surtout de la progression de celle-ci. De nombreuses organisations sous-estiment l’importance du rôle de Scrum Master. En démontrant un accroissement d’efficacité et en corrélant les actions mises en place par l’équipe avec ces progressions, l’équipe Scrum peut démontrer qu’elle n’a pas besoin de la supervision ou du contrôle de dirigeants, et profite davantage du management d’un coach.
L’équipe a également un intérêt à faire preuve de transparence et à démontrer sa progression, car cela lui permet à terme de bénéficier d’une autonomie et d’une liberté de décision accrue.
Ce n’est pas au Scrum Master de donner de la visibilité sur le travail de l’équipe Scrum, mais à l’équipe elle-même. De la visibilité sur ses choix, son organisation et sa progression. Il ne s’agit pas de justifier ou de rendre compte, mais simplement d’informer.
Chaque membre de l’équipe doit informer en premier lieu et en priorité les autres membres de l’équipe Scrum, y compris lorsqu’il y a plusieurs équipes engagées sur un même produit. Ensuite, avec le même niveau de transparence, informer le ou les Scrum Master et le Product Owner, et enfin toutes les parties prenantes.
Une autre vertu majeure de la transparence consiste à réduire les boucles de rétroaction pouvant faire dériver les projets, ou impacter la vitesse...
Maximiser la valeur
Nous avons vu que le Product Owner a la responsabilité de maximiser la valeur résultant du travail de l’équipe Scrum et que le Scrum Master doit le soutenir, le guider ou l’aider à le faire. Nous avons également vu plusieurs moyens génériques pouvant s’appliquer à une grande variété de produits. L’accroissement de la vélocité de l’équipe de développement est un indicateur de mesure fiable que la plupart des équipes arrivent à multiplier par quatre entre leur premier Sprint et leur rythme de croisière. Ce qui va faire la différence entre un accroissement d’un facteur 1 à 4 et un accroissement d’un facteur 1 à 10, c’est la capacité de l’équipe à inspecter et adapter ses propres processus : l’amélioration continue.
Déléguer à une machine toutes les tâches que l’on peut transformer en algorithmes simples à mettre en œuvre est un excellent moyen d’y parvenir. Un exemple typique consiste à industrialiser les tests récurrents et les processus de contrôle, mais les équipes de développements regorgent d’idées pour améliorer leurs performances dès lors qu’on les laisse faire au lieu de leur imposer des processus entravant leur...
Validation des acquis : questions/réponses
Si l’état de vos connaissances sur ce chapitre vous semble suffisant, répondez aux questions ci-après.
1. Questions
1 Quelles sont les trois principales actions que le Scrum Master entreprend pour servir au mieux l’équipe Scrum ?
2 Quels sont les deux indicateurs que l’équipe Scrum doit mettre rapidement en place ?
3 Comment estimer la capacité de progression sous forme mathématique ?
4 Comment est mesurée la vélocité réelle de l’équipe Scrum ?
5 La vélocité peut-elle être utilisée comme indicateur de contrôle de performance de l’équipe ?
6 Citez au moins un indicateur de mesure de la qualité de l’équipe.
7 En s’appuyant sur l’empirisme, comment peut-on dire qu’un Sprint est un succès ou un échec ?
8 De quoi est composé un Backlog de Sprint ?
9 Quelle est la taille idéale d’un élément « prêt » du Backlog de produit ?
10 Pourquoi les éléments réputés prêts doivent-ils tous être d’une taille ou d’une complexité quasiment identique ?
11 Citez un processus que l’équipe est obligée de suivre pour remplir son Backlog de Sprint.
12 À quoi sert le plan que l’équipe Scrum doit produire à chaque Sprint Planning ?
13 Si un membre de l’équipe Scrum est persuadé qu’il n’aura pas assez de travail dans le Sprint à venir, que doit faire le Scrum Master ?
14 Quel est le livrable attendu à la fin d’un Sprint ?
15 Qui est responsable de déterminer ce que l’équipe Scrum peut produire durant un Sprint ?
16 Qu’est-ce qui est indispensable pour que l’équipe puisse délivrer un incrément de produit fini ?
17 À quoi servent les estimations (de complexité) de l’équipe Scrum ?
18 À quoi sert un Burndown chart ?
19 Quels sont les trois types de Burndown charts que l’équipe...