Briséis - Rubens

Je rencontre souvent des interprétations différentes de l’Epic. Cela varie selon la structure des organisations, ou de leur maturité en la matière.

J’ai pu noté trois principale approches pour la notion d’Epic

Epic comme super user story

Après tous, la traduction d’Epic en français c’est « épopée ». La définition de Larousse pour ce mot est

Long récit poétique d’aventures héroïques où intervient le merveilleux.

Dictionnaire Larousse

Bon, on laissera de côté héroïque et merveilleux, mais cela dit bien « Long récit »

En 2004, dans son livre « User Stories Applied to Agile Software Development »,  Mike Cohn décrit l’Epic comme suit (traduction personnelle) :

«Une User story trop large est parfois qualifiée d’epic».

Mike Cohn

Mike a précisé sa pensée dans cet article que je traduis ici :

« Nous appelons renommons les grandes User story, « Epic » pour communiquer quelque chose à leur propos. J’aime faire le parallèle avec le cinéma. Si je vous dis que ce film est un « film d’action » cela vous donne des idées sur ce que vous pourriez trouver dedans. Il y aura probablement des poursuites, probablement des tirs, etc. De même, qualifier une User story d’Epic peut parfois apporter une signification supplémentaire.

Imaginez que vous me demandez si j’ai eu le temps hier d’écrire la user story à propos du système de rapport mensuel. Je vous réponds, « Oui, mais ce sont surtout des Epic. » Cela vous indique qu’alors je les écrivais, je n’ai pas eu la chance de les détailler. »

On emploie alors ici plus « Epic » comme un adjectif que comme un sujet. De la sémantique, certainement, mais qui est immédiatement parlant pour tous.

Pour mémoire, il s’agit de la définition originale de l’Epic que l’on peut trouver dans le glossaire agile.

Epic comme un type distinct d’élément dans le backlog

À force de vouloir ajouter de la rigueur dans le backlog, certaines équipes commencent à envisager les éléments du backlog comme des spécifications. Elles veulent alors avoir une organisation hiérarchique de ces éléments et des outils qui supportent cette organisation.

L’Epic devient alors un élément à part entière du blacklog, mais est toujours lié aux user stories

Jira d’Atlassian en donne la définition suivante (traduit par mes soins) prenons par exemple cette description de l’épopée d’Atlassian:

Une épopée est un élément de haut niveau qui peut être décomposé en plusieurs user story plus petites. Par exemple, des travaux liés aux performances dans une version. Une Epic peut-être multiprojets si plusieurs projets sont inclus dans le board auquel l’Epic appartient.

Lorsque les Epic sont devenues un concept distinct des user stories, et que les deux ont été considérées comme des exigences, les utilisateurs ont cherché à les différencier des user stories. Certaines équipes ont créé des règles sur leur relation et notamment sur le fait qu’une super story puisse ou non exister sans une Epic associée.

Avoir une telle hiérarchie aide les équipes à conserver les idées à un niveau d’abstraction suffisamment haut jusqu’à ce qu’elles soient prêtes à être implémentées, et de garde une vision cohérente globale. Mais cela accroit le temps et les ressources nécessaires pour gérer cette organisation.

Epic comme un projet (mais chuuut)

Scaled Agile Framework (SAFe) se différencie des deux premières approches en poussant le concept de hiérarchie à un tout nouveau niveau.

Au lieu d’avoir d’un backlog contenant des éléments de tailles différentes, vous avez team backlog avec des user stories, un program backlog des fonctionnalités (features) et portfolio backlog avec des epics.

Dans ce cas, ce ne sont plus les super user stories que nous avons présentées au début, mais des « conteneurs d’initiatives »:

Une Epic est un conteneur pour une initiative de développement d’une solution suffisamment importante pour nécessiter une phase d’analyses, la définition d’un MVP (minimum viable produc), et une approbation financière avant implémentation.

Traduction: C’est quelque chose qui ressemble presque, mais pas tout à fait, à un projet.

Cette escalade du concept d’Epic a vraiment ajouté de la confusion, car maintenant, lorsque vous dites « Epic », vous devez comprendre s’il s’agit de la définition SAFe ou les autres (qui se rapprochent plus de la définition d’une « feature » dans SAFe).

Comment pouvons-nous clarifier un peu cette confusion ?

La chose la plus simple à faire pour que cette définition soit la même entre toutes vos équipes est de définir ce que cela veut dire POUR VOUS. Et de toujours veiller à utiliser l’Epic avec cette signification.

Une approche encore meilleure consiste à revenir à l’idée d’origine de la user story. Concentrez-vous à parler des éléments de votre backlog et moins de temps à les classer et à les documenter. Ce faisant, vous constaterez que vous n’avez peut-être même pas besoin de notion d’Epic.

Concentrez-vous sur le résultat que vous essayez d’obtenir de vos efforts plutôt que sur la façon dont vos résultats sont représentés.

Rappelez-vous deux choses :

  1.  » Le véritable objectif des user stories est de partager la compréhension « , Jeff Patton tiré de son ouvrage « User Story Mapping ».
  2. VALEUR = POURQUOI / COMMENT, donc focalisez-vous plus sur le POURQUOI que sur le COMMENT pour maximiser votre VALEUR.

L’Epic a un sens en terme métier, mais peu pour les développeurs qui doivent plus se concentrer les user stories et leurs tâches associées.

Epic ou user stories restent des stories quelque soient leurs tailles et elles n’ont de sens que si elles sont accompagnées de conversations entre le métier et l’équipe de réalisation.

La bonne taille pour une user story est la taille qui facilite la conversation. Le nom que vous lui donnez ensuite n’a pas d’importance.

Aller, A+

Article original traduit et augmenté : https://www.agilealliance.org/epic-confusion/

0 réponses

Laisser un commentaire

Participez-vous à la discussion?
N'hésitez pas à contribuer!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.