Professional Documents
Culture Documents
EXIN Agile Scrum Manual - French
EXIN Agile Scrum Manual - French
Manuel de Base
Page 1
EXIN Agile Scrum
Manuel de Base
Page 2
EXIN Agile Scrum
Manuel de Base
Page 3
EXIN Agile Scrum
Manuel de Base
Frank Turley est chef de projet depuis plus de 15 ans. Il est praticien
PRINCE2® et Scrum Master et également formateur et coach PRINCE2
et en gestion de projet. Il a écrit un certain nombre de livres liés à
PRINCE2® et à la gestion de projet et est surtout connu
dans le monde PRINCE2 pour son travail dans la création des plus
populaires matériel d'autoformation PRINCE2 comprenant:
• Le manuel de formation PRINCE2 Foundation et le cours vidéo
• Le manuel de formation PRINCE2 Practitioner
• Exemplaire de projet PRINCE2
Page 4
EXIN Agile Scrum
Manuel de Base
EXIN Agile Scrum Foundation est une certification professionnelle centrée sur le concept
Agility et le framework Scrum qui est utile pour ceux qui sont impliqués dans des
environnements Agile ou ceux qui envisagent d’y migrer et qui souhaitent prouver leurs
connaissances. Le programme de certification est défini et fourni par EXIN, l'un des
principaux fournisseurs mondiaux de certification et d'accréditation en gestion de
l'information indépendante.
Comme il n'y a pas de prérequis pour l'examen et que vous pouvez vous inscrire et passer
l'examen en ligne, il est vraiment accessible à tous, en particulier à ceux qui préfèrent auto-
étudier.
Ce livre couvre presque tout ce que vous devez savoir pour l'examen. Vous passeriez
facilement l'examen en lisant ce livre entièrement et attentivement. Cependant, le
concept d'agilité est large et vous pouvez toujours rencontrer une question sur un sujet
qui n'est pas abordé dans ce manuel de formation.
Ce livre est approuvé par EXIN comme ressource pour l'examen EXIN Agile Scrum Foundation.
Vous pouvez passer un exemplaire d'examen Agile Scrum Foundation via la même page
Web lorsque vous êtes prêt.
Page 5
EXIN Agile Scrum
Manuel de Base
1
Concept d’Agilité
Page 6
EXIN Agile Scrum
Manuel de Base
Concept d’Agilité
Alors, commençons ce livre en passant en revue le concept d'Agilité pour créer une base
solide avant de discuter d'un cadre de travail réel dans le chapitre suivant.
• Analyser
• Concevoir
• Construire
• Intégrer
• Tester
Examinons donc les différentes façons dont nous pouvons concevoir le cycle de vie du
développement en fonction des processus de développement standard.
Une façon d'exécuter les processus consiste à les exécuter les uns après les autres, comme
illustré dans la figure suivante.
1
“Initiative” est le terme utilisé pour désigner les projets et les programmes. Un programme est une
Initiative qui est focalisée sur la création d’un résultat au lieu d’un produit. Les programmes sont faits
de multiples projets liés.
Page 7
EXIN Agile Scrum
Manuel de Base
Page 8
EXIN Agile Scrum
Manuel de Base
Le problème est que les clients ne savent pas ce qu’ils veulent, jusqu’à ce qu’ils voient le
logiciel oprérationnel, ce qui est produit très tard dans le cycle de vie prédictif (à la fin du
projet). Nous pouvons utiliser le cycle de vie suivant pour éviter ce problème:
Nous utilisons un certain nombre d'itérations dans ce cycle de vie, appelées Sprints dans
Scrum. Nous exécutons tous les processus de développement sur une partie du produit à
chaque itération. La principale raison d'utiliser des cycles de vie itératifs est d'avoir des
solutions intermédiaires à la fin de chaque itération, de les montrer au client, de recevoir ses
commentaires, d'appliquer ces commentaires aux itérations suivantes et ainsi de réduire la
quantité de retouches dans les itérations ultérieures.
Nous avons donc des solutions intermédiaires (incréments) en cours de route et nous
pouvons recevoir des commentaires utiles après chaque itération. Nous souhaitons recevoir
des retours le plus rapidement possible afin de les appliquer dans les prochaines itérations
du projet. Une conséquence est que le nombre et le contenu des éléments de construction
sont dynamiques. Ainsi, au lieu de créer une spécification complète des exigences avant de
tout concevoir et de tout construire, nous commençons à incrémenter et à itérer avec un
nombre limité de pièces de construction et à laisser les autres parties du périmètre se
former au fur et à mesure que le projet avance. C'est ce qu'on appelle un cycle de vie
adaptatif; un cycle de vie qui développe la solution finale de manière itérative et
incrémentale, par adaptation.
Ce que nous appelons Agile, est techniquement équivalent à l'utilisation de cycles de vie
adaptatifs. La cascade ou les méthodes traditionnelles utilisent un cycle de vie prédictif
comme mentionné précédemment dans ce chapitre.
Notez qu'un cycle de vie adaptatif n'est pas seulement le processus de division du
développement des fonctionnalités en plusieurs étapes; il se concentre sur la limitation
du plan à quelques itérations dans un proche avenir et sur l'utilisation des données de
sortie de chaque itération pour planifier un peu plus loin dans l'avenir.
Un autre point important concernant les cycles de vie adaptatifs est que nous
n'exécutons pas une mini-cascade à l'intérieur de chaque itération. Une mini-cascade
exécute tous les processus de développement pour tous les éléments d'itération en
même temps: spécifie l'itération, puis la conçoit, puis la construit, etc. Nous utilisons des
itérations mini-agiles à l'intérieur, qui se concentrent sur des fonctionnalités uniques à la
fois, et exécute tous les processus de développement pour eux séparément.
C
h
a
q
Page 9
EXIN Agile Scrum
Manuel de Base
Il existe de nombreux cadres de travail utilisant ce cycle de vie adaptatif; tous connus sous le
nom de cadres de travail Agile. Scrum est le cadre de travail Agile le plus connu, bien qu'il
existe d'autres cadres de travail Agile tels que XP, DSDM Atern et Crystal. La seconde moitié
de ce livre est principalement axée sur Scrum, tandis que la première partie sur le concept
d’Agilité est applicable à tous les cadres de travail Agile.
Manifeste Agile
Jusqu'à présent, vous savez qu'un cadre de travail Agile est celui qui utilise un cycle de vie de
développement adaptatif au lieu d'un cycle prédictif. L'agilité a débuté dans les années 50, où elle était
considérée comme un point de vue étrange et parfois anarchiste; à une époque où la méthode
traditionnelle n'avait même pas de nom tel que Cascade, car c'était la manière de facto de travailler.
Le terme «Agile» s’est de plus en plus imposé et formalisé par un groupe qui a préparé et signé une
déclaration de valeurs pour les projets Agile en 2001, connue sous le nom de
Manifeste Agile:
Nous découvrons comment mieux développer des logiciels par la pratique et en aidant les
autres à le faire. Ces expériences nous ont amenés à valoriser :
Les individus et leurs interactions Plus que Les processus et les outils
Des logiciels opérationnels Plus qu’ Une documentation exhaustive
La collaboration avec les clients Plus que La négociation contractuelle
L’adaptation au changement Plus que Le suivi d’un plan
Nous reconnaissons la valeur des seconds éléments, mais privilégions les premiers.
Kent Beck Ward Cunningham Andrew Hunt Robert C. Martin
Mike Beedle Martin Fowler Ron Jeffries Steve Mellor Dave Thomas
Page 10
EXIN Agile Scrum
Manuel de Base
Page 11
EXIN Agile Scrum
Manuel de Base
© 2001, les auteurs ci-dessus. Cette déclaration peut être copiée sous n’importe qu’elle forme, mais uniquement dans son
intégralité à travers cette notification.
Ce court manifeste explique toute l'idée Agile de la manière la plus simple. Prenez le temps et voyez
comment vous pouvez l'associer à l'idée de cycles de vie adaptatifs.
Valeur 1: les individus et leurs interactions plus que les processus et les outils
La plupart des systèmes de management sont axés sur les processus et les
outils. Nous avons essayé de nous améliorer sans accorder suffisamment
d'attention à la partie humaine des projets. Dans les cas extrêmes, certains
managers considèrent les membres de l'équipe comme de simples pièces
d'une machine complexe, qui peut être facilement remplacée, sans
interrompre le travail. Cependant, nous avons réalisé que nous ne pouvons pas
avoir une machine aussi parfaite dans les projets, à cause de toutes les
incertitudes impliquées et de la créativité requise. Par conséquent, se
concentrer sur les processus et les outils ne suffit pas. La meilleure façon
d'améliorer les performances est de se concentrer sur les aspects humains.
Nous ne planifions pas tout le projet à l'avance, car nous savons que nos clients
ne savent pas ce qu'ils veulent. Au lieu de suivre un plan forcé, nous utilisons un
cycle de vie adaptatif, basé sur l’adaptation au changement.
Page 12
EXIN Agile Scrum
Manuel de Base
Principes Agiles
Il y a douze principes accompagnant le Manifeste Agile, qui décrivent encore plus le concept
Agilité:
Principe 1: Notre plus haute priorité est de satisfaire le client en livrant rapidement et
régulièrement des fonctionnalités à grande valeur ajoutée.
Page 13
EXIN Agile Scrum
Manuel de Base
2
Backlog: une liste de fonctionnalités que nous allons développer. Un backlog est comme un plan pour le périmètre du projet.
Page 14
EXIN Agile Scrum
Manuel de Base
Le travail n'est pas le but. Réaliser le produit est le but. Faire des heures
supplémentaires peut sembler accélérer les choses, alors qu'en réalité, cela
réduit la donnée de sortie en diminuant la productivité et en augmentant
les défauts. Nous préférons avoir un rythme soutenable.
Principe 9: Une attention continue à l’excellence technique et à une bonne conception renforce l’agilité.
Éviter la conception en amont ne signifie pas que vous n'avez pas à vous
soucier de la conception. Les projets Agile ont une conception; elle est
juste faite à l'intérieur de chaque itération pour chaque élément du
backlog. Nous devons toujours prêter attention à l'excellence technique et
à une bonne conception pour éviter les problèmes; sans oublier que
l'objectif est une solution «assez bonne» plutôt qu'une solution parfaite.
Principe 10: La simplicité - c’est-à-dire l’art de minimiser la quantité de travail inutile - est essentielle.
Principe 12: À intervalles réguliers, l’équipe réfléchit aux moyens de devenir plus efficace,
puis règle et modifie son comportement en conséquence.
Alors, est-il possible d'utiliser un cadre de travail Agile pour construire une maison? La réponse est
généralement non. Quelle est selon vous la différence entre ces deux projets?
Page 15
EXIN Agile Scrum
Manuel de Base
Vous vous souvenez de la section précédente que d'avoir un cycle de vie incrémentiel et
itératif est la caractéristique commune des cadres de travail Agile. Le fait est qu'il n'est pas
possible de tout développer comme ça. Dans le cas d'une maison par exemple:
1. Nous ne pouvons pas produire (développer) la maison de manière itérative, car les
résultats intermédiaires ne sont pas des solutions opérationnelles (le client ne peut
pas vivre dans une maison qui est faite à 50%). À quoi sert une fondation de
bâtiment sans les autres parties de la maison? Il n'est pas possible d'arrêter ce
projet au milieu et de commencer à utiliser le produit. À quoi sert une maison sans
ses utilitaires? De plus, tous les processus de développement doivent être exécutés
séparément à l'intérieur des itérations contrairement à une conception initiale
complète, ce qui signifie que nous devrions être en mesure de concevoir la
fondation sans connaître la conception des autres parties de la structure qu'elle va
supporter, ce qui n'est pas possible lors de la construction d'une maison.
2. Nous ne pouvons pas le développer progressivement. Par exemple, nous ne
pouvons pas construire une simple fondation d’un bâtiment et nous permettre de
travailler sur le reste de la structure puis revenir en arrière et l'améliorer avant la
fin du projet.
En outre, pourquoi avons-nous besoin d'un cycle de vie adaptatif lors de la construction
d'une maison? Le client d'une maison sait ce qu'il veut et nous n'avons pas besoin de lui
montrer des solutions intermédiaires pour recevoir un retour d'expérience et adapter en
permanence la structure de la maison.
En tant qu'exercice, considérez l'écriture de ce livre comme un projet. Cela peut-il être fait
de manière itérative et incrémentielle? Si votre réponse est oui, avons-nous «besoin» de le
créer de manière adaptative?
Un autre point qui mérite d'être mentionné ici est la différence entre les projets et les
programmes. Un projet est utilisé pour créer un produit (output), telle qu'un logiciel. Un
programme est utilisé pour créer un résultat (outcome), comme une capacité commerciale,
et est réalisé à travers un certain nombre de projets connexes ou d'autres travaux. Un
projet peut être réalisé de manière prédictive (traditionnelle) ou adaptative (Agile), mais un
programme doit toujours être adaptatif. Il en est ainsi, car un programme est axé sur un
résultat plutôt que sur un produit. Nous pourrons peut-être définir le produit à l'avance,
mais ce n'est pas possible pour les résultats. Nous aurons le résultat à l'esprit et essayerons
de trouver les moyens de l'atteindre, et nous devrions être ouverts à changer les moyens à
mesure que nous progressons.
Donc, s'il s'agit d'un programme, vous devez le livrer de manière adaptative. S'il s'agit d'un
projet informatique, de changement organisationnel, de recherche ou similaire, vous
pouvez utiliser des cadres de travail Agile; mais vous n'êtes pas obligé! Il existe de
nombreux projets informatiques développés dans des environnements traditionnels qui
réussissent. Le fait est que si vous pouvez gérer le changement dans votre organisation et
que vous avez le potentiel requis, vous aurez alors une chance beaucoup plus élevée de
réussir en utilisant les cadres de travail Agile. Plus vous avez d'incertitude et de
changement dans un projet, plus les cadres de travail Agile seront utiles.
Page 16
EXIN Agile Scrum
Manuel de Base
Management du périmètre
Nous avons trois alternatives pour définir les éléments du Product Backlog:
1. Spécification des exigences – c'est la manière la plus traditionnelle de définir le
périmètre. Il est formé de termes techniques qui sont clairs pour l'équipe de
développement et sont généralement basés sur les relations architecturales entre
les éléments.
2. Use case – il repose sur la compréhension et les besoins de l'utilisateur plutôt que
sur une description technique, et décrit un scénario détaillé avec toutes les actions
qu'un utilisateur imaginaire fera et les comportements attendus de la solution.
3. User story – ceci est similaire au user case, mais ne contient pas tous les détails du
comportement de l'utilisateur et se concentre uniquement sur les besoins et
l'objectif de l'utilisateur.
Nous devons être capables de communiquer et de collaborer avec le client dans des
environnements Agile afin de recevoir des commentaires et de nous adapter en
conséquence. Après tout, un cycle de vie adaptatif n'est pas utile quand on ne s'adapte pas!
Par conséquent, nous devons avoir un langage commun avec le client. Une définition
technique d'une fonctionnalité n'est pas utile, nous préférons donc utiliser la manière non
technique de définir le périmètre, à savoir les use cases et les user stories. Entre ces deux,
les user stories sont préférées, car elles sont plus faciles à comprendre. Voici un exemple de
user story: En tant qu'utilisateur final, je veux recevoir une liste de mes dernières
transactions. Ou, en tant qu'administrateur système, je veux réinitialiser les mots de passe.
Tout le monde peut les comprendre.
Une user story comprend trois parties:
Page 17
EXIN Agile Scrum
Manuel de Base
1. Ils doivent être non techniques. En effet, le Product Backlog est notre outil de
communication avec le client non technique. Normalement, un enfant de dix ans
devrait être capable de comprendre chaque user story.
2. Ils doivent être indépendants les uns des autres, afin que nous puissions les
développer librement dans n’importe quel ordre.
Nous notons généralement les éléments du Product Backlog sur des fiches ou des post-it et
les plaçons sur un tableau physique. Cette approche est préférable à l'utilisation d'une
application, sauf si vous avez des équipes dispersées.
Adaptation du périmètre
La principale différence avec le management du périmètre Agile est que le périmètre
complet d'un projet traditionnel est défini et convenu à l'avance, avant de commencer la
conception et la construction. Dans les projets Agile, seule une partie du pèrimètre est
définie au départ (autant que nécessaire pour les premières itérations) et nous
commençons à concevoir et à construire la solution avec un périmètre incomplet. Pendant
que nous sommes impliqués dans l'itération, nous ajoutons continuellement de nouveaux
éléments au Product Backlog et affinons ceux existants en fonction des commentaires que
nous recevons du client et de la meilleure compréhension que nous tirons tous du projet.
C'est l'une des principales caractéristiques d'un cycle de vie adaptatif.
Le Product Backlog est un concept dynamique de stockage des éléments que nous allons
développer. Alors,
• Lorsque nous avons terminé avec un article, nous le retirons du Product Backlog;
• Lorsque nous sélectionnons un certain nombre d'éléments du Product Backlog à
développer dans la prochaine itération, nous les sortons du Product Backlog et
les plaçons dans le Backlog d'itération (le Sprint Backlog en cas d'utilisation de
Scrum);
• Si un élément n'est pas terminé avant la fin de l'itération, nous le remettons dans
le Product Backlog; même si il est en cours.
Le Product Backlog est le principal outil de planification dans la plupart des cadres de travail
Agile. Il contient la portée du projet, ainsi qu'un plan de temps, de ressources, de risques et
de qualité, de la manière la plus simple possible.
Page 18
EXIN Agile Scrum
Manuel de Base
Recto d’un exemplaire d’élément du Backlog Verso d’un exemplaire d’élément du Backlog
Alors, il ne faut pas oublier ceci : chaque user story doit être compréhensible et démontrable
au client non technique. Il faut éviter le jargon, à moins d’être en train de parler avec l’équipe
de développement.
Page 19
EXIN Agile Scrum
Manuel de Base
Les Bugs
Nous créons un incrément opérationnel de la solution finale à la fin de chaque itération, qui
devrait être potentiellement livrable. Nous les gardons «potentiellement livrables», afin
qu'il soit plus facile pour le client de l'essayer et de nous faire part de ses commentaires.
Certaines des itérations peuvent en fait être livrées et utilisées par les utilisateurs finaux.
Il est très courant de découvrir des bugs après la démonstration de l'incrément
potentiellement livrable ou même lors de l'utilisation du produit livré. Dans ce cas, il existe
différentes manières de les gérer:
• Il est préférable de créer des stories pour les bugs et de les ajouter au Product
Backlog. Nous n'ajoutons jamais de nouveaux éléments au backlog d'itération
actuel, car nous devons nous concentrer sur les éléments présélectionnés. Donc,
dans ce cas, nous devons attendre la prochaine itération pour sélectionner le bug
dans le Product Backlog et l'ajouter au Backlog de la prochaine itération à corriger.
Bien sûr, les bugs doivent être triés comme les autres user stories, et s'ils n’ont pas
une valeur élevée, nous devrons attendre une itération ultérieure avant de les
corriger.
• S'il n'est pas acceptable d'attendre trop longtemps pour corriger les bugs (si le
produit est utilisé à ce moment-là), nous pouvons les garder en dehors du Product
Backlog et attribuer un effort maximum prédéfini de l'équipe (5%, par exemple)
pour travailler sur les bugs au lieu de développer de nouveaux articles. Nous
utilisons généralement un Backlog séparé et un tableau Kanban3 pour la gestion
des bugs dans ce cas.
Il est inévitable que nous ayons des bugs; mais combien? Si vous avez beaucoup de bugs,
vous devriez peut-être améliorer votre Definition of Done en ajoutant plus de tests, en
améliorant la façon dont vous développez, etc. Il est vraiment important d'être proactif.
Si un défaut n'est pas détecté par l'équipe de développement et est trouvé par les
utilisateurs finaux après une livraison, il s'agit d'un escaped defect. Le nombre de escaped
defect est une métrique importante pour mesurer la qualité du travail.
Les Spikes
Parfois, nous ne savons pas comment développer quelque chose d'un point de vue
technique. Dans ce cas, nous utilisons un «spike» pour l'étudier; une petite activité de
développement pour apprendre les éléments techniques de la solution.
3
tableau Kanban: un tableau montrant les différentes étapes des travaux, utilisé pour suivre l’état de chaque
élément de travail. Les éléments sont généralement ajoutés au tableau à l’aide des post - it.
Page 20
EXIN Agile Scrum
Manuel de Base
Les spikes doivent être timeboxés (par exemple : un ou deux jours). Certaines équipes
réalisent les spikes en dehors des itérations normales, tandis que manière plus courante
d’autres les réalisent dans les itérations de développement.
Un spike fait parfois référence à une tâche comprise dans de multiples tâches requises
pour un élément du Product Backlog. Ce sont généralement des éléments séparés. Par
exemple, nous pouvons avoir un spike pour une user story normale dans l'itération
actuelle, et la story réelle dans l'itération suivante.
L'une des principales raisons de réaliser des spikes est de permettre à l'équipe de donner
une estimation de la user story. Ce n'est pas une exploration complète, mais plutôt une
étude brève et rapide, visant à comprendre et à estimer.
Priorisation MoSCoW
La Priorisation MoSCoW est une excellente technique pour le management du périmètre
et constitue une partie essentielle de DSDM Atern. Il n'est pas encore très courant de
l'utiliser dans les cadres de travail Scrum, mais c'est une bonne idée de l'utiliser quand
même.
MoSCoW est une combinaison des premières lettres de Must Have, Should Have, Could
Have, et would not Have This Time. Dans cette technique, nous attribuons une de ces
lettres à chaque fonctionnalité, en fonction de la définition suivante:
• M (Must Have) – est une fonctionnalité qui doit être dans le produit final, et le
produit final serait inutile sans elle. Par exemple : les freins dans une voiture.
• S (Should Have) – est une fonctionnalité très importante pour le produit final, et
nous ferons face à des problèmes sans elle. Cependant, nous pouvons trouver une
solution de contournement pour cela (en utilisant une autre solution en parallèle,
en le faisant manuellement, etc.) et tout en utilisant toujours la solution finale qui
manque cette fonctionnalité. Par exemple: la climatisation dans la voiture.
• C (Could Have) – est une fonctionnalité vraiment utile que nous aimerions vraiment
avoir dans notre solution, mais franchement, cela ne créerait pas de problème si
nous ne l'avons pas. Par exemple : une caméra et avec un écran dans la voiture, qui
peuvent nous aider à faire la marche arrière.
• W (Will not Have This Time) – est une fonctionnalité intéressante, mais nous
n'allons pas y investir maintenant. Peut-être plus tard. Par exemple : la
surveillance en ligne de l'état mécanique de la voiture.
Lorsque nous attribuons ces priorités de manière réaliste, nous savons que le minimum
pour un produit acceptable est la solution contenant toutes les M user stories. Notre
produit attendu est celui qui contient toutes les user stories M et S. Le produit idéal est
celui qui contient toutes les user stories M, S et C.
La priorisation MoSCoW est un excellent moyen de se concentrer sur la valeur
commerciale: se concentrer sur les besoins réels au lieu des fonctionnalités fantaisistes
(Could Have items).
Page 21
EXIN Agile Scrum
Manuel de Base
La figure suivante montre les triples contraintes classiques des projets et les différentes
manières dont nous pouvons les gérer:
Approche Atern
Fixe
Fonctionnalité Durée Coût
Qualité
Qualité ?
Variable
Durée Coût Fonctionnalité
Approche Traditionnelle
Il n'est pas nécessaire de suivre le principe Atern de livrer à temps dans Scrum.
Cependant, nous développons d'abord des user stories à plus forte valeur ajoutée.
Ainsi, l'augmentation de la valeur de chaque itération sera de moins en moins au fur
et à mesure que nous progressons dans le projet. Nous aidons le client à réaliser cela,
et nous devons donc être prêts à arrêter le projet après chaque itération. Lorsque le
client se rend compte que l'itération actuelle a une valeur suffisante, il peut ne pas
vouloir ou ne pas avoir besoin de dépenser plus de temps et d'argent pour recevoir
les fonctionnalités de faible valeur restantes, il peut donc choisir de clôturer le projet.
C'est une autre raison pour laquelle nous devons garder les itérations
«potentiellement livrables».
Page 22
EXIN Agile Scrum
Manuel de Base
Toujours
7%
Souvent
13%
Jamais
45%
Quelque fois
16%
Rarement
19%
C'est le désastre que nous essayons d'éviter dans les environnements Agile: près de la
moitié des fonctionnalités d'un logiciel moyen ne sont presque jamais utilisées, ce qui
signifie que nous dépensons deux fois plus de temps et d'argent; un vrai gaspillage. La
principale raison pour laquelle les projets Agile sont plus rapides est que nous intégrons un
mécanisme qui élimine ces données de sortie.
La raison de ce gaspillage dans les environnements traditionnels est que nous obligeons le
client à tout spécifier à l'avance, et comme le changement est généralement suivi de
réclamations concernant le délai et le coût plus tard dans le projet, le client essaie de
réfléchir à toutes les fonctionnalités possibles dont il pourrait avoir besoin. Il s'avère que la
plupart de ces fonctionnalités spécifiées à l'avance sont inutiles. Nous n'avons pas ce
problème dans les projets Agile pour deux raisons:
1. Nous ne forçons pas les clients à tout spécifier à l'avance, ils n'ont donc pas besoin
d'être trop créatifs en définissant toutes les fonctionnalités possibles. De plus, ils
savent que nous acceptons les changements à tout moment, afin qu'ils puissent se
détendre
2. Nous aidons le client à comprendre la valeur commerciale de chaque fonctionnalité
et à éviter celles qui n'aident pas vraiment l'entreprise, même si elles ont été
définies dans le Product Backlog.
Page 23
EXIN Agile Scrum
Manuel de Base
Le Concept de Timebox
Il existe un concept important utilisé dans les cadres de travail Agile: timebox.
Chaque timebox a deux caractéristiques majeures:
1. Il a une durée maximale prédéfinie. Nous ne prolongeons jamais la durée de la
timebox simplement parce que nous devons terminer quelque chose. On
s'adapte pour tout finir à l'intérieur de la timebox, et si ce n'est pas possible,
on retire les activités qui ont le moins d'importance. Ainsi, chaque timebox a
un temps maximum, cependant, il existe deux types de timebox concernant le
temps minimum:
a. Durée fixe: certaines des timeboxes sont complètement fixes, et non
seulement le temps maximum n'est pas extensible, mais aussi le minimum
est fixe. Donc, si nous avons tout fait, et qu'il nous reste encore du temps,
soit nous choisissons de nouvelles activités en fonction des règles définies
dans le cadre de travail, soit nous prenons simplement du temps libre! Ce
type de timebox est utilisé pour créer de la régularité et est généralement
utilisé pour les grands événements.
b. Durée maximale: certaines autres timeboxes ont une durée maximale, qui
n'est pas extensible, mais n'a pas de durée minimale. Donc si nous en avons
fini avec toutes les activités et avons du temps supplémentaire, la timbox
sera considérée comme clôturée, et nous commencerons une autre timebox.
Ce type est utilisé pour maximiser la flexibilité, ainsi que la régularité, et est
généralement utilisé pour les petits événements ou ceux qui ne peuvent pas
avoir d'activités supplémentaires.
2. Les timeboxes ont un ensemble d'éléments prédéfinis et généralement figés à
terminer. Nous définissons les éléments à l'avance et ne les modifions pas.
Nous pouvons affiner les éléments (par exemple : les user stories), mais nous
ne les modifions pas complètement. Nous n'ajoutons pas de nouveaux
éléments ni ne supprimons d'éléments. Bien sûr, ce n'est le cas que jusqu'à la
prochaine timebox, lorsque toutes les nouvelles modifications sont
appliquées. Il en est ainsi, car tout change constamment dans les
environnements Agile, et nous devons nous concentrer pour rester productifs.
Ainsi, alors que tout change, nous gardons les courtes durées figées et nous
nous concentrons sur le développement. La seule exception est que si la
timebox est d'une durée fixe au lieu d'une durée maximale, nous pouvons
ajouter des activités supplémentaires une fois que nous en avons terminé
avec toutes celles prédéfinies.
Comme vous l'avez peut-être deviné, chaque itération est timeboxée. Ce sont des
timeboxes à durée fixe dans la plupart des cadres de travail. Nous avons également de
nombreuses réunions à l'intérieur ou à l'extérieur des itérations, qui sont également
timeboxées; par exemple : planning timebox. Vous pouvez voir un exemple concret de
Scrum timeboxing dans les chapitres suivants.
L'utilisation des timeboxes est une excellente stratégie pour augmenter la productivité, à
la fois dans votre vie personnelle et dans vos projets. Certains des avantages sont:
Page 24
EXIN Agile Scrum
Manuel de Base
Stratégie
Portfeuille
Produit
Livrable
Itération
Jour
Page 25
EXIN Agile Scrum
Manuel de Base
4. Planning du jour (Day planning) – dans Scrum, par exemple, ce niveau se fait en
décomposant le Sprint Backlog des éléments dans les tâches, et il est également
discuté après les Daily Scrums.
Pratiques Agile
Il existe un certain nombre de pratiques courantes dans les environnements Agile qui
aident vraiment à améliorer la progression de votre projet. Certaines des pratiques ne se
limitent pas à l’Agile et vous pouvez également en bénéficier dans les environnements
traditionnels. Certaines pratiques essentielles sont expliquées dans les chapitres
précédents ou seront expliquées dans les chapitres du cadre de travail Scrum. Cette
section présente certaines des autres pratiques courantes.
• Travailler est plus agréable pour les gens lorsqu'ils travaillent à deux. Eh bien, il y a parfois
des conflits, mais ils ne sont pas causés par la programmation en binôme; ce sont des
problèmes existants qui se sont manifestés grâce à la pratique de la programmation en
binôme, et sinon, ils se seraient manifestés ailleurs;
• Les gens apprennent davantage lorsqu'ils se regardent travailler;
• Travailler est plus agréable pour les gens lorsqu'ils travaillent à deux. Eh bien, il y a parfois
des conflits, mais ils ne sont pas causés par la programmation en binôme; ce sont des
problèmes existants qui se sont manifestés grâce à la pratique de la programmation en
binôme, et sinon, ils se seraient manifestés ailleurs;
• Les gens apprennent davantage lorsqu'ils se regardent travailler;
Il peut sembler étrange au début de confier à deux personnes le travail d'une seule
personne et cela peut sembler un gaspillage. Cependant, le fait est qu'en pratique, le
rendement d'une paire de programmeurs, y compris tout le debug, est plus que le double
du produit créé par deux programmeurs distincts. Il est donc même économique d'utiliser
cette pratique.
Page 26
EXIN Agile Scrum
Manuel de Base
• Les programmeurs savent exactement ce que les autres attendent d’eux et peuvent
travailler de manière plus productive;
• Les programmeurs seront encouragés à créer le programme le plus simple
possible, juste pour réussir le test. Ceci est souhaitable dans les environnements
Agile, car nous ne voulons pas perdre de temps à créer quelque chose de parfait,
alors que tout ce dont nous avons besoin est d'une solution suffisamment bonne
pour faire le travail. Cependant, nous devons généralement surveiller la
refactorisation pour nous assurer que la solution est toujours «assez bonne».
Intégration Continue
Les morceaux de code sont généralement intégrés à la fin du projet ou de la phase dans un
environnement traditionnel, alors que nous préférons avoir une intégration continue dans
des environnements Agile. Tous les programmeurs doivent télécharger leurs dernières
versions de code dans le référentiel de solution toutes les heures environ.
Cette pratique nous permet d'être sûrs que nos travaux antérieurs sont «terminés» et ne
nécessitent pas trop d'ajustements supplémentaires. Cependant, il est nécessaire d'avoir
un système de gestion de configuration fiable pour permettre cette pratique sans
rencontrer de problèmes, en particulier lorsque la donnée de sortie est utilisée dans les
opérations.
• Il est plus facile d'avoir des incréments réels à la fin des itérations; livrer la solution serait beaucoup
plus facile que dans les environnements traditionnels;
Page 27
EXIN Agile Scrum
Manuel de Base
• Nous voyons des alertes précoces pour les conflits et moins de retravail dans le futur code.
Refactorisation Continue
Le refactorisation est l'amélioration du code sans changer ses fonctions externes. La
refactorisation continue consacre une partie du temps de développement à la
refactorisation pour faciliter le développement futur et la maintenabilité.
Les principaux avantages de la refactorisation continue sont:
• Le développement des parties restantes du projet est plus rapide et plus fluide;
• Nous pouvons accumuler de nombreuses leçons apprises à intégrer dans les
parties restantes du projet et dans les projets futurs.
Il faut veiller à ne pas cibler le code parfait au lieu d'un code assez bon. Une refactorisation
continue minimale est requise dans les environnements Agile, car nous ne développons
pas sur la base d'une conception en amont.
La refactorisation continue est la stratégie Agile de remboursement de la dette technique.
La dette technique est la conséquence éventuelle d'un développement médiocre, qui
devrait être remboursée à un moment donné, et le plus tôt sera le mieux.
• Encourager la collaboration;
• Faire en sorte que chacun se concentre sur le projet et sa valeur plutôt que sur des
activités de spécialiste.
Cette pratique est obligatoire dans la plupart des cadres de travail Agile, y compris Scrum.
Rythme soutenable
Avoir un rythme soutenable, comme vous vous en souvenez peut-être d'après les principes
Agile, est nécessaire. Avoir des heures supplémentaires constantes peut sembler augmenter
la vitesse, mais dans la pratique, cela ralentit en fait tout à cause de la faible qualité du code
et du moral de l'équipe.
• Les développeurs sont plus concentrés sur la production que sur le travail; ils se
concentrent sur le projet dans son ensemble plutôt que sur les activités;
• Nous aurons un environnement plus heureux;
• En fin de compte, nous aurons une productivité plus élevée.
L'utilisation d'unités relatives (story points) pour mesurer l'effort de chaque élément du
Product Backlog au lieu d'unités basées sur le temps nous aide à maintenir le rythme
soutenable.
Page 28
EXIN Agile Scrum
Manuel de Base
2
Cadre de travail
Scrum
Page 29
EXIN Agile Scrum
Manuel de Base
Vous avez maintenant une compréhension abstraite de l'Agilité, et vous vous êtes peut-être
demandé comment il est possible de la faire fonctionner. Eh bien, Scrum est l'une des
réponses à une telle question; l'une des meilleures réponses en fait. La plupart des
entreprises Agile utilisent Scrum de nos jours:
Autres
34%
Scrum
52%
Scrum+XP
14%
Scrum n'appartient pas à une certaine organisation, comme le sont PRINCE2 et PMBOK
Guide, il existe donc différentes interprétations de celui-ci disponibles dans diverses
ressources. La ressource la plus créditée parmi toutes est scrum.org, définie dans un guide
très court appelé Scrum Guide. Ce guide est une très bonne référence, mais ce n'est pas un
matériel didactique d'auto-apprentissage. Nous avons gardé cette partie du livre
compatible avec Scrum Guide.
Page 30
EXIN Agile Scrum
Manuel de Base
Product
Backlog Product Product
Backlog Product
Backlog Backlog
Increment #4
Increment #5 Increment #6 “Done”, and
potentially
Increment #7 releasable
To be applied
to the Product
Feedback Feedback Feedback Feedback
Backlog
Sprint #6
Voir le «Sprint # 6» comme un exemple: chaque Sprint lui-même a un certain nombre de timeboxes :
• Sprint Planning: une courte timebox pour sélectionner les user stories en haut de la Product
Backlog et créer le Sprint Backlog;
• Daily Scrum: un timebox de 15 minutes pour collaborer et coordonner au quotidien;
• Sprint Review: pour démontrer l’incrément au client et recevoir des commentaires;
• Sprint Retrospective: for pour revoir le Sprint et planifier les améliorations.
Page 31
EXIN Agile Scrum
Manuel de Base
Remarque: les «programmeurs» sont appelés «développeurs» dans certaines entreprises. Dans
la littérature Agile, un «développeur» est toute personne qui contribue à la production de la
solution finale. Le terme «développeur» peut désigner des analystes, des concepteurs de
solutions, des concepteurs d'interface utilisateur, des programmeurs, des testeurs, etc.
Le cadre de travail Scrum sera expliqué dans les trois chapitres suivants:
• Les rôles (Scrum Roles), qui explique les trois rôles plus en détail;
• Les évènements (Scrum Events), qui explique toutes les timeboxes définies dans Scrum,
ainsi que le cycle de vie de développement et de gestion du cadre de travail;
• Les artefacts (Scrum Artifacts), qui explique le management produits / concepts requis
dans Scrum (par exemple, surveillance des performances).
Page 32
EXIN Agile Scrum
Manuel de Base
Le terme «Scrum Team» fait référence à tous les membres de l'équipe projet: tous ceux qui sont
internes au projet. Les membres de l'équipe Scrum n'ont généralement qu'un des trois rôles
standard de Scrum: Product Owner, Scrum Master ou Development Team. Il est cependant
possible qu'une seule personne soit affectée à plus d'un des rôles standard, mais cela n'est pas
recommandé.
L'équipe Scrum fait partie de l'organisation exécutante (l'entreprise qui exécute le projet soit
pour elle-même, soit en tant que contractant pour un client externe).
D'autres personnes peuvent également être impliquées dans le projet, mais elles ne sont pas
considérées comme internes au projet et la théorie Scrum n'a pas grand-chose à dire à leur sujet.
Ils doivent cependant avoir un certain nombre de comportements pour permettre à un projet
Scrum de réussir.
Le client (qu’il soit interne ou externe) doit également comprendre et adopter le cadre de travail
Scrum, car la relation entre le client et l'équipe Scrum et la façon dont nous livrons le projet
change complètement lorsque nous passons au le cadre de travail Scrum.
L'équipe Scrum a deux caractéristiques essentielles:
Page 33
EXIN Agile Scrum
Manuel de Base
Ces deux caractéristiques sont conçues pour optimiser la flexibilité, la créativité et la productivité
nécessaires à l'environnement Agile de Scrum.
Chaque projet a besoin d'une personne orientée Business, visant à maximiser la valeur
commerciale du produit et le travail de l'équipe de développement. Dans Scrum, cette
personne est appelée le Product Owner. Les Product Owners, comme les deux autres rôles,
sont issus de l'organisation exécutante plutôt que du côté client. Il peut y avoir une ou
plusieurs personnes du côté client affectées à la gestion du produit, mais elles ne seront
pas appelées Product Owners.
Ce rôle appartient à une seule personne. Il peut y avoir un comité pour assumer les
responsabilités de ce rôle, mais dans un tel cas, il devrait y avoir une personne
représentant ce comité, et nous appelons cette personne le Product Owner.
Ils n'ont pas besoin de connaître le domaine d'application du projet; ils se concentrent sur
les aspects commerciaux. Dans les projets de développement de logiciel, par exemple, les
Product Owners n'ont pas besoin d'être eux-mêmes des développeurs; ils ont juste besoin
d'en savoir un peu plus sur le développement et sur le fonctionnement de l'entreprise.
Le Product Owner est responsable du Product Backlog. Le Product Backlog est une liste
priorisée d'éléments (généralement des user stories) que le client attend du projet; c'est le
principal outil de planification de Scrum. Il est également de la responsabilité du Product
Owner de s'assurer que chaque élément (user story) est facile à comprendre pour l'équipe
Scrum et les autres parties prenantes.
Page 34
EXIN Agile Scrum
Manuel de Base
Les Product Owners doivent communiquer efficacement avec le client (le facteur de succès
inévitable dans chaque méthode de gestion de projet) et utiliser ces informations pour
maintenir le Product Backlog à jour avec tous les changements. Ils mesurent également la
performance du projet, prévoient la date d'achèvement et rendent ces informations
transparentes pour toutes les parties prenantes.
Communications
Exigences
Communications
Les Product Owners comprennent l'entreprise, de sorte qu'ils peuvent classer chaque
élément du Product Backlog en fonction de son retour sur investissement ainsi que de tout
autre facteur qu'ils jugent adapté au point de vue commercial du projet. Les éléments
seront triés en fonction de leur valeur commerciale (ou simplement de la «valeur» en
abrégé), de sorte que plus ils sont élevés dans la liste, plus tôt ils seront développés par
l'équipe de développement.
Toute l’organisation doit respecter les décisions du Product Owner pour que le projet
aboutisse. Personne, pas même le PDG, ne devrait se permettre d'essayer de passer outre
ces décisions. Personne ne doit dire à l'équipe de développement quel article livrer, à
l'exception du Product Owner, qui définit et ordonne les articles. Les décisions d’un
Product Owner peuvent être influencées par d’autres, mais il doit avoir le dernier mot.
Les Product Owners peuvent déléguer certaines de leurs responsabilités (telles que la
préparation de la liste des éléments pour le Product Backlog) à l'équipe de développement,
mais ils en restent responsables.
Page 35
EXIN Agile Scrum
Manuel de Base
Les Scrum Masters sont ceux qui comprennent parfaitement Scrum et aident l'équipe
Scrum en les coachant et en s'assurant que tous les processus Scrum sont correctement
mis en œuvre. Le Scrum Master est un poste de management, dans lequel le Scrum Master
gère les processus Scrum, plutôt que l'équipe Scrum. Il / elle est un leader-serviteur de
l'équipe Scrum.
En plus de s'assurer que l'équipe de développement comprend et utilise correctement
Scrum, le Scrum Master essaie également de lever les obstacles à l'équipe de
développement, facilite leurs événements, les forme et les coache.
Les Scrum Masters aident également les Product Owners, en les aidant ou en les coseillant
pour trouver des techniques, communiquer des informations et faciliter des événements
connexes.
Les responsabilités des Scrum Masters ne se limitent pas à l'équipe Scrum. Ils doivent
également aider les personnes extérieures à l'équipe Scrum à comprendre les interactions
appropriées avec l'équipe Scrum afin de maximiser la valeur commerciale. Le Scrum Master
conduit généralement l'organisation dans ses efforts pour adopter Scrum.
Il est possible qu'une seule personne soit à la fois Scrum Master et membre de l'équipe de
développement, bien que cela ne soit pas recommandé. Être Scrum Master d'un projet
normal peut ne pas occuper 100% du temps d'une personne; dans ce cas, la meilleure
solution est d'affecter cette même personne en tant que Scrum Master dans plus d'un
projet, plutôt que d'en faire un membre de l'équipe de développement.
La plupart des communications internes et externes sur le processus Scrum sont effectuées
par le Scrum Master, alors que la plupart des communications internes et externes sur le
contenu du projet sont réalisés par le Product Owner. Notez que le Scrum Master n'est pas
impliqué dans le contenu (la signification, l'estimation, la valeur commerciale, etc. des user
stories, ou le contenu des incréments).
Page 36
EXIN Agile Scrum
Manuel de Base
Page 37
EXIN Agile Scrum
Manuel de Base
Autres Rôles
Vous pourriez avoir la tentation de donner aux membres de l'équipe de développement
des titres plus spécifiques, tels que concepteur, testeur, inspecteur qualité et chef
d'équipe; mais Scrum ne le permet pas! Tous les membres doivent avoir le même rôle et
le même titre: membre de l'équipe de développement.
Scrum est totalement dépendant de la collaboration et du travail d'équipe. Les membres
de l'équipe de développement doivent être unis et complètement alignés sur l'objectif du
projet. Si vous leur donnez des titres ou des rôles différents, ils se concentreront plutôt
sur leur propre rôle particulier dans le projet, et ils pourraient ne pas accorder
suffisamment d'attention au produit final. Chaque membre de l'équipe de
développement est responsable de toutes les données de sortie créées dans l'équipe de
développement, même si chacun d'eux peut être concentré sur un ensemble spécifique
de tâches.
Porcs et Poulets
Un porc et un poulet traînaient, quand le poulet leur suggère d'ouvrir un restaurant. «Que
devrions-nous servir?» demande le porc avec enthousiasme. Le poulet répond «jambon et
œufs». Le porc n'accepte pas, affirmant que «je serais engagé, alors que tu serais
seulement impliqué».
Toute l'équipe Scrum constitue les porcs dans cette analogie, tandis que le reste des parties
prenantes, y compris le client et le senior management, ne sont que des poulets.
Il est essentiel de différencier les porcs et les poulets dans tout projet, pour augmenter la
productivité. Les poulets n'ont pas d'autorité directe dans l'exécution du projet.
Page 38
EXIN Agile Scrum
Manuel de Base
Évènements Scrum
Sprint
Ces événements sont conçus pour permettre une transparence, une inspection, une
régularité et une adaptation critiques. Nous préférons utiliser ces réunions prédéfinies
avec des objectifs fixes et des durées maximales (timeboxées) plutôt que des réunions
ad hoc, qui nous font généralement perdre du temps.
Timeboxing
Il existe un concept essentiel dans les méthodes Agile, appelé timebox: une durée
maximale prédéfinie. Afin de maximiser la productivité, tous les événements Scrum
doivent être timeboxé.
La durée d'une timebox doit être convenue et fixée. Nous sommes libres de modifier la
durée en fonction des leçons apprises, mais pas fréquemment et jamais en fonction
d'occasions uniques.
Page 39
EXIN Agile Scrum
Manuel de Base
Par exemple, nous ne sommes pas autorisés à dire que "nous avons beaucoup à faire cette
fois-ci, alors augmentons la durée de cette timebox particulière". Ce que nous sommes
autorisés à dire, c'est que «sur la base des dix timeboxes précédentes, nous avons réalisé
que la durée de nos timeboxes n'est pas appropriée et qu'une augmentation de 30% de la
durée pourrait mieux répondre à nos besoins. Alors, augmentons la désormais ».
Communication Osmotique
La co-localisation des membres de l'équipe dans une seule pièce ne consiste pas seulement
à faciliter les conversations, mais aussi à faciliter les communications osmotiques, où les
gens peuvent obtenir des informations utiles en s’écoutant discrètement, et s'impliquer et
s'entraider au besoin.
Il est recommandé de maximiser les communications osmotiques. Cela se fait
principalement par une co-localisation appropriée, mais même les équipes réparties
peuvent en bénéficier en appliquant quelques règles simples; par exemple : chaque fois
que vous souhaitez envoyer un e-mail à un pair, mettez en copie tout le monde.
La co-localisation de l'équipe et la communication osmotique sont obligatoires dans la
famille Crystal des méthodologies Agile, y compris Crystal Clear.
Les méthodes Crystal sont davantage axées sur les personnes, l'interaction, la
communauté, les compétences, les talents et les communications en premier lieu que sur
les processus.
Évènement 1: Le Sprint
Sprint
Planning Daily Sprint Sprint
Scrum Review Retrospective
Sprint
Page 40
EXIN Agile Scrum
Manuel de Base
Sprint est un événement timeboxé, ce qui signifie que nous devons fixer sa durée au
début du projet et ne pas la modifier. Les sprints sont généralement fixés à un mois ou
moins.
Un point important est que nous ne modifions pas les éléments du Sprint Backlog après
que le Sprint est lancé, et les plans sont définis. Le Sprint Goal (discuté plus en détail dans
le Sprint Planning) ne devrait pas non plus changer. Le Product Owner et l'équipe de
développement pourraient essayer de clarifier et renégocier le périmètre au fur et à
mesure que l'on en apprend plus sur les éléments à livrer, mais ils ne changeront pas les
stories du Sprint Backlog. Même la composition de l'équipe de développement ne devrait
pas changer pendant un Sprint. Ces contraintes sont conçues pour permettre de se
concentrer et de faire avancer les choses.
Chaque élément (user story) du Product Backlog doit normalement être développé en un
seul Sprint car c'est beaucoup plus facile à gérer. Le Product Owner et l'équipe de
développement sélectionnent un certain nombre d'éléments en haut du Product Backlog
(cela a déjà été priorisé par le Product Owner) et visent à les faire «Terminer» (100%
achevés). Nous voulons qu'ils soient vraiment «terminés» lorsque le sprint est terminé et
qu'ils créent un incrément. Un incrément est la somme de tous les éléments terminés
créés pendant le Sprint en cours et tous les Sprints précédents.
Il est important de s'entendre sur une définition de «Terminé» (Definition of Done) au
début du projet. Nous n'appellerons pas quelque chose «fait», à moins que cela ne
corresponde à la définition. Un élément terminé à 99,999% n'est pas considéré comme
«terminé», il ne ferait pas partie de l'incrément et il ne serait pas démontré au client lors
de la revue de sprint.
Page 41
EXIN Agile Scrum
Manuel de Base
• Sommes-nous autorisés à faire des heures supplémentaires pour terminer tous les
éléments du Sprint Backlog? Ce n'est pas interdit, mais fortement déconseillé. L'un
des principes Agile est d'avoir un rythme constant, de garder la qualité du produit et
le moral de l'équipe. Alors, ça vaut mieux éviter les heures supplémentaires. Notez
que le Sprint Backlog contient uniquement ce que nous estimons que nous pouvons
faire pendant le Sprint, et nous faisons de notre mieux pour tous les livrer, mais il n'y
a aucune garantie. Tous les projets présentent un niveau élevé d'incertitude, en
particulier les projets informatiques.
• Est-il possible d'avoir un tampon ou un temps de contingence pour les Sprints pour
s'assurer qu’on puisse tout terminer? Encore une fois, vous ne devriez pas vous
inquiéter de tout terminer. Le Sprint est timeboxé et nous ne le prolongeons pas,
même pas d'un jour. Il n'y a pas non plus de tampons à la fin des Sprints. L'équipe
peut préférer n'attribuer qu'un pourcentage de sa capacité (par exemple 80% ou
90%) pour développer les user stories et le reste pour les projets favoris, les spikes
(recherche sur le même projet), etc.
Annulation de Sprints
Même si les éléments du Backlog de chaque Sprint sont figés et ne changent pas, le Product
Owner a le pouvoir d'annuler un Sprint. Cela peut se produire lorsque l'objectif du Sprint
devient obsolète, en raison de changements dans le Product Backlog, les stratégies,
l'approche, etc. Lorsqu'un Sprint est annulé, les éléments qui sont «terminés» seront
Page 42
EXIN Agile Scrum
Manuel de Base
Sprint 0
Il n'y a pas de Sprint 0, et il n'y a aucune différence entre le premier Sprint et le reste des
Sprints. Nous commençons simplement à fournir des incréments potentiellement livrables
dès le démarrage du projet et ne passons pas de temps à concevoir ou à préparer avant
celui-ci.
Eh bien, nous devons passer quelques jours au début, à créer un état initial du Product
Backlog, assez pour définir un ou deux premiers Sprints avant de démarrer les Sprints.
Cependant, cette durée doit être limitée, et nous n'attendons pas que chaque user story soit
définie et estimée, car il ne s'agit pas d'une approche adaptative.
Sprint
La première chose à faire dans chaque Sprint est la planification de Sprint. La planification de
Sprint est une réunion timeboxée, généralement à huit heures de temps pour un Sprint d'un
mois, ou plus courte pour les Sprints de moins d'un mois. Les trois rôles devraient assister à
cette réunion.
L'équipe de développement doit estimer la capacité de travail qu'elle peut fournir en un seul
Sprint. Le Product Owner a déjà classé et ordonné le Product Backlog en fonction de la
valeur des éléments. Le Product Owner s'assure également que les éléments (stories) sont
faciles à comprendre. L'équipe de développement sélectionne ensuite un nombre approprié
d'éléments dans le haut du Product Backlog et les place dans le Sprint Backlog, à livrer dans
le Sprint en cours. La quantité de travail pour chaque élément est estimée par l'équipe de
développement et la quantité totale de travail des éléments de Product Backlog
sélectionnés est proche de la capacité estimée de l'équipe de développement.
Suite à la sélection des éléments, l'équipe Scrum doit rédiger un Sprint Goal. Le Sprint Goal
est un objectif qui doit être atteint dans le Sprint par la mise en œuvre du Product Backlog.
Le Scrum Goal fournit des conseils à l'équipe de développement sur les raisons pour
lesquelles il est en train de construire l'incrément.
Page 43
EXIN Agile Scrum
Manuel de Base
Le Product Backlog doit être ordonné de manière à faciliter la définition des objectifs de
sprint, et la composition de l'objectif est de la responsabilité de toute l'équipe Scrum.
Le contenu du Sprint, qui est composé des éléments sélectionnés dans le Product Backlog,
peut nécessiter des ajouts de détails pendant le Sprint. Ces détails doivent être alignés sur
l'objectif de Sprint et, dans l'éventualité probable de renégociations, ils doivent être
effectués en présence du Product Owner. Le Sprint Goal est également inclus dans le Sprint
Backlog.
Lorsque les éléments à livrer sont sélectionnés et que l'objectif de Sprint est convenu, il est
temps de planifier comment livrer les éléments dans un incrément de produit «terminé» et
de réaliser l'objectif de Sprint. Ceci est la dernière partie du Sprint Backlog. La planification
du Sprint n'est pas nécessairement terminée lors de cette réunion. Avoir un plan détaillé
pour les premiers jours suffit; l'équipe de développement peut préparer des plans détaillés
pour le reste du travail plus tard.
Un plan détaillé est une ventilation d'un élément du Product Backlog en tâches détaillées qui
doivent être effectuées pour créer l'élément. Chaque tâche peut avoir des estimations, des
dépendances et d'autres informations similaires pour rendre le suivi possible.
Le Sprint Backlog sera prêt à la fin de cette réunion, et l'équipe de développement devrait
être en mesure de décrire les éléments qu'elle livrera au cours du Sprint et comment elle le
fera.
Page 44
EXIN Agile Scrum
Manuel de Base
Les notes autocollantes jaunes sur le tableau ci-dessus sont des tâches créées en
décomposant chacune des user stories bleues. Ces tâches définissent ce que l'équipe de
développement fera pour livrer chaque élément, et elles sont responsables de leur
préparation. Certaines tâches sont créées lors de la réunion de planification du Sprint et
d'autres pendant le Sprint.
1. L'objectif du Sprint;
2. Les éléments sélectionnés du Product Backlog, à livrer pendant le Sprint;
3. Un plan détaillé pour transformer les éléments sélectionnés (stories) en incréments
«terminés» du produit et pour réaliser l'objectif du Sprint.
Comme vous pouvez le voir, les trois éléments du Sprint Backlog (l’objectif du Sprint, les
éléments du Product Backlog sélectionnés pour le Sprint et le plan détaillé) sont affichés sur
le tableau exemplaire. Cet exemple de tableau Scrum a également des fonctionnalités
supplémentaires pour suivre les tâches et les éléments dans les colonnes «À faire», «Faire»
et «Fait». La figure suivante montre le même Sprint une fois que le premier élément est
terminé et que les éléments n° 2 et n° 3 sont en cours.
Page 45
EXIN Agile Scrum
Manuel de Base
Vous pouvez également voir que des tâches supplémentaires ont été ajoutées aux
éléments les moins bien classés (éléments n ° 3 à n° 5). C'est ainsi que le plan détaillé du
Sprint évolue au fur et à mesure de sa progression.
Les éléments du Sprint Backlog ont généralement le même ordre qu'ils avaient dans le
Product Backlog, et par conséquent, l'équipe de développement doit d'abord travailler sur
les éléments classés plus haut.
Sprint
Page 46
EXIN Agile Scrum
Manuel de Base
La Daily Scrum meeting doit se tenir au même moment et au même endroit tout au long
du Sprint, afin de minimiser la complexité. C'est juste pour l'équipe de développement; ce
n'est pas une réunion sur l’état d’avancement du projet pour toutes les parties prenantes.
La figure ci-dessus contient le Sprint Burn-Down Chart (les informations de suivi), qui peut
être mis à jour après chaque Daily Scrum meeting. Les graphiques Burn-Down sont abordés
plus en détail dans la section suivante.
Sprint
Planning Daily Sprint Sprint
Scrum Review Retrospective
Sprint
La durée de cette réunion est normalement de quatre heures pour un Sprint d'un mois. Si
les Sprints sont plus courts, la réunion sera proportionnellement plus courte.
À la fin du Sprint, l'équipe Scrum et les autres parties prenantes se réunissent et tiennent
une réunion de quatre heures pour présenter et inspecter les éléments «Terminés»
(l'incrément) du Sprint en cours. La présentation de l'Incrément lors de cette réunion a pour
but de recueillir des commentaires et de relever des demandes de changement dans les plus
brefs délais.
Page 47
EXIN Agile Scrum
Manuel de Base
Nous faisons bon accueil aux changements dans Scrum et les encourageons à être exigés,
car cela augmente la satisfaction du client et créera un produit final qui correspond mieux
aux besoins du client.
Notez que la progression de 99% est juste 0% «Terminé». Il n'est même pas courant de
calculer des valeurs de pourcentage achevé dans les projets Agile, puisque la seule mesure
de la performance est le produit «Terminé». Il n'y a pas de quoi s'inquiéter, car les
éléments du Product Backlog sont généralement petits.
Toute user story qui n'est pas «Terminée» retournera dans le Product Backlog et le
Product Owner l’ordonnera à nouveau. S'il est toujours en haut du Product Backlog, il sera
sélectionné pour être achevé lors du prochain Sprint.
Statut Démo de
du projet l’incrément
Commentaires
Organisation Réalisatrice
Client
Finalement, l’ensemble de l’équipe Scrum collabore sur la révision du Product Backlog sur
la base de la donnée de sortie du Sprint, et les commentaires reçus du client.
Sprint
Page 48
EXIN Agile Scrum
Manuel de Base
Cette réunion dure normalement trois heures pour un Sprint d'un mois. Si le Sprint est
inférieur à un mois, la réunion sera proportionnellement plus courte.
Après la Sprint Review et juste avant la fin du Sprint, une autre réunion aura lieu, visant à
l'amélioration des processus (leçons apprises), qui s'appelle Sprint Retrospective.
Il y a une règle: nous devons toujours chercher des moyens de nous améliorer. Peu importe
à quel point l'amélioration est minime, il devrait y avoir une amélioration. Cette réunion est
une opportunité formelle d'amélioration, même si nous ne limitons pas notre amélioration
aux résultats de cette réunion. Nous examinerons (inspecterons) le Sprint, en ce qui
concerne les personnes, les relations, les processus et les outils, et identifierons les moyens
de les améliorer dans le prochain Sprint.
La principale différence entre cette activité et les cinq évènements Scrum est que les
évènements Scrum sont tous timeboxés, mais le toilettage est une activité continue qui se
produit tout au long du Sprint. Cette activité ne doit pas consommer plus de 10% du temps
de l'équipe de développement.
Temps mort
Les sprints se succèdent, sans aucun relâchement, sur la base du Guide Scrum. Certaines
personnes préfèrent avoir un ou deux jours de congé entre tous les deux Sprints pour se
reposer un peu. Cependant, il y a quelques raisons contre la conception d'un temps mort
officiel dans le cadre de travail:
Artefacts Scrum
Les artefacts Scrum - résultats / produits de nos activités de management - sont conçus
pour accroître la transparence des informations liées à la livraison du projet et pour fournir
des opportunités d'inspection et d'adaptation.
1. Product Backlog: Une liste ordonnée de tout ce qui (généralement des user stories)
pourraient être nécessaires dans le produit final;
Page 49
EXIN Agile Scrum
Manuel de Base
2. Sprint Backlog: les éléments sélectionnés du Product Backlog à livrer via un Sprint,
ainsi que l'objectif du Sprint et les plans pour livrer les éléments et réaliser l'objectif
du Sprint;
3. Incrément: l'ensemble de tous les éléments du product Backlog achevés jusqu'à
présent dans le projet (jusqu'à la fin d'un certain Sprint);
4. Definition of Done (Définition de « Fait » ou « Terminé »): la compréhension
commune de ce que signifie un travail «Fait»;
5. Surveillance de la progression vers un objectif: la mesure du rendement et les
prévisions pour l'ensemble du projet;
6. Surveillance de la progression du sprint: la mesure et la prévision des performances
pour un seul Sprint.
Les éléments 5 et 6 peuvent ressembler davantage à des activités, mais ils sont considérés
comme des artefacts dans le Guide Scrum, et par conséquent, nous les expliquerons dans ce
contexte. Vous pouvez imaginer leurs données de sortie (informations de suivi, graphiques
de Burn-Down, etc.) comme les vrais artefacts et ces deux éléments comme des activités
courantes (comme le Product Backlog grooming) ou comme faisant partie des événements
Scrum (Sprint Review et Daily Scrum).
Page 50
EXIN Agile Scrum
Manuel de Base
Product Backlog Refinement. Il ne doit pas consommer plus de 10% du temps de l'équipe
de développement.
Le Product Backlog est créé sur la base de discussions plutôt que de documentation. Les
éléments du Product Backlog doivent être faciles à comprendre pour les parties prenantes
non techniques.
Parfois, plusieurs équipes Scrum travaillent sur le même projet. Le Product Backlog est une
représentation du périmètre du produit final et par conséquent, il ne devrait y avoir qu'un
seul Product Backlog, quelque soit le nombre d'équipes Scrum qui travaillent sur le projet.
User Stories
Les type d'éléments les plus courants du Product Backlog sont les user stories, qui ont
été discutées dans les premiers chapitres de ce livre: En tant que [rôle], je veux faire
[quelque chose], pour [objectif].
Quelque soit le type d'éléments du Product Backlog que vous utilisez, ils doivent être
non techniques et indépendants. Certaines ressources suggèrent de suivre le guide
INVEST pour les user stories:
Les nouvelles user stories sont généralement grandes et peu claires. Après un certain
temps, nous pouvons passer plus de temps à les toiletter et à les transformer en user
stories plus petites, et enfin en stories claires.
Page 51
EXIN Agile Scrum
Manuel de Base
Thèmes
Les user stories doivent être indépendantes, mais nous avons généralement des groupes
d'éléments associés qui créent une capacité dans la solution. Ces groupes sont appelés
thèmes.
La compréhension des thèmes est utile pour planifier les releases et attribuer des valeurs
commerciales aux user stories individuelles.
Estimation
Story Points
L'estimation traditionnelle est basée sur les heures/homme ou les jours/homme. Une
estimation basée sur le temps crée un engagement de temps pour l'équipe et peut devenir
la raison pour les parties prenantes de remettre en question la performance de l'équipe.
Par conséquent, nous aurons deux problèmes majeurs:
1. L'équipe s’efforce à s'en tenir aux estimations initiales, ce qui pourrait réduire la
qualité. Nous ne devons jamais compromettre la qualité dans les environnements
Agile;
2. L'équipe apprend à ajouter des marges de sécurité à chaque estimation pour
éviter de futurs reproches. Ces contingences, appelées rembourrages (padding),
ne sont pas contrôlées et créent des problèmes. Pour commencer, nous avons le
syndrome de l'étudiant: le travail s'agrandit pour occuper le temps disponible.
Ainsi, nous n'utilisons pas d'unités basées sur le temps pour estimer les user stories. Au lieu
de cela, nous utilisons des unités basées sur l'effort complètement relatif qui ne montrent
que la quantité de travail requise pour une story par rapport à d'autres ou à une simple
story de référence. Cette unité est généralement appelée story point.
Nous commençons par définir une référence pour les story points; une user story simple qui
est claire pour tout le monde, et qui a été plusieurs fois faite auparavant, donc tout le
monde sait exactement combien d'effort il faut pour sa réalisation. Nous attribuons 1 story
point à cette user story, puis la comparons aux autres stories. Si, par exemple, nous pensons
qu'une certaine story nécessite dix fois l'effort de la story de référence, ce sera 10 story
points.
Il y a donc deux caractéristiques principales pour les story points:
Toute unité basée sur l'effort relatif peut être convertie en unités absolues basées sur le
temps, mais cette conversion est entièrement basée sur des statistiques. Par exemple, si
vous pouviez obtenir environ 100 story points dans chacun des Sprints précédents, vous
Page 52
EXIN Agile Scrum
Manuel de Base
pouvez vous attendre à ce que chaque story point prenne un centième de Sprint pour être
fait. Ce type de calcul est appelé mesure de vélocité et sera discuté sous peu.
Le story point de référence n'a pas à être une véritable user story du projet; juste quelque
chose d'assez petit, simple, clair et familier pour tout le monde.
Même si vous essayez d'utiliser une seule référence pour tous les projets de l'entreprise,
l'interprétation des story points dans chaque projet serait différente, car la composition de
l'équipe, les capacités du client et d'autres facteurs environnementaux pourraient être
différents.
Planning Poker
Il est de la responsabilité de l'équipe de développement d'estimer les user stories, mais
comment?
Tout le monde se rassemble et le Product Owner explique la user story pour s'assurer que
tout le monde comprend la story. Ensuite, l'équipe pourrait discuter de l'approche de
développement ou de tout autre aspect technique, et finalement voter.
Le point avec le mécanisme de vote est que si vous commencez par voter un par un,
chaque personne entendra l'opinion de tout le monde avant elle, et par conséquent, leurs
réponses pourraient être biaisées. Nous utilisons le planning poker pour éviter un tel biais.
La figure suivante montre un jeu normal de cartes de planning poker:
0 ½ 1 2 3 5 8 13 20 40 100 ?
Lors de l'utilisation du planning poker, chaque personne choisit une carte de planning
poker qui montre son estimation et la pose face cachée. Lorsque tout le monde sera prêt,
ils montreront les cartes en même temps. Si les valeurs proposées par différentes
personnes sont dans la même plage, la moyenne ou la moyenne des valeurs sera
l'estimation de la story. Cependant, s'il y a une grande différence entre les valeurs
proposées, cela signifie que tout le monde n'a pas la même compréhension dans l'équipe.
Par conséquent, nous en discutons à nouveau, apprenons les uns des autres et votons à
nouveau jusqu'à ce que les valeurs soient dans la même plage.
Y a-t-il une différence entre 40 story points et 41 story points lorsque nous estimons? Bien
sûr que non; c'est pourquoi nous n'avons pas toutes les valeurs dans les cartes de planning
poker. La meilleure option est d'utiliser la série de Fibonacci, dans laquelle chaque nombre
est la somme des deux nombres précédents:
Page 53
EXIN Agile Scrum
Manuel de Base
La différence entre chaque deux nombres est vraiment appropriée. Cependant, les
valeurs elles-mêmes ne sont pas arrondies; alors, on peut les arrondir si on veut:
Une séquence de Fibonacci arrondie: 1, 2, 3, 5, 10, 15, 20, 35, 50, 100
La story de référence n'est pas toujours la plus petite story possible, nous ajoutons
donc également ½. Même dans ce cas, certaines stories peuvent être plus petites
que ½ story point, donc nous ajoutons également 0! Oui, zéro signifie que la story
est trop petite pour être estimée.
D'un autre côté, même 100 story points ou tout autre grand nombre pourraient ne
pas suffire pour certaines des epic user stories au bas du Product Backlog, nous
ajoutons donc également une carte ∞ (infini), qui montre que la story est tout
simplement trop grande pour être estimée et que nous devons la décomposer à un
moment donné.
Cependant, vous pouvez utiliser toute autre séquence bien formée que vous voulez.
Vous n'avez même pas besoin d'utiliser des nombres pour estimer les story points.
Certaines équipes utilisent simplement les tailles de T-shirt:
XXS XS S M L XL XXL
Cependant, vous souhaiterez peut-être leur attribuer des valeurs numériques à un moment
donné. Cela facilite la session d'estimation pour certaines personnes.
Certaines équipes Agile utilisent des applications mobiles pour le planning poker. Ces
applications simples ne sont qu'un jeu de cartes: vous choisissez celle en laquelle vous
croyez et montrez votre téléphone portable lorsque tout le monde est prêt à faire de
même.
Triangulation
Lorsque nous comparons les story points avec la story de référence et que nous leur
attribuons des story points, nous nous attendons à ce qu'elles soient comparables les unes
aux autres. Par exemple, si la story A compte 5 story points et la story B 10 story points,
nous nous attendons à ce que B demande environ deux fois plus d'efforts que A pour
terminer.
Page 54
EXIN Agile Scrum
Manuel de Base
Aucune estimation n'est parfaite et vous pouvez parfois constater que les valeurs estimées
sont incompatibles. Pour en être sûr, vous pouvez faire une double vérification en
comparant des paires de user stories réelles entre elles et en effectuant des ajustements.
Une autre façon d'améliorer les estimations est d'avoir plusieurs user stories de référence
pour différentes tailles et de les utiliser toutes pour estimer chaque user story. Par
exemple, vous pouvez avoir une référence pour 1 story point et une autre pour 10 story
points. Lorsque vous comparez la story cible avec la première référence et que vous dites
que cela demande cinq fois l'effort (5 story points), vous devez également la comparer avec
la deuxième référence et voir si cela prend la moitié de son effort.
Tableau de Triangulation
Une très bonne pratique pour trianguler les estimations consiste à utiliser un tableau avec
des colonnes pour chaque valeur et à placer les cartes des user story (ou pense-bêtes) dans
différentes colonnes pour identifier leurs estimations. Dans ce cas, vous aurez une
comparaison complète entre toutes les stories, et vous pouvez facilement trouver les
incohérences et les corriger.
0 ½ 1 2 3 5 8 13 20 40 100
Item #23
Item #26
Item #28
Item #6
Estimation d’affinité
L'estimation d'affinité est parfois un bon choix. Dans cette pratique, l'équipe commence
par trier les stories en fonction de leur effort relatif requis.
Page 55
EXIN Agile Scrum
Manuel de Base
Lorsqu'ils ont fini de discuter et de trier les éléments, ils les regroupent en lots de
valeurs estimées (story points).
1 SP 5 SP 100 SP
10 SP 40 SP
20 SP
3 SP
Même si l'utilisation de story points est la méthode préférée, certaines équipes Agile
utilisent plutôt des «heures idéales» ou des «jours idéaux», car c'est plus simple à
comprendre et à expliquer. Dans ce cas, ils estiment le temps nécessaire à chaque user story
dans une situation idéale.
Lorsque nous commençons à travailler, nous pouvons mesurer la vélocité et comprendre
combien de temps idéal nous pouvons offrir à chaque Sprint. Par exemple, une équipe de 7
membres travaillant 20 jours dans un Sprint dispose de 140 jours réels dans chaque Sprint
(c'est-à-dire le temps écoulé), alors qu'ils pourraient ne pouvoir livrer que 100 jours idéaux
de story (c'est-à-dire le temps idéal).
Il est préférable d'utiliser des story points, car l'utilisation du temps idéal crée encore des
attentes qui, à leur tour, peuvent conduire à l'attribution de blâme.
Réestimation
Les estimations ne sont pas gravées dans le marbre et nous pouvons les réévaluer pour
corriger nos malentendus précédents ou pour refléter notre nouvelle connaissance accrue
du projet. Cependant, nous devons prendre en considération que toute l'influence de
l'environnement du projet est reflétée dans les calculs de vélocité, nous n'avons donc pas
besoin de les appliquer à l'estimation. Par exemple, si nous comprenons que le client n'est
pas aussi collaboratif que prévu, nous n'avons pas besoin de l'appliquer à l'estimation. La
plupart des erreurs d'estimation sont corrigées par les calculs de vélocité.
Les estimations ne sont qu'une comparaison de l'effort d'un story point à celui de la story
point de référence, et par conséquent, seule notre nouvelle compréhension de la quantité
d'effort relatif peut être la base d'une réestimation.
Dans la plupart des environnements Agile, seules les user stories du Product Backlog sont
réestimées, et dès qu'elles sont déplacées vers le Sprint Backlog ou sont terminées, nous
ne les réestimons plus.
Page 56
EXIN Agile Scrum
Manuel de Base
• Avantages: quels sont les avantages de la solution? Les avantages sont définis en
fonction des stratégies organisationnelles et sont différents dans chaque
entreprise. Cependant, les avantages monétaires sont les plus courants.
• Coût: la quantité de ressources nécessaires pour l’élément ou le coût de
l'élément est également un point très important. Quelque chose peut être utile s'il
est possible de le développer avec un peu d'effort, mais pas si vous avez besoin
d'y consacrer beaucoup de ressources. Dans un environnement Agile, la
composition de l'équipe est fixe, le coût de chaque élément du Product Backlog
sera proportionnel à sa taille (par exemple en story points), et comme la valeur
commerciale peut être une valeur relative, vous pouvez remplacer simplement et
en toute sécurité le coût avec la taille.
• Risques: la disposition des éléments du Product Backlog est l'un des principaux
moyens de gérer les risques dans un projet Scrum
En général, la valeur commerciale est le rapport Bénéfices / coûts, et c'est pourquoi nous
devrions les considérer tous les deux. Il existe de nombreuses mesures combinant les
deux, telles que:
• ROI (retour sur investissement) - Le retour sur investissement pour une période
spécifique montre combien de votre investissement initial serait couvert par les
bénéfices. Par exemple. un ROI de 50% en un an signifie que vous récupérerez la
moitié de votre coût d'investissement en un an, en utilisant le produit. Des valeurs
plus élevées sont souhaitables. Ce critère est le principal et le plus courant pour
les projets Agile.
• VAN (valeur actuelle nette) - La VAN indique le montant total de l'investissement
moins les avantages acquis au cours d'une période donnée, et toutes les valeurs
sont actualisées pour tenir compte de l'inflation et des rentabilités. Par exemple :
une VAN d'un million d'euros en dix ans signifie que vous gagnerez un million
d'euros en plus de tout l'argent que vous aurez dépensé pour le projet, dans dix
ans. Des valeurs plus élevées sont souhaitables.
• Délai de récupération – le délai de récupération est le temps qu'il vous faut pour
gagner autant d'argent avec le produit que vous en avez dépensé pour le projet
pour le créer. Par exemple : un délai de récupération de trois ans signifie que vous
atteindrez le seuil de rentabilité de votre investissement en trois ans. Des valeurs
plus petites sont souhaitables.
• TRI (Taux Interne de rentabilité) - TRI est le taux d'actualisation dans lequel la
VAN devient nulle. Par exemple : si le TRI du projet est de 20% et qu'il existe un
système bancaire avec un taux d'intérêt de 20% ou plus, vous feriez mieux de
placer votre argent dans cette banque au lieu de l'investir dans le projet.
Page 57
EXIN Agile Scrum
Manuel de Base
Afin de calculer les métriques ci-dessus, nous pourrions avoir besoin de calculer d'autres
métriques, qui se concentrent uniquement sur le coût, au lieu d'une combinaison du coût
et des bénéfices. Par exemple:
• CTP (coût total de propriété) - Le CTP est une combinaison du coût de déploiement
et du coût de fonctionnement du produit. Le fait ici est que si vous réduisez le coût
de déploiement, vous risquez de vous retrouver avec un coût de fonctionnement
plus élevé et, par conséquent, vous devez les considérer ensemble avant d'affecter
un budget au déploiement.
Vous pouvez considérer les risques sur tous les calculs traditionnels et obtenir une valeur
commerciale totalement fiable (rapport bénéfices / coûts). Cependant, ce n'est pas facile
de le faire, et par conséquent, certains Product Owners préfèrent maintenir les calculs aussi
simples que possible et appliquent les risques en plus.
Notez que chaque estimation de la valeur commerciale est une estimation approximative
et que vous ne devez pas perdre de temps sur des détails inutiles qui n'apportent aucun
changement significatif.
Release Planning
Le planning des releases est effectué par le Product Owner, en collaboration avec le client et
les autres parties prenantes. Il n'y a pas d'artefact ou d'évènement formel pour le planning
des releases dans le Guide Scrum, et cela doit être fait dans le cadre des activités normales
du Product Owner.
Si vous prévoyez de procéder à la livraison de certaines releases, vous pouvez utiliser l'une
des options suivantes dans l'environnement Scrum:
• Avoir des releases ad hoc de temps en temps. Après tout, chaque Incrément est
potentiellement livrable et le Product Owner ainsi que le client peuvent décider s'ils
veulent publier l'incrément après la Sprint Revew.
• Avoir des releases à des intervalles prédéfinis; par exemple : tous les 3 Sprints. Dans
ce cas, vous souhaiterez peut-être faire une exception pour la première release,
pour vous assurer que l'incrément contient tous les éléments «Must Have». Dès
que vous avez la première release, vous pouvez avoir des releases régulières.
• Avoir des releases définies par les fonctionnalités nécessaires pour chacune d'elles.
Dans ce cas, vous pouvez définir un certain nombre de user stories pour chaque
release et livrez l'incrément dès qu'il possède toutes ces fonctionnalités. Il est
préférable de ne prévoir qu'une ou deux releases à l'avance pour garantir que le
projet reste adaptatif.
Page 58
EXIN Agile Scrum
Manuel de Base
Les éléments du Sprint Backlog sont figés après le Sprint Planning, et l'équipe de
développement se concentrera sur la livraison d'un incrément de «Fait» basé sur ce plan. Les
éléments (user stories) du Sprint Backlog ne peuvent pas être ajoutés ou supprimés pendant
le Sprint. Cependant, il peut être nécessaire d'obtenir plus d'informations, de justifier ou de
clarifier certains éléments pendant le Sprint, ce qui doit être fait en présence du Product
Owner. Le plan détaillé, qui n'est normalement pas terminé à la fin du Sprint Planning,
continuera d'être mis à jour à mesure que le Sprint se poursuit.
Page 59
EXIN Agile Scrum
Manuel de Base
Dans des cas exceptionnels, lorsque tous les éléments sont terminés avant la fin du Sprint,
l'équipe de développement peut choisir l'élément suivant dans le Product Backlog et
commencer à travailler dessus pour la durée restante du Sprint.
Vélocité
La vélocité est le nombre d'unités de travail effectuées dans un certain intervalle. Dans le
cas d'un projet Scrum normal, il s'agit du nombre de story points que l'équipe peut réaliser
pendant un Sprint.
Par exemple:
Dans ce cas, une moyenne simple est d'environ 100 story points. Si nous ignorons les deux
premiers Sprints, la moyenne serait d'environ 110 story points, ce qui est généralement
une meilleure mesure.
Notez que nous ne comptons que les story points des user stories qui sont terminés jusqu'à
la fin du Sprint. Donc, si nous en avons presque terminé avec 10 story points, cela ne serait
pas compté dans la mesure de la vélocité. La story sera réestimée pour l'effort restant et
sera replacée dans le Product Backlog.
1. À titre indicatif, pour estimer la quantité de travail que nous pouvons faire dans
le prochain Sprint. Si, par exemple, la vélocité est de 100 story points, l'équipe
choisira un certain nombre de user stories en haut du Product Backlog valant
environ 100 story points.
2. A titre indicatif, pour estimer la date d'achèvement du projet. Si la vélocité est de
100 story points, par exemple, et les story points restants dans le Product
Backlog valent 1000 story points, on peut estimer qu'il faut environ 10 Sprints
pour terminer le projet si on ne change pas beaucoup le Product Backlog.
Cependant, le Product Owner est responsable de tout prendre en considération
et n'utilise ce calcul que comme guide pour déterminer la date d'achèvement.
Page 60
EXIN Agile Scrum
Manuel de Base
Ainsi, en pratique, la vélocité est une valeur qui convertit les story points relatifs à l'effort
en temps. Un point important ici est que cette mesure prend presque tout en compte.
Par exemple, la quantité de collaboration du client affecte vraiment la quantité de
données de sortie que nous pouvons créer. Nous ne le considérons pas dans l'estimation
des story points (ce ne sont que des unités basées sur l'effort relatif), mais ils sont
contenus dans le calcul de la vélocité. Ainsi, lorsque nous allons choisir des stories pour le
prochain Sprint en utilisant la mesure de la vélocité, le nombre de user stories est
compatible avec la capacité de collaboration du client. Les mesures de vélocité
complètent les estimations en ajoutant tous les facteurs environnementaux.
Les informations sur les Sprints précédents, qui constituent la base du calcul de la
vélocité, sont appelées météo d'hier ou actualités d'hier.
Artefact 3: Incrément
Un incrément est une somme de tous les éléments du Product Backlog terminés à la fin d'un
Sprint. Chaque Incrément doit être «Fait» et doit être livrable. Le Product Owner peut livrer
ou non un certain Incrément, mais celui-ci devrait néanmoins être livrable (expédiable).
La figure suivante montre comment le nombre d’éléments dans le Product Backlog diminue
Sprint par Sprint, à mesure que le nombre de fonctionnalités dans les incréments augmente.
Product
Backlog Product
Backlog Product
Backlog Product
Backlog
Increment #4
Increment #5
Increment #6
Increment #7
Notez que le concept d'incrément est cumulatif: chaque incrément contient également les
fonctionnalités des précédents.
Page 61
EXIN Agile Scrum
Manuel de Base
Lorsque plusieurs équipes Scrum travaillent sur un même projet, il peut ne pas être possible
d'utiliser la même Définition de «Fait» pour toutes les équipes, car elles peuvent travailler
sur des éléments de natures différentes. Dans un tel cas, chaque équipe Scrum définira sa
propre Définition de «Fait» et livrera ses éléments en fonction de cette définition.
Cependant, l'intégration de ces Définitions de «Terminé» devrait être capable de créer un
incrément potentiellement livrable au niveau du projet.
Sauf s'il existe une DoD standardisée dans l'entreprise, la composition d'une DoD relève de
la responsabilité de l'équipe de développement. Ils consulteront également le Product
Owner pour la DoD.
Documentation Agile
L'une des quatre déclarations du manifeste Agile est que nous valorisons des logiciels
opérationnels plus qu'une documentation complète.
C'est la tendance générale Agile pour éviter la documentation inutile. Après tout, de
nombreux documents de projet sont préparés pour être utilisés comme outils de
communication avec le client. Par exemple, une spécification d'exigences traditionnelle est
un document utilisé pour recevoir des commentaires du client. Cependant, nous pouvons
utiliser le logiciel opérationnel pour la collecte de commentaires, qui fonctionne beaucoup
mieux, et par conséquent, nous n'avons pas besoin d'une telle documentation. Sur la base
de notre méthode de livraison, nous n'avons pas de conception ni de planification à l'avance
et nous ne sommes donc pas en mesure de préparer de tels documents. Les exigences, la
conception et presque tout le reste évoluent tout au long du projet.
Outre la documentation basée sur la livraison qui est normalement absente dans les
projets Agile - à moins que nous ne soyons obligés de les avoir- nous avons également
d'autres documents tels que les manuels d'utilisation, la documentation de suivi et de
configuration, etc. Ce type de documentation est toujours nécessaire dans les projets
Agile, et nous les préparons toujours. Cependant, il n'est pas nécessaire de les avoir
comme documents; un manuel d'utilisation, par exemple, peut être une simple vidéo.
Page 62
EXIN Agile Scrum
Manuel de Base
Test Agile
Il existe différents types de tests incorporer dans tout projet informatique, et comme nous
utilisons le développement itératif et incrémentiel, presque tous sont effectués dans le cadre
de Definition of Done; c'est-à-dire que nous n'attendons pas qu'un certain nombre de user
stories soient terminées avant d'exécuter un ensemble de tests.
Parce que nous devons exécuter des tests plus fréquemment, il est plus crucial d'avoir
des tests automatisés et tous les outils nécessaires pour cela. En plus de cela, nous
devrions augmenter la couverture du code autant que possible. La couverture de code,
ou la couverture de code de test, ou la couverture de test, est le pourcentage de code
impliqué dans les tests. Avec une couverture de code plus élevée, il est plus facile de se
fier au code.
D'un autre côté, imaginez les tests d'acceptation des utilisateurs. Est-il possible de
considérer une story comme terminée, si nous n'avons pas les tests d'acceptation des
utilisateurs? La réponse est généralement non. Dans ce cas, le test d'acceptation par
l'utilisateur doit faire partie de la Définition de fait et être exécuté pendant le Sprint.
Lorsque tout le reste est terminé, nous demandons au client de fournir des utilisateurs pour
les tests, alors que nous sommes encore au milieu du Sprint. Lorsque nous réussissons le
test, et tout le reste dans la DoD, nous pouvons appeler le Product Owner pour vérifier la
story et si c'est OK sur la base de la DoD, nous pouvons l'appeler Fait. C'est pourquoi nous
disons que le client doit collaborer dans des projets Agile.
Radiateurs d'information
Tout affichage d'informations de grande taille et très visible peut être appelé un radiateur
d'informations. Il peut s'agir de grands écrans ou de tableaux physiques, bien que la
plupart des personnes impliquées dans des projets Agile préparent des tableaux
physiques.
Les radiateurs d’information sont placés dans le lieu de travail commun, afin que toutes
les personnes concernées puissent voir et comprendre l'état du projet ou tout autre
message proposé par l'écran. Tout passant peut également le voir et le comprendre; cela
augmente la transparence du projet.
Page 63
EXIN Agile Scrum
Manuel de Base
Les schémas de radiateur d'information les plus courants sont expliqués ci-dessous.
L'axe vertical (travail restant) montre la quantité de travail (qui est la somme de toutes les
estimations pour chaque élément du Product Backlog) et l'axe horizontal montre le temps
écoulé depuis le début du projet ou le nombre des Sprints passés.
Page 64
EXIN Agile Scrum
Manuel de Base
Nous ajoutons généralement une autre ligne pour présenter la distribution uniforme du
volume du travail sur le nombre initialement estimé de Sprints. Cette ligne agit comme
notre progression prévue, et sera utilisée pour comparer avec nos valeurs réelles.
Dans le tableau ci-dessus, nous pouvons nous attendre à ce que le projet soit terminé plus tôt que prévu
initialement. Un calcul simple est présenté dans le diagramme suivant:
Page 65
EXIN Agile Scrum
Manuel de Base
Donc, si nous n'avons pas beaucoup de changements dans le Product Backlog, le projet sera
terminé en 8 Sprints (nous sommes maintenant à la fin du sixième Sprint). Notez que toutes
les évaluations sont basées sur:
• Le nombre total de story points ou le volume de stories au lieu du nombre de
stories, car différentes stories nécessitent des efforts différents, et il n'est pas juste
de les compter comme des quantités égales.
• Les user stories Fait. Nous ne considérons pas les story points des stories qui sont
presque terminées mais qui ne sont pas terminées avant la fin du Sprint. 99% de
progression est 0% Fait.
La quantité de travail restante dépend à la fois des stories que nous avons réalisées et des
modifications que nous avons apportées au Product Backlog. Si nous essayons d'afficher un
simple graphique Burn-Down, il peut augmenter au lieu de diminuer dans un certain Sprint
où nous avons ajouté de nombreuses nouvelles stories au Product Backlog. Ce n'est pas
«faux», mais cela ne refléterait pas correctement les performances réelles.
Vous pouvez penser à plusieurs façons de visualiser les modifications du Product Backlog
avec les performances réelles, et l'une d'entre elles consiste à utiliser un type de graphique
généralement appelé Barre de Burn-Down:
600
500
400
300
200
100
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
-100
-200
-300
-400
Page 66
EXIN Agile Scrum
Manuel de Base
La ligne montre la performance réelle et chaque barre montre le volume des stories
restantes.
Le haut des barres change en fonction du volume des stories terminées uniquement, et par
conséquent, il ne fait que diminuer. Nous ajoutons généralement une ligne en haut des
barres pour mieux visualiser les performances réelles.
Les changements de volume des stories restantes dans le Product Backlog sont appliqués au
bas de la barre; ainsi, si nous ajoutons de nouvelles stories au Product Backlog, le bas de la
barre descend et nous aurons une barre plus longue. Si nous supprimons certaines user
stories, le bas de la barre remonte pour faire une barre plus petite.
600
500
400
300
200
100
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
-100
-200
-300
-400
Donc, en supposant que nous n'aurons plus beaucoup de changements dans le Product
Backlog, le projet sera probablement achevé en 15 Sprints.
Page 67
EXIN Agile Scrum
Manuel de Base
900
800
700
600
500
400
300
200
Défini
100
Fait
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
La ligne bleue montre le volume total de stories définies dans le Product Backlog jusqu'à
présent (y compris les éléments Terminés qui sont supprimés du Product Backlog). La ligne
noire montre le volume des stories Faites.
Comme vous pouvez le voir, la ligne bleue montre clairement la quantité de changements
dans le Product Backlog.
900
Défini
800
Fait
700
600
500
400
300
200
100
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Ce calcul est basé sur l'hypothèse que le volume des stories restants dans le Product Backlog ne changera
pas beaucoup.
Page 68
EXIN Agile Scrum
Manuel de Base
1000 1000
En attente Fait
900 900
800 800
700 700
600 600
500 500
400 400
300 300
200 200
100 100
0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
C'est un très bon moyen de démontrer les changements dans le Product Backlog, ainsi
que l'avancement du projet. Le seul inconvénient est qu'il s'agit d'un graphique de Burn-
Up au lieu d'un graphique de Burn-Down plus courant.
Afin de faire un calcul simple de la date d'achèvement, nous pouvons simplement utiliser
les dernières valeurs de Product Backlog comme indiqué dans la figure suivante:
1000 1000
En attente Fait
900 900
800 800
700 700
600 600
500 500
400 400
300 300
200 200
100 100
0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Page 69
EXIN Agile Scrum
Manuel de Base
Sinon, si nous savons que le Product Backlog aura plus de changements, nous pouvons
également prendre en considération:
1000 1000
En attente Fait
900 900
800 800
700 700
600 600
500 500
400 400
300 300
200 200
100 100
0 0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Comme vous le voyez dans la figure ci-dessus, nous n'avons pas inclus les premiers
Sprints dans le dessin de la ligne de tendance du Product Backlog, car nous avons
toujours beaucoup de changements qui ne sont généralement jamais expérimentés
dans le reste des Sprints. Cependant, la façon dont nous le calculons dépend
entièrement du jugement du Product Owner. Et enfin, rappelez-vous que le résultat
n'est toujours qu'un guide, et que le Product Owner n'est pas censé se limiter à un
calcul uniquement mathématique.
Calendrier Niko-niko
Tous les tableaux de bord d'informations ne concernent pas les performances du
produit; ils peuvent également couvrir d'autres aspects, tels que la qualité des
résultats ou même l'humeur et le moral de l'équipe. Les calendriers Niko-niko sont
utilisés pour ce dernier cas:
Ces informations peuvent être utilisées par le Scrum Master pour trouver les causes
profondes de certains problèmes invisibles, ou par toute l'équipe Scrum dans la
rétrospective Sprint pour planifier des améliorations.
Page 70
EXIN Agile Scrum
Manuel de Base
Ces informations sont utilisées pour calculer la probabilité d'atteindre l'objectif du Sprint
et de terminer tous les éléments du Sprint Backlog.
Les informations sur la progression du Sprint peuvent être représentées par un graphique
Burn-Down, et ce graphique peut faire partie du tableau Sprint, que tout le monde peut
voir.
Cette mesure des performances est généralement basée sur les tâches plutôt que sur les
user stories, sauf si vous avez beaucoup de user stories dans chaque Sprint. Cette mesure
plus détaillée donne un graphique Burn-Down plus précis, ce qui est plus utile pour
maîtriser le Sprint.
Nous n'évaluons généralement pas les tâches, mais répartissons plutôt l'effort estimé de la
user story entre elles. Par exemple, si la user story comporte 10 story points et cinq tâches,
nous attribuons à chaque tâche 2 story points en moyenne. C'est ce qu'on appelle une
estimation descendante (top down).
Page 71
EXIN Agile Scrum
Manuel de Base
Cependant, cela pourrait ne pas suffire pour certains projets de très grande envergure ou de
taille moyenne qui doivent être achevés en peu de temps. Dans ce cas, nous pouvons utiliser
une version à l'échelle de Scrum avec plusieurs équipes.
Il n'y a pas de définition unique du modèle Scrum mis à l'échelle et diverses ressources le
définissent différemment. Cependant, l'idée principale est d'avoir une équipe Scrum
virtuelle, composée d'équipes Scrum réelles au lieu de personnes, et de gérer l'équipe
virtuelle comme une vraie équipe (pas dans tous les aspects, cependant). Si nous avons
besoin de plus de personnes dans le projet, nous pouvons également avoir une équipe
virtuelle d'équipes virtuelles.
Rôles
Chaque équipe a sa propre équipe de développement pluridisciplinaire, auto-organisée et
probablement un Scrum Master local. Certaines ressources suggèrent d'avoir des Product
Owners locaux, tandis que d'autres indiquent qu'il ne devrait y avoir qu'un seul Product
Owner pour l'ensemble du projet.
En plus des rôles standard de Scrum, nous pourrions également avoir ces rôles:
• Chief Scrum Master (c'est-à-dire Scrum des Scrums Master): il s'agit d'un Scrum
Master de haut niveau qui aide l'ensemble du projet à suivre le cadre de travail, en
collaboration avec les Scrum Masters locaux. Une personne peut être le Scrum
Master local pour plusieurs équipes, car être Scrum Master n'est pas
nécessairement un travail à plein temps.
• Chief Product Owner: c'est le rôle principal responsable du Product Backlog et qui
collabore avec les Product Owners locaux pour s'acquitter des responsabilités de
Product Owner du projet. Certaines ressources sont contre le fait d'avoir plus d'un
Product Owner, cependant, il semble irréaliste de s'attendre à ce qu'une seule
personne collabore avec des centaines de développeurs (en clarifiant les user
stories, par exemple).
Product Ownership
Peu importe le nombre d'équipes travaillant sur le projet; il s'agit toujours d'un projet, et
par conséquent, nous ne devrions avoir qu'un seul Product Backlog pour le planifier.
La partie délicate est de savoir comment répartir le travail entre plusieurs équipes. Certaines
entreprises le divisent en fonction des processus de développement; par exemple, avoir une
équipe pour la programmation, une autre équipe pour les tests, etc. Ceci n'est pas Agile, car
nous avons encore besoin d'équipes pluridisciplinaires. Un bon moyen de diviser le travail
est d'avoir, par exemple, une équipe pour la fonctionnalité Web, une autre équipe pour
l'application mobile, etc. Ou dans le cas d'une suite bureautique, nous pouvons avoir une
équipe pour le traitement de texte, une équipe pour le tableur, etc.
Certaines entreprises préfèrent avoir des équipes dédiées à une certaine partie du projet,
tandis que d'autres préfèrent le garder dynamique. Ainsi, dans le cas d'une suite
bureautique, nous pourrions préférer être capable de faire travailler toutes les équipes sur
le traitement de texte en un seul Sprint, car il a la priorité la plus élevée.
Comme nous gardons toujours les user stories du Product Backlog indépendantes, nous
pouvons en déduire que le travail des équipes est également indépendant; enfin, dans une
certaine mesure au moins.
Page 72
EXIN Agile Scrum
Manuel de Base
Nous n'imposons pas à toutes les équipes d'utiliser une seule Definition of Done, en raison
des différences potentielles entre leurs produits. Cependant, leurs Definitions of Done
devraient être compatibles, de telle sorte que lorsque nous combinons leurs données de
sortie, un incrément potentiellement livrable sera produit.
Les ambassadeurs sont généralement l'un des membres de l'équipe de développement qui
est le plus impliqué dans la progression actuelle des objectifs du sprint; par conséquent,
nous pouvons avoir des ambassadeurs différents à chaque fois. Certaines équipes sont
habituées à ce que leurs Scrum Masters les représentent dans la Scrum des Scrums, mais
avoir une personne technique impliquée dans le développement est de loin préférable.
Chaque ambassadeur répond aux trois questions standard de daily standup, plus une
supplémentaire:
"Allez-vous mettre quelque chose à la disposition d'une autre équipe?"
Scrum de Scrums
Coordination
Parmi les équipes
Daily Scrums
Coordination
dans les équipes
Chaque équipe agit comme un membre virtuel dans une équipe Scrum virtuelle de niveau
supérieur, et par conséquent, nous ne pouvons pas avoir plus de 9 équipes multiples dans un
modèle Scrum mis à l'échelle à une seule couche. Cependant, nous pouvons ajouter une
nouvelle couche de mise à l'échelle au modèle et avoir jusqu'à 9x9 équipes (un max de 9x9x9
développeurs). Dans ce cas, nous aurions besoin d'avoir plusieurs Scrum des Scrums pour
chaque groupe d'équipes et ensuite un Scrum des Scrums des Scrums pour l'ensemble du
projet. Pour ce dernier cas, un représentant de chaque réunion Scrum des Scrums sera
présent.
Page 73
EXIN Agile Scrum
Manuel de Base
Daily Scrums
Coordination
dans les équipes
Certaines entreprises organisent des Scrum des Scrums tous les jours, tandis que
d'autres préfèrent en avoir une à deux fois par semaine.
Synchronisation
Il est préférable de synchroniser l'événement Scrum avec toutes les équipes, afin que
chaque équipe commence son Sprint en même temps. Leurs données de sorties créeront
un seul incrément à la fin de leur Sprint synchronisé.
• Former des équipes entièrement nouvelles: c'est une bonne option lorsque
l'organisation est mature dans l'utilisation d'Agile. Cependant, les nouvelles
équipes ne sont pas suffisamment familiarisées avec le projet et cette solution
aura une inefficacité à court terme.
• Scission des équipes:
o Utilisation du modèle Split-and- Seed4: les équipes d'origine sont scindées
en plusieurs équipes dans ce modèle, et de nouveaux membres sont ajoutés
pour rendre les nouvelles équipes fonctionnelles et puissantes à nouveau. Le
point positif de ce modèle est que la connaissance du projet est répartie
entre toutes les équipes. L'inconvénient est que nous n'aurions plus l'équipe
d'origine, même si nous pourrions avoir consacré beaucoup d'efforts à son
team building.
o Utilisation du modèle Grow-and-Split: il est similaire au précédent, mais plus
progressif. Dans ce cas, de nouveaux membres sont ajoutés aux équipes
existantes jusqu'à ce qu'elles atteignent leur pleine capacité de 9. Ensuite,
nous scindons chaque équipe en deux, les laissons grandir et
éventuellement finissons par les scinder.
4
Les deux modèles de répartition des équipes expliqués ici sont empruntés à Réussir avec Agile, par Mike Cohn
Page 74
EXIN Agile Scrum
Manuel de Base
• Temps et moyens ou unité fixe - c'est notre type de contrat préféré, qui est
compatible avec la nature adaptative du projet. Dans ce cas, nous pouvons soit
facturer le client en fonction des heures de travail, soit par Sprint (basé sur une
composition d'équipe et une durée fixes pour les Sprints bien sûr).
• Prix fixe - même si la plupart des clients aiment les contrats à prix fixe, les contrats
à contenu fixe et même certains d'entre eux sont tenus par la loi de n'avoir que
des contrats à prix fixe, ce n'est pas vraiment Agile. En effet, tous les contrats à
prix fixe sont basés sur une définition initiale du périmètre, ce qui est prédictif
plutôt qu'adaptatif. Le fait ici est que ce type de contrat est considéré comme
présentant un faible risque et un haut niveau de déterminisme pour les clients,
alors qu'en pratique, il n'en est pas ainsi pour les projets de développement
informatique. Malheureusement, il n'y a pas de vraie solution pour cela. Si vous
voulez être totalement Agile, vous ne pouvez pas avoir de contrat à prix fixe
traditionnel. Certaines équipes Agile ont du mal à rejeter de telles offres et ont
donc des solutions de contournement, mais aucune d'entre elles n'est assez
efficace.
Prérequis Scrum
Alors, comment pouvons-nous être Agile? Certaines personnes s'attendent à ce qu'une
équipe Agile soit suffisante, mais ce n'est pas le cas. Afin d'avoir un véritable
environnement Agile, quatre éléments sont requis:
1. Une équipe Agile - oui, bien sûr, nous devons avoir une véritable équipe Agile.
Dans le cas de Scrum, nous devons avoir:
a. Un Scrum Master expérimenté qui connaît assez bien le cadre de travail,
connaît les problèmes communs et a expérimenté des solutions efficaces
pour les résoudre, et est également un excellent facilitateur avec de hauts
niveaux de compétences interpersonnelles.
b. Un Product Owner expérimenté qui comprend les cycles de vie adaptatifs et
la valeur commerciale, et est disponible pour passer suffisamment de temps
avec le client et l'équipe pour résoudre les problèmes liés aux fonctions et
maximiser la valeur commerciale.
c. Une équipe de développement bien expérimentée, pluridisciplinaire et
auto-organisée qui sait développer de manière incrémentielle et itérative.
2. Un produit qui peut être produit de manière incrémentielle et itérative - tous les
produits n'en sont pas capables; prenons un bâtiment par exemple, pouvez-vous
Page 75
EXIN Agile Scrum
Manuel de Base
imaginer réaliser des incréments pour cela? Sinon, il n'est pas possible d'utiliser
Agile pour le construire. Certains projets liés à l'informatique sont également non
incrémentiels par nature, et par conséquent, vous devriez vraiment les étudier dès
le départ.
3. Une entreprise Agile - avoir une équipe Agile ne suffit pas; toute l'organisation
devrait également le comprendre et le respecter. Si les cadres supérieurs,
directeurs ou chefs de service ne sont pas disposés à responsabiliser l'équipe,
Scrum ne fonctionnera pas correctement.
Malheureusement, il est très courant de nos jours que les clients s'attendent à ce que
l'organisation réalisatrice soit Agile, même s'ils ne sont pas prêts à en accepter eux-mêmes
les conséquences.
Page 76
EXIN Agile Scrum
Manuel de Base
3
Kanban et ScrumBan
Page 77
EXIN Agile Scrum
Manuel de Base
Kanban
Le Kanban est une technique de management très appréciée dans le domaine de
l’industrie depuis longtemps et récemment utilisée dans des projets informatiques.
Cependant, ce que les gens entendent par Kanban dans les environnements informatiques
est généralement le ScrumBan décrit ci-après, au lieu d'un vrai Kanban. Kanban n'est
qu'une technique plutôt qu'un cadre de travail.
Ainsi, nous préparons un tableau Kanban et visualisons les étapes de travail et les éléments
de travail. Les étapes minimales dont nous avons besoin sont à faire, faire et fait. Dans un
projet informatique, vous pouvez visualiser votre Definition of Done au tableau; par
exemple : à faire, spécifier, concevoir, programmer, intégrer, tester, implémenter,
documenter. Il est plus courant de les faire simple comme faire, programmer, tester, fait
ou quelque chose de similaire.
Page 78
EXIN Agile Scrum
Manuel de Base
• À faire
• Conception, le WIP maximum (travail en cours) est de 2
• Programmation, le WIP maximum est de 3
• Test, le WIP maximum est de 4
• Documenter, le WIP maximum est de 3
• Fait
La limite optimale de travail en cours pour chaque étape est généralement déterminée par
essais et erreurs.
À l'exception des première et dernière colonnes, chaque colonne comporte deux sous-
colonnes: une pour les éléments en cours de traitement dans cette colonne et la seconde
pour ceux qui sont terminés à cette étape. Le point important ici est que les éléments des
deux colonnes sont comptés pour le travail en cours (WIP). L'autre point est qu'il s'agit
d'un système pull (tirer) plutôt que le système traditionnel push (pousser). Lorsqu'une
étape est terminée, les gens ne peuvent pas pousser le travail terminé dans la colonne
suivante et libérer de la capacité pour un nouveau travail; au lieu de cela, ils devraient
attendre que la colonne suivante prenne le travail en main. Ainsi, dans l'exemple ci-dessus,
toutes les colonnes sont pleines en fonction de leur WIP défini, et aucune nouvelle action
ne peut être entreprise.
Maintenant, disons que l'équipe de documentation a terminé avec l'élément G, donc ceci
se produit:
Page 79
EXIN Agile Scrum
Manuel de Base
Notez que tous les éléments de la colonne À faire doivent être triés en fonction des
critères qui conviennent à notre environnement, et nous devons essayer de conserver cet
ordre tout au long du processus. Il n'est pas toujours possible de garder l'ordre à chaque
étape, mais nous essayons quand même.
Page 80
EXIN Agile Scrum
Manuel de Base
Certains éléments sont terminés dans chaque colonne après un certain temps et sont
déplacés vers la section "Fait" dans la colonne:
Nous ne pouvons pas avoir de changements sur le tableau pour le moment. Supposons
maintenant que les concepteurs ont également terminé avec l’élément T:
Page 81
EXIN Agile Scrum
Manuel de Base
Alors, que devrait-il se passer maintenant? Les concepteurs n'ont rien d'autre à faire et, en
fonction des règles Kanban, ils ne peuvent pas pousser le travail terminé dans la colonne
suivante, et comme ils n'ont pas de capacité libre, ils ne peuvent pas obtenir un nouvel
élément de la colonne À faire.
Dans ce cas, les concepteurs doivent passer à une autre colonne et aider leurs collègues.
Laquelle des colonnes? Le goulot d'étranglement est maintenant au niveau la colonne
Test.
Cela peut être le cas pour tout le monde dans l'équipe, si, par exemple, les autres colonnes
sont toutes complètes et pleines en termes de capacité, alors leurs membres doivent
également passer à la colonne Test. Même la personne dans la colonne À faire, que vous
pouvez considérer comme un Product Owner, devrait également passer à la colonne Test,
car peu importe les éléments qu'il / elle met dans la colonne, ils ne seront pas encore
développés.
Page 82
EXIN Agile Scrum
Manuel de Base
Ainsi, tout le monde travaille dans la colonne Test jusqu'à ce que le premier élément soit
terminé dans cette colonne et que le déroulement du processus redevienne normal. Puis
tous retournent à leurs colonnes d’origine et se concentrent à nouveau sur leurs
spécialités.
Comme vous pouvez le voir, les gens se concentrent sur la finalisation du produit, plutôt
que sur leurs activités spécialisées, qui sont principalement appliquées par le système pull.
Ce système peut être plus efficace en termes de productivité, même s'il peut sembler
étrange d'arrêter de travailler sur une colonne alors que vous pouvez réellement travailler.
De plus, le fait que nous nous attendons à ce que les gens passent à d'autres domaines de
spécialités dans certaines situations et aider leurs pairs semble inacceptable et improductif
pour certaines personnes. C'est parce qu'ils pensent qu'il faut avoir l'expertise pour faire le
Page 83
EXIN Agile Scrum
Manuel de Base
travail, ce qui est correct en général, mais nous insistons sur le fait que même les
personnes qui ne sont pas des spécialistes des tests peuvent aider les testeurs en
apportant leurs différents points de vue. Prenons par exemple la personne figurant dans la
colonne « À faire », qui est généralement une personne non technique et orientée
Business. Lorsqu'il / elle accède à la colonne Test, il/ elle pourrait se rendre compte qu'ils
peuvent augmenter l'efficacité en achetant des équipements plus puissants. Il/ elle calcule
donc le temps de retour sur investissement, par exemple, et voit que ce n'est que 8 mois,
ce qui est très bien. Ainsi, la personne se tourne vers la personne habilité, pour la
convaincre, afin d’obtenir le budget, pour acheter l'équipement et accélérer les activités
de test. Comme vous pouvez le voir, cette façon de travailler est une question de
rendement maximum et de travail d'équipe.
Vous devez réaliser que ce point de vue est vraiment proche de ce que nous avons dans les
environnements Agile tels que Scrum. Dans Scrum, par exemple, tout le monde est
responsable de tout, la propriété est partagée entre tout le monde, nous n'avons pas de
titres ou de rôles supplémentaires, et par conséquent, nous devons nous entraider autant
que possible. Un testeur dans un environnement Agile n'est pas seulement responsable
des tests, mais également de l'ensemble du produit.
ScrumBan
Il y a beaucoup de malentendus sur l'Agilité. Par exemple, la plupart des gens pensent
qu'ils peuvent simplement diviser leur périmètre prédictif en plus petits morceaux, les
développer pendant des périodes non timeboxées qu'ils appellent Sprints et l'appellent
Scrum, ce qui est totalement faux. Être Agile, c'est être adaptatif, plutôt que d'adopter un
certain ensemble de termes.
• Nous utilisons Scrum, mais nous ne gardons pas les Sprints timeboxés.
• Nous utilisons Scrum, mais nous définissons la durée du Sprint dans le Sprint
Planning.
• Nous utilisons Scrum, mais nous ne laissons pas évoluer le Product Backlog.
• Nous utilisons Scrum, mais nous ne jugeons pas nécessaire d'avoir des Sprint
retrospectives.
Tous ces cas sont appelés ScrumBut au lieu de Scrum. La règle est qu'un ScrumBut n'est
pas un Scrum. Un ScrumBut n'est pas un Scrum, car lorsque vous ne suivez que 95% des
règles Scrum, vous ne pouvez pas vous attendre à 95% de ses bénéfices; attendez juste
environ 20%.
Page 84
EXIN Agile Scrum
Manuel de Base
Il n'est pas faux d'utiliser une méthode non Agile; Les cadres de travail Agile sont de
bonnes solutions pour le développement informatique et certains autres types
d'initiatives, mais ce n'est pas le seul moyen. Vous n'êtes pas obligé de vous limiter à
Scrum, car d'autres cadres de travail Agile pourraient mieux fonctionner pour vous.
Dans certaines situations, Scrum ne semble pas être la meilleure solution possible. Lorsque
la maintenance est le seul objectif ou la partie la plus importante du travail, vous devez
répondre aux corrections de bugs ou ajouter des fonctionnalités urgentes dès que
possible, vous pouvez utiliser ScrumBan au lieu de Scrum.
ScrumBan est une combinaison d'un ScrumBut et d'un Kanban. Même si la plupart des
gens disent que c'est une combinaison de Scrum et de Kanban, ce n'est pas tout à fait
correct. Beaucoup de gens l'appellent simplement Kanban, ce qui n'est pas correct non
plus, car Kanban est une technique plutôt qu'un cadre de travail.
ScrumBan est un cadre de travail très simple: un ScrumBut, qui n'a pas de Sprints, plus un
système Kanban. Nous avons donc un tableau Kanban similaire à celui discuté dans la
section précédente, et un Product Owner avec les rôles et responsabilités standard gérant
la colonne À Faire (Product Backlog). L'équipe de développement sélectionne les éléments
en haut de la colonne À Faire chaque fois qu'ils ont de la capacité libre et les laissent
passer aux colonnes suivantes en fonction des règles Kanban.
Donc, la principale différence entre le type de ScrumBut que nous utilisons ici et un vrai
Scrum est que nous n'avons pas de Sprints. Cependant, quand avons-nous le reste des
événements? Voici comment nous le gérons:
Certains clients et Product Owners pourraient préférer ScrumBan, car il semble plus facile
à utiliser. Cependant, nous avons généralement un taux de productivité plus faible dans ce
Page 85
EXIN Agile Scrum
Manuel de Base
cadre de travail, car nous n'avons pas l'environnement sûr et calme créé par les Sprints.
Par conséquent, vous devez continuer à utiliser Scrum, sauf si vous devez vraiment passer
à ScrumBan.
Page 86
EXIN Agile Scrum
Manuel de Base
Le Voyage Commence
Nous espérons que vous avez trouvé le livre utile. Nous espérons également que vous
serez le prochain à adopter avec succès les cadres de travail Agile. N'oubliez pas que
devenir Agile nécessite un changement de mentalité.
Nous serions heureux de recevoir vos commentaires. Nos adresses e-mail sont
nader@mgmtplaza.com and frank@mgmtplaza.com.
Bonne chance
Page 87