Si vous avez lu le guide Scrum, vous êtes probablement tombé sur la notion d’artefacts.
Je vous vois venir, vous allez me dire que « C’est bien beau Scrum et l’agilité, mais il faut limite apprendre un dictionnaire par cœur pour savoir de quoi on parle… »
Les artefacts, encore un terme barbare de plus…
Ce sont des notions importantes du framework Scrum, que vous allez manipuler au quotidien en travaillant en mode agile.
Démystifions ensemble ces notions. Vous allez voir, c’est plus simple que ça en a l’air. 😉
Artefact Scrum : Définition
Les artefacts Scrum sont des éléments du cadre Scrum qui matérialisent le travail à faire ou la valeur à apporter, ainsi que l’avancement du travail réalisé par l’équipe. Il s’agit des éléments qui sont produits par l’équipe.
Les artefacts sont ainsi des outils essentiels pour l’équipe Scrum, qui permettent de faire émerger les 3 valeurs de Scrum : la transparence, l’inspection et l’adaptation.
Il existe trois artefacts tels que décrit dans le guide Scrum :
- Le backlog produit, ou Product backlog en anglais.
- Le backlog de sprint, ou Sprint backlog en anglais.
- L’incrément produit, ou Increment en anglais.
Les 3 artefacts Scrum
Ces trois artefacts Scrum sont créés au cours de chaque sprint, et permettent :
- De planifier le travail à réaliser en cours de sprint.
- D’identifier les objectifs futurs et de prioriser le travail à réaliser en fonction.
- D’organiser les tâches en sprints, selon leurs dépendances, priorités, et valeur ajoutée.
- D’examiner le résultat du travail fourni et de le comparer par rapport aux objectifs produit.
- De livrer un bout fonctionnel du produit final aux utilisateurs, sans attendre la fin du projet.
Chacun des trois artefacts est accompagné d’un engagement, sur lequel l’équipe Scrum s’engage :
- Le backlog produit.
L’engagement associé au product backlog est l’objectif produit, qui définit la vision à long-terme du produit, et permet de prioriser les user stories en prévision des futurs sprints. - Le backlog de sprint.
L’engagement associé au sprint backlog est l’objectif de sprint, qui définit l’objectif du sprint en cours que l’équipe Scrum cherche à atteindre. - L’incrément produit.
L’engagement associé à l’incrément est la definition of done, qui décrit les critères d’acceptation pour un travail de qualité à 100% terminé.
Voyons ensemble ce que sont ces artefacts plus en détails.
Artefact | Description et intérêt de l’artefact | Engagement | But de l’engagement |
---|---|---|---|
Product backlog | Liste ordonnée de user stories (le travail à réaliser) afin d’améliorer le produit. En constante évolution. | Objectif produit | Répondre à la question : Quel est le but du projet ? |
Sprint backlog | Liste du travail à réaliser dans le sprint en cours, pour atteindre l’objectif de sprint. | Objectif de sprint | Indique ce que le sprint devra produire comme incrément de valeur. |
Incrément produit | Morceau du produit final, fonctionnel, utilisable et qui apporte de la valeur. | Definition of done | Définit les critères d’acceptation d’un travail 100% terminé. |
1 ) Product Backlog
Le Product backlog, ou backlog de produit, est une liste ordonnée et en constante évolution du travail à réaliser afin d’améliorer le produit. Il est composé d’items qui peuvent être des fonctionnalités, besoins, améliorations ou correctifs, et est géré par le Product Owner.
Les premiers éléments du product backlog sont généralement plus détaillés que les suivants, et sont classés du plus important au moins important. Il ne cesse d’évoluer dans le temps en fonction des priorisations en fonction de la valeur, et de l’affinage des users stories qui composent le backlog.
Les tâches et fonctionnalités composant le product backlog sont ordonnées, priorisées et affinées au quotidien par le Product Owner.
Il s’agit en effet de la seule source de travail d’une équipe Scrum. On doit donc y retrouver toutes les exigences, fonctionnalités, tâches à réaliser, améliorations à apporter, bugs à corriger, etc.
Le product backlog est en constante évolution, et est enrichi en permanence grâce aux retours des utilisateurs lors de la sprint review.
Engagement du product backlog : L’objectif produit
L’engagement du product backlog est l’objectif produit, qui décrit un état futur du produit à atteindre. Il s’agit d’un objectif long-terme (sur plusieurs sprints) pour l’équipe Scrum.
Cet engagement répond à la question : « Pourquoi ce projet existe t-il et quel est son but ? ».
L’objectif produit permet à l’équipe projet d’avoir une vision à long-terme du travail à réaliser. Cette vision permet de prendre des décisions et de prioriser les fonctionnalités à forte valeur ajoutée.
Il peut évoluer au cours du projet, en fonction de ce qu’apprend l’équipe Scrum.
vu sur collectivegenius.fr
Conseil de lecture
2 ) Sprint Backlog
Le Sprint backlog, ou backlog de sprint, est une prévision de ce qu’on souhaite réaliser durant le sprint, et de l’incrément qu’on aimerait avoir à la fin. Il contient les user stories à réaliser durant le sprint ainsi que le plan à suivre pour atteindre l’objectif de sprint.
On peut voir le sprint backlog comme une image du travail que les développeurs prévoient d’accomplir. A la différence des méthodologies traditionnelles de gestion de projet, le sprint backlog n’est pas décidé par un chef de projet, mais par les développeurs de l’équipe Scrum.
En effet, lors du sprint planning, le product owner et les développeurs se mettent d’accord sur l’objectif de sprint à atteindre. Les développeurs choisissent ensuite le travail à réaliser en accord avec ce sprint goal, à partir du product backlog.
Le sprint backlog contient dans un premier temps les fonctionnalités à corriger, les bugs à corriger et améliorations à apporter. Il peut être enrichi et détaillé tout au long du sprint, tant que les ajouts concernent des tâches à réaliser afin d’atteidnre l’objectif de sprint.
C’est l’équipe Scrum qui décide de la quantité de travail à accomplir. Des éléments du Product backlog sont retirés de celui-ci afin d’être intégrés dans le Sprint backlog.
Engagement du sprint backlog : L’objectif de sprint
L’engagement du Sprint backlog est l’objectif de sprint. Il s’agit de l’unique but du sprint à atteindre. Il permet à l’équipe Scrum de collaborer afin d’apporter de la valeur à chaque sprint.
Le sprint goal permet à l’équipe de « tirer » les user stories permettant d’atteindre l’objectif, du product backlog vers le sprint backlog. C’est un indicateur pour l’équipe, qui permet de rester focus, et de faire des choix sur le travail à réaliser en cours de sprint.
Il permet d’éviter à l’équipe de perdre du temps sur des actions mineures, et améliore ainsi leur performance, et la valeur apportée au client et aux utilisateurs. Il est également consultable par l’ensemble des parties prenantes du projet, ce qui crée de la transparence, et favorise la communication.
L’objectif du sprint ne peut pas être modifié en cours de sprint. Si celui-ci n’a plus d’intérêt, alors le Product Owner devra prendre une décision douloureuse, avec de nombreuses conséquences : l’annulation du sprint en cours.
vu sur collectivegenius.fr
3 ) Incrément Produit
L’incrément produit est un morceau du produit final, qui apporte de la valeur et est utilisable. Il s’ajoute aux incréments précédents afin de former un produit. Plusieurs incréments peuvent être créés durant le sprint.
Un incrément fait l’objet d’une vérification approfondie. Pour qu’il soit accepté, il doit correspondre en tout point à la définition de fini.
Concrètement, l’incrément est la somme des éléments terminés durant le sprint. Il doit être fonctionnel, utilisable, vérifiable, et apporter de la valeur.
Il peut être livré immédiatement aux utilisateurs pour qu’ils puissent s’en servir, ou être cumulé aux incréments des précédents sprints.
La somme de ces incréments représente l’ensemble du travail réalisé jusqu’à maintenant (mais pas forcément livré), et permet de mesurer l’avancement dans l’atteinte du product goal.
A noter qu’un incrément n’est pas forcément livré immédiatement au client. Le Product Owner peut décider de mettre de côté plusieurs incréments afin de livrer une release (une version) au client.
Engagement de l’incrément : La definition of done
L’engagement de l’incrément est la « definition of done », qui définit les critères d’acceptation du travail accompli.
Cette définition de terminé prend la forme d’une checklist qui indique tout ce qu’il faut faire et vérifier pour considérer qu’une tâche est terminée à 100%. En agile, soit c’est terminée à 100%, soit ce n’est pas terminé : il n’y a pas de juste milieu.
Les critères varient en fonction de l’équipe, de sa maturité, des technologies utilisées, du produit à développer, etc.
La definition of done est créé par l’équipe de développement, pour l’équipe de développement. Elle peut évoluer au cours du projet, notamment en rétrospective de sprint. Mais elle ne peut pas évoluer au beau milieu d’un sprint, car cela fausserait tout le travail mis en place par l’équipe.
vu sur collectivegenius.fr
A quoi servent les artefacts Scrum ?
Les artefacts permettent de cadrer le travail à réaliser et de fournir le même niveau d’information à toutes personne impliquée dans le projet. Ils aident également à améliorer la qualité des résultats du projet et le déroulement des sprints.
Concrètement, vous manipulerez au quotidien ces 3 artefacts (product backlog, sprint backlog, incrément) dès lors que vous adopterez Scrum.
Chacun de ces artefacts contient un engagement (commitment), qui permet :
- D’apporter l’information nécessaire à la transparence.
- De rendre possible la mesure de la progression.
- De renforcer l’empirisme cher à l’agilité.
- De renforcer les principes et valeurs Scrum dans l’équipe Scrum et chez les parties prenantes.
3 notions agiles complémentaires
1 ) Comprendre la notion de « definition of done »
La définition de fini, ou definition of done, est une liste de critères de validation établis par l’équipe Scrum, qui permet de s’assurer qu’une user story est bien terminée. Elle assure le maintien de la qualité sur les livraisons de l’équipe.
Pour cela, le travail fourni doit correspondre en tout point à la definition of done.
Elle prend généralement la forme d’une checklist, que l’équipe Scrum va vérifier à chaque fois qu’une fonctionnalité est censée être terminée. Elle permet à chacun une compréhension commune de ce qu’est un travail fini.
Une user story qui ne respecte pas la définition n’est pas considérée comme terminée, les sprint points ne sont donc pas comptabilisés dans la vélocité de l’équipe.
Pour aller + loin : Consultez cet article pour découvrir des exemples de « definition of done », et les étapes à respecter pour créer votre définition avec votre équipe.
2 ) Comprendre la notion de user story
Les user stories, ou récits utilisateurs, sont des phrases simples qui tiennent sur un post-it et qui décrivent une fonctionnalité à développer, du point de vue de l’utilisateur. Elles visent ainsi à assurer que l’on délivre bien de la valeur.
Ces user stories, une fois rédigées, sont placées dans le Product backlog, puis raffinées et priorisées par le Product Owner.
Une fois priorisées, elles sont intégrées à un Sprint backlog. L’équipe Scrum va donc réaliser les fonctionnalités demandées avant la fin du sprint.
Les user stories qui sont terminées selon la définition de fini apparaissent alors dans l’incrément.
3 ) Comprendre la notion de sprint points
Un story point, ou point d’effort, est une unité de mesure utilisée dans les projets agiles, qui permet d’estimer l’effort nécessaire pour accomplir une tâche du backlog produit. Ils sont assignés en fonction de la capacité de l’équipe, la complexité, le risque et l’incertitude du travail.
Les story points sont ainsi utilisés à la place des estimations traditionnelles en jours/homme des méthodologies de gestion de projets traditionnelles.
Une estimation étant par nature imprécise, les agilistes ont souhaité arrêter d’attribuer une durée précise à une tâche. Ils voient ça comme une « prédiction au doigt mouillé », et préfère représenter par un ordre de grandeur l’effort à réaliser pour accomplir quelque chose.
Ces estimations sont réalisées collectivement par l’équipe Scrum durant ce qu’on appelle le planning poker.
Les points sont généralement attribués à partir de la suite de Fibonacci : 1 – 2 – 3 – 5 – 8 – 13 – 21.
Voici la représentation graphique de la suite de Fibonacci
Pour aller + loin : Consultez cet article pour découvrir comment estimer les story points pour vos récits utilisateurs.
Comment mesurer la progression de l’équipe ?
Mesurer l’avancement du travail réalisé par l’équipe Scrum ne s’effectue pas de la même manière que selon les méthodes traditionnelles.
En mode agile, il est impossible de donner un taux d’avancement précis en %. Cela reviendrait à être un devin.
Nous avons donc développé plusieurs outils afin de permettre de mesurer la progression de l’équipe Scrum tout au long du projet :
- La vélocité de l’équipe.
La vélocité permet de déterminer la quantité de travail qu’une équipe peut réaliser durant un sprint. - Le burndown chart.
Le burndown chart est un graphique représentant le travail restant à réaliser durant le sprint. - Le burnup chart.
Le burnup chart est un graphique représentant le travail réalisé depuis le début du projet vs le total des éléments à réaliser.
Pour aller + loin : Il existe d’autres indicateurs de performance agiles permettant de mesurer la performance agile et d’augmenter la prédictibilité de l’équipe. J’analyse ces KPI en détails dans cet article.