Cosa è o non è una user story
Le user story sono emerse in conseguenza alla necessità di Extreme Programming (XP), Kanban e Scrum di suddividere i progetti in segmenti più piccoli e incrementali per sprint e iterazioni. Differiscono dai casi d'uso in quanto si concentrano sulle unità di lavoro più piccole possibile. I casi d'uso, originariamente introdotti da Ivar Jacobson, possono essere creati da diverse storie basate su un tema comune. Le user story sono semplici narrazioni che delineano un'unica aspettativa o obiettivo dell'utente. È possibile suddividere la creazione di una user story in tre fasi:
- Descrizione della necessità.
- Pianificazione dell'iterazione.
- Implementazione e verifica del completamento della story.
In ogni fase, la user story può essere perfezionata.
Le user story non contengono un elenco di requisiti o istruzioni di codificazione, ma verranno associate a criteri di accettazione o test. L'obiettivo di una user story non è concentrarsi su come costruire, tuttavia. L'attenzione è piuttosto rivolta a chi vuole la funzione, ciò che farà e sul perché è importante. Le user story apportano un elemento umano alle caratteristiche che alla fine compongono l'elenco di cose da fare.
Perché le user story sono importanti?
Più che un elenco di funzioni, le user story portano l'utente nella conversazione. Le user story forniscono un contesto per lo sviluppo del software concentrandosi sul valore che l'utente sperimenterà. Questo processo di base muta il linguaggio di Agile, consentendo ai non sviluppatori di collaborare e partecipare alle conversazioni.
Le user story facilitano una costante finestra di dialogo durante il progetto di sviluppo IT per aiutare in aree quali la pianificazione dell'iterazione/dello sprint e dare priorità al backlog per un rilascio. Al contrario, lo sviluppo Waterfall tradizionale comprende il dialogo all'inizio e alla fine del processo di sviluppo.
Nel suo libro User Story Applied for Agile Software, Mike Cohn di Mountain Goat Software afferma: "Prendiamo decisioni basate sulle informazioni che abbiamo a portata di mano e lo facciamo spesso. Piuttosto che prendere una serie di decisioni all'inizio di un progetto, abbiamo spalmato il processo decisionale sulla durata del progetto. Per farlo, ci assicuriamo di avere un processo che ci faccia ottenere le informazioni il prima e il più spesso possibile. E questo è il punto in cui entrano in gioco le user story."
Chi scrive la user story?
I proprietari dei prodotti, le parti interessate, i product manager e altri membri del team aziendale partecipano alla scrittura delle user story. Molti dicono, tuttavia, che chi scrive è meno importante di chi partecipa alle discussioni e alle conversazioni che danno vita alle user story. Inizia identificando chi utilizzerà la funzione (la persona), che può essere dettagliata in base alle necessità. L'utente può essere definito in termini di funzione o descrizione del lavoro, come studente, frequentatore o responsabile marketing.
Avere una forte comprensione degli utenti finali limita i pregiudizi o le ipotesi degli sviluppatori. Se gli utenti sono disponibili, possono partecipare, ma spesso il team ha progettisti, manager, scrittori e altri che agiscono come proxy dei clienti. I partecipanti possono variare in base all'utilizzo della user story. Per esempio:
- Creazione della user story: i partecipanti possono includere clienti, gestione del prodotto, tecnici e altre parti interessate quali le risorse umane, la contabilità e il reparto vendite.
- Manutenzione della user story: i partecipanti includono la gestione del prodotto o il proprietario del prodotto.
- Applicazione e utilizzo di user story: i partecipanti includono ingegneri/sviluppatori, scrittori tecnici e tester di garanzia della qualità.
Come scrivere user story efficaci
Le user story sono dichiarazioni semplici e utili di una riga su una funzione di valore. Prima di scrivere la user story, conduci sondaggi e interviste con gli utenti per chiedere il loro parere sulla funzionalità necessaria. Inizia scrivendo un percorso cliente, dichiarato in storie incrementali, su cartellini da 3x5 pollici o post-it. Questi cartellini possono essere inseriti immediatamente nella produzione o fornire un contesto per il backlog.
Nel caso della mappatura di user story, puoi visualizzare i post-it lungo una parete della sala conferenze, in modo che l'intero team possa osservarli e lavorare alla pianificazione a lungo termine.
Esistono alcune tecniche da utilizzare per aiutare a scrivere le user story di cui hai bisogno. Una tecnica comune è la struttura Role-Feature-Reason o Benefit (RGB), che si costruisce riempiendo gli spazi vuoti di questa frase:
- In qualità di (utente/persona/cliente), voglio (fare qualcosa), in modo da (beneficio ricevuto).
Aggiungere la domanda RGB è un metodo pionieristico di Ron Jeffries che evidenzia il suo "approccio delle tre C":
- Cartellino: scrivi la risposta alla domanda RGB (descritta sopra) sul cartellino.
- Conversazione: i dettagli limitati sul cartellino sono la base di una promesse soddisfatta dalla secondo C. Durante questa fase, il team discute dei dettagli e stabilisce una definizione di "fatto".
- Conferma: è il risultato del feedback che determina i criteri di test o accettazione. Questo criterio di accettazione è spesso scritto sulla parte posteriore del cartellino e viene utilizzato come checklist iniziale durante i meeting futuri per determinare il completamento.
Introdotto originariamente in un articolo di Bill Wake nel 2003 e diffuso dal libro di Mike Cohn, User Story Applied for Agile Software Development, l'acronimo INVEST rappresenta un metodo di valutazione delle user story. I criteri INVEST sono i seguenti:
- Indipendenza per poter sviluppare in qualsiasi sequenza.
- Capacità di Negoziare la portata della storia da sviluppare.
- Fornire Valore all'utente o all'azienda.
- Possibilità di stimare (Estimate) il completamento.
- Dimensioni abbastanza ridotte (Small) per progettare, codificare e testare in un'unica iterazione.
- Infine, possibilità di essere sottoposto a Test.
Scrivere user story che seguono i metodi RGB e delle tre C sono buoni punti di partenza. Valutare l'efficacia rispetto agli obiettivi INVEST consente di mantenere le story contenute, funzionali e testabili.
Modello di user story di Agile
Pronto a scrivere una user story? Scarica un modello gratuito per aiutarti a definire chiaramente la funzione dalla prospettiva dell'utente finale. Il modello include uno spazio per il tipo di utente, ciò che desidera e perché lo desidera. Creando queste user story brevi di una frase, il team di sviluppo può sviluppare un codice che soddisfi i requisiti della user story. Trova altri modelli Agile utili da scaricare qui.
Scarica il modello di user story di Agile
Come scrivere un caso di test da una user story
Una user story fornisce la guida per lo sviluppo di test o criteri di accettazione. Questa checklist aiuta gli sviluppatori a determinare quando viene eseguita la funzione. Come per tutti gli elementi delle user story, i criteri di accettazione vengono scritti anche dal punto di vista dell'utente. I criteri di test o accettazione delineano gli elementi necessari per eseguire con successo la funzione necessaria.
Questi criteri dovrebbero includere quanto segue:
- I requisiti funzionali e non funzionali previsti
- Scenari negativi della funzionalità
- Linee guida sulle prestazioni
- Flusso di lavoro utente corretto
- Impatto su altre funzionalità
- Esperienza dell'utente
Usa una registrazione della conferenza come caso di test di esempio: un utente invia un modulo che include le proprie informazioni di contatto, sceglie un'opzione di pagamento e viene visualizzata una conferma su schermo e inviata tramite e-mail. Questi dati diventano parte dell'elenco di accettazione. Il caso di test considera anche la facilità e il flusso dell'esperienza utente (UX). Come la user story stessa, la quantità di dettagli testati riflette solo ciò che è necessario per garantire il valore della funzione.
Vantaggi della scrittura di user story efficaci
Per alcuni product manager e membri del team di sviluppo, scrivere user story invece di elenchi di requisiti può sembrare un'aggiunta di ulteriori passaggi al processo Agile complessivo. Tuttavia, un vantaggio chiave delle user story è che dipendono dalla collaborazione e mantengono tutti informati e aggiornati. Le cose possono cambiare durante i processi di sviluppo attraverso la scoperta e il feedback delle parti interessate; di conseguenza, le user story possono cambiare o adattarsi a queste circostanze.
Alcuni dei casi di utilizzo più comuni per i test case includono i seguenti:
- Dimostrare i progressi rapidamente suddividendo il quadro generale in progetti più piccoli.
- Motivare il team e portare avanti il progetto con successi rapidi.
- Mettere al primo posto gli utenti finali e quindi favorire una maggiore accettazione e soddisfazione dell'utente.
- Priorizzare le caratteristiche di alto valore.
- Fornire la piattaforma per tenere conversazioni collaborative che consentono una pianificazione creativa della soluzione.
- Incoraggiare alti livelli di cooperazione che mantengono il team incentrato sui risultati che, a loro volta, creano prodotti generali migliori.
Come scrivere una buona user story
Sembra controintuitivo che lo sviluppo di grandi iniziative software si basi sul successo e sull'efficienza della vecchia scuola. I cartellini semplici da 3x5 di diversi colori e un indicatore permanente forniscono la base per l'autore delle user story, che porta il contesto in un processo di sviluppo Agile. I cartellini di dimensioni ridotte incoraggiano descrizioni di base basate sui vantaggi che vengono scoperti attraverso la collaborazione in team.
Tutte le user story sono uniche e devono essere completate da mappe di user story, diagrammi, storyboard e modellini, ma qui di seguito sono riportate alcune best practice che possono aiutarti a scrivere una user story efficace:
- Conosci il tuo utente: definisci e capisci il tuo utente.
- Includi tutte le parti interessate: assicurati di includere tutte le parti interessate pertinenti nel processo di scrittura della user story. Il team di test può anche essere in grado di perfezionare la storia.
- Concentrati sull'utente: discussioni e conversazioni dal punto di vista dell'utente forniscono un contesto e una definizione di ciò che è considerato "fatto".
- Brevità e semplicità: descrivi solo un pezzo di funzionalità in ogni user story. Se una story è troppo grande da sviluppare in un breve periodo di tempo, suddividila in incrementi più piccoli o crea condizioni specifiche possono essere aggiunte che limitano la funzione. Una buona regola è che una user story dovrebbe essere abbastanza piccola per il team di sviluppo da completarla in un'iterazione.
- Discuti e collabora: discussioni sulle dimensioni del progetto, sul prodotto minimo funzionante (MVP), su chi lo utilizzerà, su ciò che farà e perché aiuteranno nelle decisioni sull'inclusione e sull'ambito.
- Evita dettagli tecnici: non scrivere attività tecniche o "come costruire" dichiarazioni nelle user story, in quanto possono ostacolare creatività e collaborazione. I dettagli tecnici vengono inseriti in seguito nel processo e vengono integrati da sviluppatori, tester e architetti dei sistemi. Un modello può aiutarti a stare lontano dai dettagli tecnici.
- Concentrati sulle 3 W: chi (who) lo utilizzerà, che cos'è (what) e perché (why) è importante.
- Incoraggia la visualizzazione: utilizza qualsiasi metodo (disegni, storia e mappatura dell'impatto, storyboard e modellini o prototipi) sia appropriato per visualizzare il prodotto finito.
- Chiarisci il valore e il vantaggio: assicurati che lo scopo della story sia chiaro, l'urgenza sia indicata e la story sia completa.
Sfide e insidie comuni nella scrittura di user story
Una user story risponde a domande come chi utilizzerà la funzione, cosa farà la funzione e perché la funzione è importante. I dettagli della user story forniscono il contesto aziendale, il valore dell'utente e guidano le discussioni del team. Una sfida comune quando si scrive user story è garantire che sia abbastanza completa da articolare valore, ma abbastanza semplice da consegnare in un breve periodo di tempo, come uno sprint (che generalmente impegna da uno a quattro settimane). La story non dovrebbe contenere dettagli tecnici su come verrà costruita o istruzioni di codifica. Questi dettagli non sono necessari in questo punto dello sviluppo.
Se una storia è troppo grande o troppo ampia, può essere suddivisa in piccole parti.
Ecco un buon esempio:
- Come cliente bancario, voglio essere in grado di vedere il mio saldo, in modo da poter pianificare i pagamenti delle fatture.
La tentazione potrebbe essere di aggiungere più dettagli o altre funzioni, ma si creerà una narrazione troppo lunga. Questo tipo di story sarebbe simile a questa:
- Come sales manager, voglio ottenere report su previsioni, vendite e personale, in modo da poter impostare il mio budget per un intero anno.
Questo esempio contiene più componenti (generare report individuali: previsioni, vendite e personale) che devono essere suddivise in diverse user story più piccole.
Inoltre, assicurati di includere criteri di accettazione, che identificano cosa può essere considerato "fatto". Come indicato sopra, i criteri di accettazione sono spesso scritti in forma di checklist sul retro del cartellino della user story.
Ulteriori sfide durante la scrittura dei criteri di accettazione includono le seguenti:
- La tendenza naturale a concentrarsi su come costruire. Tuttavia, lasciando questo dettaglio tecnico fuori dalla story le conversazioni saranno più significative e porteranno a soluzioni creative, oltre a consentire l'inclusione di utenti e membri del team non tecnici nelle discussioni.
- Dialogo e conversazioni possono richiedere tempo e sono spesso dimenticati, il che limita l'impatto positivo delle user story.
- La mancanza di dati o di una comprensione reale dell'utente o della persona mette in pericolo l'accettazione della funzionalità quando consegnata all'utente finale.
- Limitare le user story in incrementi minimi non è facile, ma troppi dettagli rendono la user story troppo lunga.
- Omettere informazioni essenziali, come i criteri di accettazione o i vantaggi del cliente, può lasciare in sospeso delle domande durante il processo di sviluppo.
Il libro User Story di Mike Cohn Applicato a Agile Software identifica il problema principale nello sviluppo di software con questa semplice osservazione: "I requisiti software sono un problema di comunicazione."
Il linguaggio tecnico associato allo sviluppo software e alle metodologie Agile può essere un ostacolo per molti. Durante il processo di sviluppo, scrivere user story significa incorporare il dialogo e le conversazioni aperte, suddividendo le attività per mantenere il flusso di slancio e definendo in modo chiaro le condizioni per cui un elemento è considerato "fatto". Sviluppare un software è un processo su larga scala che richiede tempo, con molte parti interessate e aspettative elevate. Tuttavia, seguendo alcune semplici linee guida e tecniche vecchio stile, le complessità legate a tale processo diventano più visibili per l'intero team e, alla fine, più fattibili.
Scrivere con maestria le user story con Smartsheet per lo sviluppo di software
Potenzia il rendimento dei tuoi dipendenti con una piattaforma flessibile progettata per soddisfare le esigenze del tuo team e capace di adattarsi alle condizioni mutevoli del lavoro. La piattaforma Smartsheet semplifica la pianificazione, l'acquisizione, la gestione e la creazione di report sul lavoro da qualsiasi luogo, aiutando il tuo team a essere più efficace e ottenere di più. Crea report sulle metriche chiave e ottieni visibilità in tempo reale sul lavoro mentre accade con report di riepilogo, pannelli di controllo e flussi di lavoro automatizzati creati per mantenere il tuo team connesso e informato. Quando i team hanno chiarezza sul lavoro da svolgere, possono ottenere maggiori risultati in meno tempo. Prova Smartsheet gratuitamente, oggi.