Differenze tra user stories, funzionalità, temi ed epiche in SCRUM

user stories epic themeNelle metodologie Agili e particolarmente in SCRUM ciascuna iterazione o Sprint parte sempre da una fase di approfondimento dei requisiti che vede coinvolti tutti i ruoli chiave del progetto sulla base degli elementi raccolti dal Product Owner interagendo con la committenza.

Questi requisiti sono articolati e descritti nelle user stories in un formato discorsivo (da cui il termine stories). Ad esempio, l’utente potrebbe illustrare come desidera accedere al sistema, il tipo di credenziali, il livello di sicurezza richiesto e le autorizzazioni in lettura e scrittura.

Il formato tipico di una user story è “Come [tipo utente A] voglio poter [compiere un’azione X], per ottenere [un certo risultato Y]”

Nelle user stories l’importante è la chiarezza ed il dettaglio che consentiranno in seguito di comprendere le modalità tecniche per realizzare le funzionalità necessarie.

Le funzionalità (features) costituiscono appunto una descrizione più in chiave tecnica del comportamento del sistema. Sono il livello intermedio tra i bisogni dell’utente e la soluzione progettuale complessiva. Collegano le singole attività portate avanti dal Team Scrum con una terminologia utilizzata abitualmente da figure professionali quali Program Manager, Product Manager e manager in generale.

Inoltre attraverso un insieme di funzionalità siamo in grado di descrivere il progetto con un discreto grado di approfondimento e di illustrarlo anche ad interlocutori che non conoscono approfonditamente le metodologie agili.

In alcune realtà aziendali di dimensioni medio-grandi anche i team di sviluppatori possono essere organizzati intorno a ciascuna feature.

Un tema è un insieme di User Stories correlate tra loro. Una serie di storie che presentano una affinità possono essere raggruppate in uno stesso tema: ad esempio amministrazione, piuttosto che produzione. Si tratta quindi di un modo per catalogare le storie in categorie più o meno grandi.

Infine le epiche rappresentano il livello più alto di espressione del bisogno di un utente.

Sono gli elementi che descrivono la big picture, le macro-componenti del progetto.

Si tratta di storie di grandi o grandissime dimensioni che permettono di comunicare il perimetro di progetto in poche battute ma non consentono di effettuare una stima iniziale dato l’elevato livello di astrazione. Per questo motivo, se possibile, può essere opportuno articolarle in storie più piccole.

Le “Epiche” sono simili ai “Temi” nel senso che possono rappresentare più storie, ma al contrario dei “Temi” una Epica comprende un unico workflow per un utente, perciò è più corretto assimilarla ad una grande storia.

Una importante differenza tra Tema e Epica è che le storie di un’Epica possono essere realizzate in modo indipendente e non essere necessariamente correlate tra loro.

In Scrum, il team di sviluppo ha la responsabilità di stimare l’impegno richiesto da ogni user story. Se una richiesta è vaga o troppo grande per essere realizzata in uno Sprint allora siamo di fronte ad un’epica.

Un’Epica richiede, di solito, più di 12 ore, perciò non è realizzabile in un giorno, come sarebbe preferibile secondo la metodologia Agile-Scrum.
agile project management