Quand on parle de contexte “Agile”, ou d’utilisation d’outils comme Jira, Azuredevops etc… Il y a de grandes chances que les termes Epic, Feature, Theme, User Story et Task soient utilisés dans votre quotidien. Ces termes sont utilisés pour organiser le travail et ne doivent pas devenir une source de confusion, donc allons au plus simple.

Si vous n’avez pas d’expérience et que vous arrivez dans un contexte déjà conséquent, il est important de comprendre facilement et rapidement ces termes, je vous propose cela en moins de 5 minutes à travers des exemples concrets.

Le contexte

Dans notre cas pratique, nous développons une application pour une auto-école(si vous lisez mes articles, ce contexte revient souvent).

Une telle application a besoin de beaucoup de fonctionnalités pour être opérationnelle et compétitive : planification de cours, suivi des progrès des élèves, paiement en ligne, notifications etc … User Story, Epic et Task seront la bienvenue pour nous aider dans notre objectif !

User Story

Une User Story, traduit par “récit utilisateur”(retenez toujours le principe de raconter une histoire) est un élément que l’utilisateur souhaite voir dans l’application. Par exemple, « Enregistrer une réservation pour une leçon de conduite » ou « Visualiser mon historique de leçons”.

Généralement, nous pouvons exprimer le besoin utilisateur en une phrase :” En tant que xxx, je souhaite … afin de … “. Cette structure aide à identifier qui a besoin de la fonctionnalité (le persona), son intention (ce qu’ils veulent faire) et pourquoi ils en ont besoin (le bénéfice global ou le problème à résoudre).

Les user stories alimentent les conversations et les réflexions collectives, c’est pour cela qu’elles favorisent l’empathie, améliorent la compréhension des besoins des utilisateurs, permettant de se poser les bonnes questions(en se projetant à sa place, dans son utilisation), et ainsi développer des produits qui répondent réellement à ces besoins.

Donc, dans notre contexte : “En tant qu’élève, je veux pouvoir réserver une leçon afin de planifier mon apprentissage.

Epic

On peut considérer l’Epic comme une « Grande User Story », une « Grande Histoire » à organiser afin de travailler de rendre le travail plus gérable et mieux organisé (sur plusieurs itérations).

Par exemple, « Gérer les réservations des élèves« , ce besoin englobe diverses fonctionnalités comme :

  • L’enregistrement des réservations
  • La modification des réservations existantes
  • L’annulation des réservations
  • etc…

Si on passe par une Epic, alors il y a des chances que celle ci dure sur plusieurs Sprints.
Le découpage de cette Epic en User Stories permettra de mieux organiser et construire le plan de l’équipe pour accomplir son objectif. Si a besoin de créer une Epic, alors il y a des chances que celle ci dure sur plusieurs Sprints.

Voici les Users Stories liées à l’Epic : Gérer les réservations des élèves

  • En tant qu’élève, je veux pouvoir réserver une leçon afin de planifier mon apprentissage.
  • En tant qu’élève, je veux pouvoir modifier une réservation afin de pouvoir ajuster mon emploi du temps.
  • En tant qu’enseignant, je veux pouvoir voir les réservations des élèves afin de pouvoir planifier mes leçons.
  • En tant qu’administrateur, je veux pouvoir confirmer ou refuser les réservations pour gérer les disponibilités des enseignants.

Il faut garder à l’esprit que pour avoir une Epic de qualité, il faut qu’elle soit terminable avec un minimum de User Stories. L’objectif reste de maximiser la valeur produite, et non de faire une « liste de tâche » très longue.

Si votre Epic comporte trop de tâches pour être accomplie, alors peut être que vous avez confondu « Task » et « User Story » ?

Task

Les « Tasks », ou tâches, représentent les éléments d’un découpage, cela représente les étapes qui doivent être accomplies pour réaliser une User Story.

Cela peut permettre d’apporter une meilleure gestion et suivi du travail à l’équipe.

Par exemple, pour la User Story « En tant qu’élève, je veux pouvoir réserver une leçon afin de planifier mon apprentissage », on pourrait avoir des tâches comme « Créer l’interface de réservation », « Intégrer le système de calendrier » ou « Programmer la fonction de confirmation de réservation ». Les tâches, en tant qu’étapes individuelles et spécifiques, aident l’équipe à comprendre ce qui doit être fait pour compléter une User Story et réaliser la fonctionnalité souhaitée.

Feature

La Feature permet de « catégoriser » les Epics et User Stories, par exemple, si nous avons plusieurs User Stories en rapport avec la Facturation, nous pouvons catégoriser les user stories avec le type feature « Facturer les clients de l’auto école ».

Theme

La frontière est très mince entre Thème et Feature, le thème permet de « labéliser » les User Stories, par exemple, si nous avons plusieurs Epics/User Stories en rapport avec la Facturation, nous pouvons associer les histoires à un thème « Facturation ».
Feature ou Theme, l’objectif reste de mieux réunir les éléments et donc, simplifier la communication et la transparence.

Conclusion

Ces termes ne sont pas seulement des outils pour structurer le travail, mais aussi un langage commun qui favorise la communication et la collaboration au sein de l’équipe. User Story, Epic, Task, Theme ou Feature, l’important est de revenir au « quoi » et « pourquoi », il est donc important que tout le monde dans l’entreprise partage une compréhension commune de ces termes et de ce qu’ils représentent.

Catégorisé: