Epic, story e task: la gerarchia agile spiegata
Le epiche, le storie e le attività costituiscono tre livelli, ciascuno con tre ruoli. In cosa consistono, quale di essi genera punti storia e perché assegnare punti al livello sbagliato rende la velocità un parametro privo di significato.
La maggior parte degli strumenti agili (Jira, Azure DevOps, Linear) prevede tre livelli: epic, user story e attività. La gerarchia è efficace solo se ciascun livello ha un significato ben definito. Quando i team attribuiscono a tutti e tre lo stesso significato, i livelli perdono la loro funzione e con essi viene meno il segnale di pianificazione.
Epico
Un insieme di attività di portata superiore a quella di uno sprint, solitamente una funzionalità o un’iniziativa che il team realizza nell’arco di diversi sprint. Gli epic vengono misurati in tag di maglietta, settimane o numero di storie (in quante storie si ritiene che si possa suddividere), non direttamente in punti storia. Un valore numerico a livello di epic rappresenta un’aggregazione delle storie sottostanti, non una stima diretta.
Storia
Una porzione di lavoro orientata all’utente che può essere completata in un unico sprint. Le storie sono l’oggetto delle stime effettuate con il Planning Poker e il contesto in cui vengono definiti gli story point. La storia è l’unità di misura della velocità e l’unità di riferimento per «ciò che ci impegniamo a realizzare in questo sprint». Se una storia non rientra in uno sprint, si tratta in realtà di un’epopea: la si suddividerà in storie che possano rientrarvi. La stima per affinità fa emergere tempestivamente tali elementi di dimensioni eccessive, settimane prima della pianificazione dello sprint.
Compito
Un elemento di una story: una voce della checklist, una parte dell’implementazione. Le attività sono solitamente quantificate in ore oppure non vengono quantificate affatto. Assegnare un punteggio alle attività comporta una duplicazione dei punti della story e rende la velocità priva di significato, poiché si finisce per conteggiare due volte lo stesso sforzo, a due livelli di astrazione.
La trappola: puntare su ogni livello
Alcuni flussi di lavoro di Jira incoraggiano l’assegnazione di punti alle attività all’interno delle storie; alcuni strumenti, invece, propendono per l’assegnazione di punti agli epic. Entrambe queste pratiche generano valori di velocità che non corrispondono alla realtà, poiché lo sforzo viene conteggiato a più livelli. Scegliete un unico livello (la storia) e assegnate i punti esclusivamente a quello. Tutto ciò che si trova al di sopra di essa è un’aggregazione e tutto ciò che si trova al di sotto è un dettaglio di implementazione; nessuno dei due dovrebbe influire direttamente sul valore della velocità.
Domande frequenti
Qual è la differenza tra un’epopea, una storia e un compito?
Un “epic” è un’opera di ampia portata che si estende su più sprint; una “storia” è una porzione visibile all’utente che rientra in un singolo sprint; un “compito” è un passo tecnico che contribuisce al completamento di una storia. In linea di massima: un “epic” definisce il “cosa” e il “perché” su larga scala; una “storia” definisce il “cosa” e il “perché” dal punto di vista dell’utente; un “compito” definisce il “come” realizzarlo.
Quando una storia diventa un’epopea?
Quando non è possibile realizzarla in un unico sprint. Se il team non è in grado di portarla a termine dall’inizio alla fine in un unico sprint, si tratta in realtà di un’epica e dovrebbe essere suddivisa in diverse storie che possano essere completate singolarmente. Una storia che continua a diventare sempre più dettagliata è solitamente un’epica sotto mentite spoglie.
È opportuno stimare gli epic in story point?
Non direttamente. Si determini la dimensione degli epic in base alle taglie delle magliette, al numero approssimativo di story o alla somma delle story sottostanti una volta che questi sono stati scomposti. Il numero assegnato a un epic rappresenta un valore aggregato, non una stima. La vera determinazione delle dimensioni avviene a livello di story.
Ai compiti vengono assegnati punti storia?
No. Le attività vengono quantificate in ore oppure non vengono quantificate affatto. Assegnare un punteggio alle attività all’interno di una storia comporta un doppio conteggio dello sforzo (si finisce per conteggiare lo stesso lavoro a due livelli), il che rende la velocità priva di significato. Assegnate un punteggio alla storia, non alle sue attività.
Approfondimenti
- Cosa sono gli story point?: l’unità che si colloca a livello di storia.
- Suddivisione delle user story: cosa fare quando una “story” è in realtà un’epic.
- Velocity: perché considerare lo sforzo su più di un livello compromette la previsione.
- Guida alla stima agile: il cluster completo della stima.
- Planning Poker gratuito per i team agili: valutate le storie insieme al vostro team in tempo reale.