SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
home mb188
Home Apéritif Technologique Formazione Eventi Download SemanticPortal Community Forum
Agile in action
I parte: User story mapping
Abstract:Cominciamo, con questo numero, una lunga serie che affronterà diverse tematiche legate allo sviluppo con metodologie
agili, focalizzandosi soprattutto su temi pratici: agile in azione, insomma. Mese dopo mese, verranno affrontati numerosi argomenti,
ma, per partire, occorreva concentrarsi ovviamente sulle storie utente.
tags: Agile storie utente user storymapping Product Owner requisiti
Numerovisite:69 di
EmilianoSoldi
Le "storie utente"
Come molti di voi sapranno, la user story nel mondo agile di sviluppo software, rappresenta una caratteristica o
requisito di prodotto, che vuole soddisfare una specifica esigenza dell’utente.
Nel definire le storie utente, il linguaggio e il formato utilizzati devono dare una chiara evidenza del valore di
business che si intende raccogliere attraverso quella funzionalità e, possibilmente, sottolineare chi è l’utente
coinvolto e le azioni che lo stesso dovrà svolgere, per raggiungere quel risultato.
Le user stories nascono come strumento di dialogo e collaborazione tra due mondi spesso lontani e
contrapposti: chi concepisce il prodotto (business) e chi lo deve realizzare (sviluppo). Si tratta di mondi il cui
linguaggio può differire anche in maniera estrema.
Figura 1 - Un adeguato linguaggio è l’imperativo per mettere in comunicazione chi concepisce il
prodotto e chi lo deve realizzare.
L’importanza di un linguaggio comune
La comunicazione e il linguaggio che si utilizzano assumono quindi grande importanza per mettere in relazione
business e sviluppo.
Il business è focalizzato sulla visione generale di prodotto. Presidia i movimenti del mercato, ne percepisce gli
andamenti e le tendenze, i segnali deboli, gli orientamenti. Nel descrivere la soluzione, le necessità, evita spesso
di entrare troppo nel dettaglio e ragiona in maniera astratta, per schemi.
Chi sviluppa il prodotto, invece, è abituato a studiarne la fattibilità, a generare stime e a ragionare in maniera
estremamente logica. Lavora per processi iterativi e incrementali; il dettaglio tecnico è parte consistente del
suo quotidiano e, il più delle volte, ne influenza anche il modo di comunicare.
Le differenze di comunicazione di questi due mondi, derivanti dai suddetti differenti approcci, hanno conseguenze
Mi piace 0
SOMMARIO
Le "storie utente"
Come è fatta una user story
User StoryMapping
Conclusioni
NELLO STESSO NUMERO
AgileInAction
EnterpriseData
OracleCoherence-3
AgileGrammelot
VersoAgile-1
NELLASTESSASERIE
AgileInAction-1
UTILS
Stampa questa pagina
Segnala errori
Permalink
ARCHIVIO
Settembre 2013
LuglioAgosto
Cerca
MokaByte 188 - Ottobre 2013
converted by Web2PDFConvert.com
negative sul prodotto che difficilmente riuscirà ad avere il successo sperato.
User story, una soluzione collaborativa
Le storie utente nascono proprio come soluzione a questa difficoltà comunicativa, e servono a tradurre in un
linguaggio semplice e comprensibile i requisiti e le funzionalità richieste.
Una user story, quindi, deve focalizzarsi sul valore di business che la stessa vuole perseguire, non richiamando
alcun dettaglio tecnico, se non per i requisiti non funzionali (NFR, "non functional requirements"), ma questo è
un altro discorso.
L’aspetto implementativo di quella funzionalità, infatti, sarà di esclusivo dominio del team di sviluppo che, in
completa autonomia e organizzazione, ne analizzerà le attività tecniche necessarie e si prodigherà nella loro
esecuzione, puntando a restituire il valore richiesto.
Come è fatta una user story
Bene, vediamo un semplice esempio di user story. In pratica si tratta di "mettersi nei panni" dell’utente e dichiarare
che cosa di deve poter fare in quanto utente e con quale risultato positivo (il "valore").
Come utente web della banca
Devo poter fare un bonifico
Così da pagare l’affitto, anche se la banca è chiusa
Un requisito espresso in questo modo, cioè dal punto di vista dell’utente (user story), mostra senza possibilità
d’errore o malinteso il vero valore di business che si vuole trarne ("poter fare un trasferimento di denaro anche a
banca chiusa"), ne esplicita la tipologia dell’utente coinvolto ("utente web della bancaW), circoscrivendo al tempo
stesso, la funzionalità a un dominio preciso ("pagamento tramite bonifico bancario").
Scomporre le user stories
Il grado di scomposizione della user story è un altro elemento fondamentale. Uno dei punti di forza delle
discipline agili, e più precisamente di quelle di sviluppo iterativo (p.e., XP e Scrum), sta appunto nella
pianificazione e analisi iterativa e incrementale del requisito utente.
Una tecnica di riferimento è chiamata Rolling Wave Planning (in italiano traducibile con un improbabile
"pianificazione a finestra mobile") che, nel project management tradizionale, prevede un’iniziale pianificazione di
alto livello basata sulle prime generiche ipotesi fatte in presenza di visibilità e certezza limitate, proprie di progetti
ad alto rischio o complessità. Con il passare del tempo e con l’aumentare della conoscenza di progetto, si potrà
procedere alla pianificazione per ondate successive (sono queste le "wave" del nome), i cui dettagli saranno
via via più chiari e facilmente analizzabili e indirizzabili.
Questa tecnica, applicata al mondo agile, prevede anch’essa una raccolta di alto livello delle necessità utente
nello stadio iniziale del progetto, al fine di procedere ad una prima stima dei costi, dei rischi e della pianificazione
delle macro-attività. Successivamente, in modalità iterativa, si procederà alla scomposizione fine dei requisiti che
verranno da lì a breve messi in sviluppo.
Tante funzioni poco usate
L’uso della tecnica suddetta è messo in atto per scongiurare quanto lo Standish Group fotografa in uno dei suoi
studi più interessanti: i sistemi hanno un elevato numero di funzion, ma solo poche di esse vengono utilizzate
realmente. Accade infatti che il 64%delle funzionalità di un sistema siano raramente o mai utilizzate.
converted by Web2PDFConvert.com
Figura 2 - Percentuale di utilizzo delle diverse funzionalità di un sistema. La gran parte delle funzioni è
usata raramente, se non addirittura mai.
Questo spreco enorme di risorse è proprio da addebitarsi a problemi di comunicazione, malintesi, errate
aspettative, eccessiva analisi di dettaglio in relazione ai tempi di effettiva realizzazione, mancanza di feedback o di
confronto con il business.
Ed è proprio da qui che vorrei partire con i consigli per mettere in atto le metodologie agili, scrivendo di una
tecnica tanto eccezionale quanto semplice e immediata, che vede tutti gli attori coinvolti nella prima fase di
scoperta e identificazione dei requisiti di prodotto, altrimenti detti user stories. La tecnica si chiama User Story
Mapping.
User Story Mapping
La User Story Mapping è una tecnica collaborativa, che richiede un po’ di preparazione e di materiali, ma che è
sostanzialmente semplice e, soprattutto, molto "remunerativa" in termini di focalizzazione del progetto. È
necessario che disponiate di una stanza con un muro piuttosto ampio, post-it di varie dimensioni, pennarelloni,
scotch di carta e, perche’ no, una whiteboard attorno alla quale ragionare e un proiettore dove mostrare
eventuale materiale a corredo.
Gli invitati alla sessione dovranno essere obbligatoriamente
chi ha concepito il prodotto (ProductOwner);
eventuali altri stakeholder con interesse o conoscenza specifica del dominio in analisi;
chi dovrà sviluppare concretamente sviluppare il prodotto (team di sviluppo).
Ora avete tutti gli ingredienti necessari. Potete inoltrare gli inviti alla riunione, che potrà durare dalle 4 alle 8 ore,
in relazione alla complessità del prodotto sotto esame.
Primi passi
La riunione si apre con il rappresentate del business, quello che in Scrum si chiama ProductOwner, che illustra
brevemente i punti salienti del prodotto, le sue caratteristiche fondanti e ne illustra le motivazioni di business
che hanno spinto l’azienda a finanziare tale progetto. Illustra, per usare un termine oramai comune, la vision.
A questo punto il ProductOwner e il team di sviluppo cominciano ad analizzare le principali funzionalità e
caratteristiche del prodotto, non entrando in questa prima fase, in alcun dettaglio funzionale.
Individuare le user stories
Ipotizziamo che il prodotto da sviluppare sia un client di posta elettronica. Utilizzerò quello che in rete sembra
essere l’esempio che per questa tecnica è oggi più in voga, in modo da permettere eventuali parallelismi con altre
fonti.
Le principali funzionalità potrebbero essere le seguenti: Organizza Email, Gestione Email, Gestione
Calendario e Gestione Contatti.
Figura 3 - Le principali funzionalità individuate per un ipotetico client di posta elettronica.
Scrivete quelle funzionalità su post-it e attaccateli nella parte alta del muro. Sono queste le funzionalità
principali su cui concentrarsi e dalle quali partire per la successiva fase.
Approfondire le funzionalità
A questo punto, il ProductOwner e il team di sviluppo cominciano a ragionare su quali possano essere le attivit
à o task, che un utente può voler svolgere per ognuna di quelle macro-aree. Comporre un’email, creare un
appuntamento, eliminare un contatto, sono ottimi esempi di funzionalità, che in questa fase del processo
devono, però, rimanere ancora di alto livello.
Ogni proposta da parte delle persone coinvolte, verrà presa in considerazione e, se ritenuta valida in relazione al
prodotto e al valore di business atteso, scritta su un post-it e attaccata nella fila corrispondente.
Ecco che, focalizzandoci volutamente solo sul ramo Organizza Email, l’evoluzione potrebbe essere quella
rappresentata in figura 4.
converted by Web2PDFConvert.com
Figura 4 - Lo sviluppo della funzione Organizza Email, su un ulteriore livello.
Scomporre ogni rampo in ulteriori sotto-funzionalità
Ottimo. Ora siamo pronti al passo successivo di scomposizione di ogni ramo in sotto-funzionalità. Il processo, su
quel ramo, potrebbe portarvi ad avere la situazione di figura 5.
Figura 5 - Ogni ramo viene ulteriormente scomposto in sotto-funzionalità.
Questa è la fase dove non solo si catturano le principali funzionalità per ogni sotto-ramo (vedi post-it arancioni),
ma si comincia anche a rendersi conto di come alcune funzionalità siano veramente importanti, basilari,
irrinunciabili, mentre altre potrebbero essere pensate come accessorie o secondarie.
Sarà responsabilità del ProductOwner mettere queste funzionalità, e i relativi post-it, in ordine di importanza
rispetto al loro valore di business, partendo dall’alto per le funzionalità con maggior valore e procedendo in
scala verso il basso con le restanti.
Nel nostro esempio, per il ramo Composizione Email, questo porterà ad avere la funzionalità di creazione e
spedizione di una email base, con testo standard, come prima voce e la spedizione di messaggi in formato
RTF, che preveda quindi le principali formattazioni di carattere e paragrafo, con priorità inferiore.
Muovendosi oltre con la definizione delle caratteristiche, sempre sul ramo Organizza Email, ci potremmo trovare
converted by Web2PDFConvert.com
di fronte alla situazione di figura 6.
Figura 6 - La definizione delle caratteristiche viene ulteriormente approfondita, anche in riferimento
alle successive release previste per il prodotto.
Procedendo a ragionare sulle priorità assegnate alle singole funzionalità di prodotto e alla loro sequenza, è
d’obbligo introdurre il concetto di release di prodotto. Le funzionalità più in alto, per forza di cose, dovranno
essere incluse nella prima release, le altre nelle successive.
In questo momento il ProductOwner, con l’aiuto del team e di uno scotch di carta di buona qualità, può
circoscrivere e raggruppare orizzontalmente attraverso delle linee, le funzionalità per release come riportato in
figura.
Giungere a dei risultati
Bene, abbiamo quasi terminato. Il ProductOwner effettuerà a questo punto diverse fotografie nitide della parete
(non vorrete mica perdervi ore di lavoro?), staccherà i post-it in maniera ordinata e riporterà il testo di ognuno
in un foglio di calcolo, facendo attenzione a mantenere inalterate le priorità e l’appartenenza ai relativi rami.
Quello che avrete appena creato, sarà la prima versione, sebbene ancora embrionale, del Product Backlog.
User stories in formato "standard"
L’ultimo passo per Team e ProductOwner sarà quello di riscrivere le storie nel formato standard vale a dire
quello in cui "Come utente… voglio poter fare… in modo da…" e assicurarsi che ogni user story soddisfi una serie
di criteri, tutti facilmente richiamabili alla mente tramite l’acronimo INVEST.
Ogni user story deve infatti essere:
Independent (preferibilmente non dipendente da o accoppiata con altre storie)
Negotiable (negoziabile in termini di dettaglio tecnico e comportamento)
Valuable (restituire valore all’utilizzatore)
Estimable (essere stimabile dal team)
Sized-properly / Small (di dimensioni contenute per poter essere sviluppata insieme ad alcune altre
nell’iterazione)
Testable (essere testabile)
Conclusioni
Abbiamo visto in questo primo articolo che cosa sono le user stories e come individuarle, proponendo una tecnica
semplice ma efficace per mapparle nel dettaglio e assegnare loro una priorità: il punto cruciale sta nel ricordarsi
sempre che esse devono restituire un valore per l’utente, e che devono essere aderenti ai principi dell’acronimo I
N V E S T.
converted by Web2PDFConvert.com
e-mail
Nel prossimo articolo, continueremo ad affrontare un altro aspetto pratico del mondo Agile, piuttosto complesso
ma altrettanto importante: le stime.
Emiliano Soldi
Emiliano Soldi è un professionista capace e appassionato. Ha alle spalle una solida esperienza
principalmente nella gestione di progetti ITC attraverso l'uso di entrambi gli approcci, tradizionale e
agile maturata nel corso dei vent’anni di attività e consolidata attraverso il conseguimento di diverse
certificazioni professionali (PMP, PMI-ACP, CSP, CSM). ÈAgile Practice Leader e Coach di Inspearit
Italy, dove si occupa di facilitare le organizzazioni nella transizione al modelloAgile/Lean per lo
sviluppo del prodotto e la gestione dei progetti. Èinoltre responsabile dell'evoluzione e del
miglioramento della praticaAgile all'interno della sua azienda. Trainer entusiasta, con spiccate doti
comunicative, ha formato nel tempo alcune centinaia di persone. Èstato socio fondatore di Diesys
Informatica dove si è occupato, tra le altre cose, dei principali aspetti di management aziendale.
Membro attivo in diverse comunità di gestione progetti (PMI-NIC, ScrumAlliance,Agile Lean Europe,
ItalianAgile Movement) ha contribuito, in qualità di speaker, a diversi convegni, conferenze e seminari
(PMI-NIC, PMI Rome, IPMA, IIBA-NYC, Better SWconf, LUISS).
Chi siamo Contattaci MokaByte èunmarchioregistratodaMokaBytes.r.l. - PartitaIVA:05039150486, CF:05039150486
Attenzione: http://www2.mokabyte.it:80/cms/p/mb188/AgileInAction-1 non è raggiungibile.
Plug-in sociale di Facebook
Aggiungi un commento...
converted by Web2PDFConvert.com

Mais conteúdo relacionado

Semelhante a Agile User story mapping (Mokabyte)

Web usability - 2 | WebMaster & WebDesigner
Web usability - 2 | WebMaster & WebDesignerWeb usability - 2 | WebMaster & WebDesigner
Web usability - 2 | WebMaster & WebDesignerMatteo Magni
 
Lean Portfolio Management
Lean Portfolio ManagementLean Portfolio Management
Lean Portfolio ManagementEmiliano Soldi
 
Web Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesignerWeb Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesignerMatteo Magni
 
Progetto di Ergonomia Cognitiva: "Decathlon +Plus"
Progetto di Ergonomia Cognitiva: "Decathlon +Plus"Progetto di Ergonomia Cognitiva: "Decathlon +Plus"
Progetto di Ergonomia Cognitiva: "Decathlon +Plus"Jessica Forlani
 
Industria 4.0 e gestione dei contenuti
Industria 4.0 e gestione dei contenutiIndustria 4.0 e gestione dei contenuti
Industria 4.0 e gestione dei contenutiKEA s.r.l.
 
Come rilasciare App di Qualità
Come rilasciare App di QualitàCome rilasciare App di Qualità
Come rilasciare App di QualitàLuca Manara
 
Progetto di Ergonomia Cognitiva: Decathlon +Plus
Progetto di Ergonomia Cognitiva: Decathlon +PlusProgetto di Ergonomia Cognitiva: Decathlon +Plus
Progetto di Ergonomia Cognitiva: Decathlon +PlusJessica Forlani
 
Progettare per la condivisione: usabilità e redesign di un sito web commerciale
Progettare per la condivisione: usabilità e redesign di un sito web commercialeProgettare per la condivisione: usabilità e redesign di un sito web commerciale
Progettare per la condivisione: usabilità e redesign di un sito web commercialeGiulia S
 
Portfolio ux ui_gellify
Portfolio ux ui_gellifyPortfolio ux ui_gellify
Portfolio ux ui_gellifyGELLIFY
 
Premio forumpa2017 chatbot_sogei_doc
Premio forumpa2017 chatbot_sogei_docPremio forumpa2017 chatbot_sogei_doc
Premio forumpa2017 chatbot_sogei_docMonica Gabrielli
 
Slides decathlon +plus progetto ergonomia cognitiva
Slides decathlon +plus progetto ergonomia cognitivaSlides decathlon +plus progetto ergonomia cognitiva
Slides decathlon +plus progetto ergonomia cognitivaRiccardo Carlessi
 
Debito Tecnico Questo Sconosciuto
Debito Tecnico Questo SconosciutoDebito Tecnico Questo Sconosciuto
Debito Tecnico Questo Sconosciutoinspearit Italy
 
Na.atm specificadeirequisiti.docx.
Na.atm specificadeirequisiti.docx.Na.atm specificadeirequisiti.docx.
Na.atm specificadeirequisiti.docx.Dario Contini
 
Automazione e profilazione in tempo reale, target-driven e one-to-one: i nuov...
Automazione e profilazione in tempo reale, target-driven e one-to-one: i nuov...Automazione e profilazione in tempo reale, target-driven e one-to-one: i nuov...
Automazione e profilazione in tempo reale, target-driven e one-to-one: i nuov...KEA s.r.l.
 
Dall'F-Factor alla gestione dei touchpoint
Dall'F-Factor alla gestione dei touchpointDall'F-Factor alla gestione dei touchpoint
Dall'F-Factor alla gestione dei touchpointGazduna Project
 

Semelhante a Agile User story mapping (Mokabyte) (20)

Tesina ITS final
Tesina ITS finalTesina ITS final
Tesina ITS final
 
Web usability - 2 | WebMaster & WebDesigner
Web usability - 2 | WebMaster & WebDesignerWeb usability - 2 | WebMaster & WebDesigner
Web usability - 2 | WebMaster & WebDesigner
 
Lean Portfolio Management
Lean Portfolio ManagementLean Portfolio Management
Lean Portfolio Management
 
Web Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesignerWeb Usability - 2 | WebMaster & WebDesigner
Web Usability - 2 | WebMaster & WebDesigner
 
Decathlon +Plus
Decathlon +PlusDecathlon +Plus
Decathlon +Plus
 
Progetto di Ergonomia Cognitiva: "Decathlon +Plus"
Progetto di Ergonomia Cognitiva: "Decathlon +Plus"Progetto di Ergonomia Cognitiva: "Decathlon +Plus"
Progetto di Ergonomia Cognitiva: "Decathlon +Plus"
 
Industria 4.0 e gestione dei contenuti
Industria 4.0 e gestione dei contenutiIndustria 4.0 e gestione dei contenuti
Industria 4.0 e gestione dei contenuti
 
UserPie
UserPieUserPie
UserPie
 
Come rilasciare App di Qualità
Come rilasciare App di QualitàCome rilasciare App di Qualità
Come rilasciare App di Qualità
 
Progetto di Ergonomia Cognitiva: Decathlon +Plus
Progetto di Ergonomia Cognitiva: Decathlon +PlusProgetto di Ergonomia Cognitiva: Decathlon +Plus
Progetto di Ergonomia Cognitiva: Decathlon +Plus
 
Progettare per la condivisione: usabilità e redesign di un sito web commerciale
Progettare per la condivisione: usabilità e redesign di un sito web commercialeProgettare per la condivisione: usabilità e redesign di un sito web commerciale
Progettare per la condivisione: usabilità e redesign di un sito web commerciale
 
Portfolio ux ui_gellify
Portfolio ux ui_gellifyPortfolio ux ui_gellify
Portfolio ux ui_gellify
 
Premio forumpa2017 chatbot_sogei_doc
Premio forumpa2017 chatbot_sogei_docPremio forumpa2017 chatbot_sogei_doc
Premio forumpa2017 chatbot_sogei_doc
 
Slides decathlon +plus progetto ergonomia cognitiva
Slides decathlon +plus progetto ergonomia cognitivaSlides decathlon +plus progetto ergonomia cognitiva
Slides decathlon +plus progetto ergonomia cognitiva
 
Debito Tecnico Questo Sconosciuto
Debito Tecnico Questo SconosciutoDebito Tecnico Questo Sconosciuto
Debito Tecnico Questo Sconosciuto
 
Na.atm specificadeirequisiti.docx.
Na.atm specificadeirequisiti.docx.Na.atm specificadeirequisiti.docx.
Na.atm specificadeirequisiti.docx.
 
Automazione e profilazione in tempo reale, target-driven e one-to-one: i nuov...
Automazione e profilazione in tempo reale, target-driven e one-to-one: i nuov...Automazione e profilazione in tempo reale, target-driven e one-to-one: i nuov...
Automazione e profilazione in tempo reale, target-driven e one-to-one: i nuov...
 
L'evoluzione del professionista tra conoscenza aziendale e informatica - Ales...
L'evoluzione del professionista tra conoscenza aziendale e informatica - Ales...L'evoluzione del professionista tra conoscenza aziendale e informatica - Ales...
L'evoluzione del professionista tra conoscenza aziendale e informatica - Ales...
 
Agile UX - AR Meetup
Agile UX - AR MeetupAgile UX - AR Meetup
Agile UX - AR Meetup
 
Dall'F-Factor alla gestione dei touchpoint
Dall'F-Factor alla gestione dei touchpointDall'F-Factor alla gestione dei touchpoint
Dall'F-Factor alla gestione dei touchpoint
 

Mais de Emiliano Soldi

Embracing Future Shock
Embracing Future ShockEmbracing Future Shock
Embracing Future ShockEmiliano Soldi
 
Agile and Generative AI - friends or foe?
Agile and Generative AI - friends or foe?Agile and Generative AI - friends or foe?
Agile and Generative AI - friends or foe?Emiliano Soldi
 
Agile for Circular Economy
Agile for Circular EconomyAgile for Circular Economy
Agile for Circular EconomyEmiliano Soldi
 
Adaptive Strategy Combining OKR and Lean Portfolio Management
Adaptive Strategy Combining OKR and Lean Portfolio ManagementAdaptive Strategy Combining OKR and Lean Portfolio Management
Adaptive Strategy Combining OKR and Lean Portfolio ManagementEmiliano Soldi
 
Catalizzare la trasformazione verso la sostenibilità aziendale con agli OKR -...
Catalizzare la trasformazione verso la sostenibilità aziendale con agli OKR -...Catalizzare la trasformazione verso la sostenibilità aziendale con agli OKR -...
Catalizzare la trasformazione verso la sostenibilità aziendale con agli OKR -...Emiliano Soldi
 
Adaptive Strategy Combinare OKR con Lean Portfolio Management
Adaptive Strategy Combinare OKR con Lean Portfolio ManagementAdaptive Strategy Combinare OKR con Lean Portfolio Management
Adaptive Strategy Combinare OKR con Lean Portfolio ManagementEmiliano Soldi
 
Sul perché l’Agilità sia una risorsa imprescindibile per Sostenibilità ed Eco...
Sul perché l’Agilità sia una risorsa imprescindibile per Sostenibilità ed Eco...Sul perché l’Agilità sia una risorsa imprescindibile per Sostenibilità ed Eco...
Sul perché l’Agilità sia una risorsa imprescindibile per Sostenibilità ed Eco...Emiliano Soldi
 
Agile For Sustainability
Agile For SustainabilityAgile For Sustainability
Agile For SustainabilityEmiliano Soldi
 
Far emergere il cambiamento
Far emergere il cambiamentoFar emergere il cambiamento
Far emergere il cambiamentoEmiliano Soldi
 
Designing adaptive and nimble organizations
Designing adaptive and nimble organizationsDesigning adaptive and nimble organizations
Designing adaptive and nimble organizationsEmiliano Soldi
 
Favoring the Emergence through Agile Scaffolding
Favoring the Emergence through Agile ScaffoldingFavoring the Emergence through Agile Scaffolding
Favoring the Emergence through Agile ScaffoldingEmiliano Soldi
 
Business Agility - Transforming Disruptions into Competitive Advantage
Business Agility - Transforming Disruptions into Competitive AdvantageBusiness Agility - Transforming Disruptions into Competitive Advantage
Business Agility - Transforming Disruptions into Competitive AdvantageEmiliano Soldi
 
Seeing through complexity
Seeing through complexitySeeing through complexity
Seeing through complexityEmiliano Soldi
 
I superpoteri di un leader agile
I superpoteri di un leader agileI superpoteri di un leader agile
I superpoteri di un leader agileEmiliano Soldi
 
Quando l urgenza del cambiamento diventa un acceleratore della agilita aziend...
Quando l urgenza del cambiamento diventa un acceleratore della agilita aziend...Quando l urgenza del cambiamento diventa un acceleratore della agilita aziend...
Quando l urgenza del cambiamento diventa un acceleratore della agilita aziend...Emiliano Soldi
 
Business agility come cavalcare onda della discontinuita dei mercati leader...
Business agility come cavalcare onda della discontinuita dei mercati   leader...Business agility come cavalcare onda della discontinuita dei mercati   leader...
Business agility come cavalcare onda della discontinuita dei mercati leader...Emiliano Soldi
 
Morphing continually to achieve Business Agility
Morphing continually to achieve Business AgilityMorphing continually to achieve Business Agility
Morphing continually to achieve Business AgilityEmiliano Soldi
 
Agile to boost value for customers, employees and communities
Agile to boost value for customers, employees and communitiesAgile to boost value for customers, employees and communities
Agile to boost value for customers, employees and communitiesEmiliano Soldi
 
Stable long lived team
Stable long lived teamStable long lived team
Stable long lived teamEmiliano Soldi
 

Mais de Emiliano Soldi (20)

Embracing Future Shock
Embracing Future ShockEmbracing Future Shock
Embracing Future Shock
 
Agile and Generative AI - friends or foe?
Agile and Generative AI - friends or foe?Agile and Generative AI - friends or foe?
Agile and Generative AI - friends or foe?
 
Agile for Circular Economy
Agile for Circular EconomyAgile for Circular Economy
Agile for Circular Economy
 
Adaptive Strategy Combining OKR and Lean Portfolio Management
Adaptive Strategy Combining OKR and Lean Portfolio ManagementAdaptive Strategy Combining OKR and Lean Portfolio Management
Adaptive Strategy Combining OKR and Lean Portfolio Management
 
Catalizzare la trasformazione verso la sostenibilità aziendale con agli OKR -...
Catalizzare la trasformazione verso la sostenibilità aziendale con agli OKR -...Catalizzare la trasformazione verso la sostenibilità aziendale con agli OKR -...
Catalizzare la trasformazione verso la sostenibilità aziendale con agli OKR -...
 
Open Up
Open UpOpen Up
Open Up
 
Adaptive Strategy Combinare OKR con Lean Portfolio Management
Adaptive Strategy Combinare OKR con Lean Portfolio ManagementAdaptive Strategy Combinare OKR con Lean Portfolio Management
Adaptive Strategy Combinare OKR con Lean Portfolio Management
 
Sul perché l’Agilità sia una risorsa imprescindibile per Sostenibilità ed Eco...
Sul perché l’Agilità sia una risorsa imprescindibile per Sostenibilità ed Eco...Sul perché l’Agilità sia una risorsa imprescindibile per Sostenibilità ed Eco...
Sul perché l’Agilità sia una risorsa imprescindibile per Sostenibilità ed Eco...
 
Agile For Sustainability
Agile For SustainabilityAgile For Sustainability
Agile For Sustainability
 
Far emergere il cambiamento
Far emergere il cambiamentoFar emergere il cambiamento
Far emergere il cambiamento
 
Designing adaptive and nimble organizations
Designing adaptive and nimble organizationsDesigning adaptive and nimble organizations
Designing adaptive and nimble organizations
 
Favoring the Emergence through Agile Scaffolding
Favoring the Emergence through Agile ScaffoldingFavoring the Emergence through Agile Scaffolding
Favoring the Emergence through Agile Scaffolding
 
Business Agility - Transforming Disruptions into Competitive Advantage
Business Agility - Transforming Disruptions into Competitive AdvantageBusiness Agility - Transforming Disruptions into Competitive Advantage
Business Agility - Transforming Disruptions into Competitive Advantage
 
Seeing through complexity
Seeing through complexitySeeing through complexity
Seeing through complexity
 
I superpoteri di un leader agile
I superpoteri di un leader agileI superpoteri di un leader agile
I superpoteri di un leader agile
 
Quando l urgenza del cambiamento diventa un acceleratore della agilita aziend...
Quando l urgenza del cambiamento diventa un acceleratore della agilita aziend...Quando l urgenza del cambiamento diventa un acceleratore della agilita aziend...
Quando l urgenza del cambiamento diventa un acceleratore della agilita aziend...
 
Business agility come cavalcare onda della discontinuita dei mercati leader...
Business agility come cavalcare onda della discontinuita dei mercati   leader...Business agility come cavalcare onda della discontinuita dei mercati   leader...
Business agility come cavalcare onda della discontinuita dei mercati leader...
 
Morphing continually to achieve Business Agility
Morphing continually to achieve Business AgilityMorphing continually to achieve Business Agility
Morphing continually to achieve Business Agility
 
Agile to boost value for customers, employees and communities
Agile to boost value for customers, employees and communitiesAgile to boost value for customers, employees and communities
Agile to boost value for customers, employees and communities
 
Stable long lived team
Stable long lived teamStable long lived team
Stable long lived team
 

Agile User story mapping (Mokabyte)

  • 1. home mb188 Home Apéritif Technologique Formazione Eventi Download SemanticPortal Community Forum Agile in action I parte: User story mapping Abstract:Cominciamo, con questo numero, una lunga serie che affronterà diverse tematiche legate allo sviluppo con metodologie agili, focalizzandosi soprattutto su temi pratici: agile in azione, insomma. Mese dopo mese, verranno affrontati numerosi argomenti, ma, per partire, occorreva concentrarsi ovviamente sulle storie utente. tags: Agile storie utente user storymapping Product Owner requisiti Numerovisite:69 di EmilianoSoldi Le "storie utente" Come molti di voi sapranno, la user story nel mondo agile di sviluppo software, rappresenta una caratteristica o requisito di prodotto, che vuole soddisfare una specifica esigenza dell’utente. Nel definire le storie utente, il linguaggio e il formato utilizzati devono dare una chiara evidenza del valore di business che si intende raccogliere attraverso quella funzionalità e, possibilmente, sottolineare chi è l’utente coinvolto e le azioni che lo stesso dovrà svolgere, per raggiungere quel risultato. Le user stories nascono come strumento di dialogo e collaborazione tra due mondi spesso lontani e contrapposti: chi concepisce il prodotto (business) e chi lo deve realizzare (sviluppo). Si tratta di mondi il cui linguaggio può differire anche in maniera estrema. Figura 1 - Un adeguato linguaggio è l’imperativo per mettere in comunicazione chi concepisce il prodotto e chi lo deve realizzare. L’importanza di un linguaggio comune La comunicazione e il linguaggio che si utilizzano assumono quindi grande importanza per mettere in relazione business e sviluppo. Il business è focalizzato sulla visione generale di prodotto. Presidia i movimenti del mercato, ne percepisce gli andamenti e le tendenze, i segnali deboli, gli orientamenti. Nel descrivere la soluzione, le necessità, evita spesso di entrare troppo nel dettaglio e ragiona in maniera astratta, per schemi. Chi sviluppa il prodotto, invece, è abituato a studiarne la fattibilità, a generare stime e a ragionare in maniera estremamente logica. Lavora per processi iterativi e incrementali; il dettaglio tecnico è parte consistente del suo quotidiano e, il più delle volte, ne influenza anche il modo di comunicare. Le differenze di comunicazione di questi due mondi, derivanti dai suddetti differenti approcci, hanno conseguenze Mi piace 0 SOMMARIO Le "storie utente" Come è fatta una user story User StoryMapping Conclusioni NELLO STESSO NUMERO AgileInAction EnterpriseData OracleCoherence-3 AgileGrammelot VersoAgile-1 NELLASTESSASERIE AgileInAction-1 UTILS Stampa questa pagina Segnala errori Permalink ARCHIVIO Settembre 2013 LuglioAgosto Cerca MokaByte 188 - Ottobre 2013 converted by Web2PDFConvert.com
  • 2. negative sul prodotto che difficilmente riuscirà ad avere il successo sperato. User story, una soluzione collaborativa Le storie utente nascono proprio come soluzione a questa difficoltà comunicativa, e servono a tradurre in un linguaggio semplice e comprensibile i requisiti e le funzionalità richieste. Una user story, quindi, deve focalizzarsi sul valore di business che la stessa vuole perseguire, non richiamando alcun dettaglio tecnico, se non per i requisiti non funzionali (NFR, "non functional requirements"), ma questo è un altro discorso. L’aspetto implementativo di quella funzionalità, infatti, sarà di esclusivo dominio del team di sviluppo che, in completa autonomia e organizzazione, ne analizzerà le attività tecniche necessarie e si prodigherà nella loro esecuzione, puntando a restituire il valore richiesto. Come è fatta una user story Bene, vediamo un semplice esempio di user story. In pratica si tratta di "mettersi nei panni" dell’utente e dichiarare che cosa di deve poter fare in quanto utente e con quale risultato positivo (il "valore"). Come utente web della banca Devo poter fare un bonifico Così da pagare l’affitto, anche se la banca è chiusa Un requisito espresso in questo modo, cioè dal punto di vista dell’utente (user story), mostra senza possibilità d’errore o malinteso il vero valore di business che si vuole trarne ("poter fare un trasferimento di denaro anche a banca chiusa"), ne esplicita la tipologia dell’utente coinvolto ("utente web della bancaW), circoscrivendo al tempo stesso, la funzionalità a un dominio preciso ("pagamento tramite bonifico bancario"). Scomporre le user stories Il grado di scomposizione della user story è un altro elemento fondamentale. Uno dei punti di forza delle discipline agili, e più precisamente di quelle di sviluppo iterativo (p.e., XP e Scrum), sta appunto nella pianificazione e analisi iterativa e incrementale del requisito utente. Una tecnica di riferimento è chiamata Rolling Wave Planning (in italiano traducibile con un improbabile "pianificazione a finestra mobile") che, nel project management tradizionale, prevede un’iniziale pianificazione di alto livello basata sulle prime generiche ipotesi fatte in presenza di visibilità e certezza limitate, proprie di progetti ad alto rischio o complessità. Con il passare del tempo e con l’aumentare della conoscenza di progetto, si potrà procedere alla pianificazione per ondate successive (sono queste le "wave" del nome), i cui dettagli saranno via via più chiari e facilmente analizzabili e indirizzabili. Questa tecnica, applicata al mondo agile, prevede anch’essa una raccolta di alto livello delle necessità utente nello stadio iniziale del progetto, al fine di procedere ad una prima stima dei costi, dei rischi e della pianificazione delle macro-attività. Successivamente, in modalità iterativa, si procederà alla scomposizione fine dei requisiti che verranno da lì a breve messi in sviluppo. Tante funzioni poco usate L’uso della tecnica suddetta è messo in atto per scongiurare quanto lo Standish Group fotografa in uno dei suoi studi più interessanti: i sistemi hanno un elevato numero di funzion, ma solo poche di esse vengono utilizzate realmente. Accade infatti che il 64%delle funzionalità di un sistema siano raramente o mai utilizzate. converted by Web2PDFConvert.com
  • 3. Figura 2 - Percentuale di utilizzo delle diverse funzionalità di un sistema. La gran parte delle funzioni è usata raramente, se non addirittura mai. Questo spreco enorme di risorse è proprio da addebitarsi a problemi di comunicazione, malintesi, errate aspettative, eccessiva analisi di dettaglio in relazione ai tempi di effettiva realizzazione, mancanza di feedback o di confronto con il business. Ed è proprio da qui che vorrei partire con i consigli per mettere in atto le metodologie agili, scrivendo di una tecnica tanto eccezionale quanto semplice e immediata, che vede tutti gli attori coinvolti nella prima fase di scoperta e identificazione dei requisiti di prodotto, altrimenti detti user stories. La tecnica si chiama User Story Mapping. User Story Mapping La User Story Mapping è una tecnica collaborativa, che richiede un po’ di preparazione e di materiali, ma che è sostanzialmente semplice e, soprattutto, molto "remunerativa" in termini di focalizzazione del progetto. È necessario che disponiate di una stanza con un muro piuttosto ampio, post-it di varie dimensioni, pennarelloni, scotch di carta e, perche’ no, una whiteboard attorno alla quale ragionare e un proiettore dove mostrare eventuale materiale a corredo. Gli invitati alla sessione dovranno essere obbligatoriamente chi ha concepito il prodotto (ProductOwner); eventuali altri stakeholder con interesse o conoscenza specifica del dominio in analisi; chi dovrà sviluppare concretamente sviluppare il prodotto (team di sviluppo). Ora avete tutti gli ingredienti necessari. Potete inoltrare gli inviti alla riunione, che potrà durare dalle 4 alle 8 ore, in relazione alla complessità del prodotto sotto esame. Primi passi La riunione si apre con il rappresentate del business, quello che in Scrum si chiama ProductOwner, che illustra brevemente i punti salienti del prodotto, le sue caratteristiche fondanti e ne illustra le motivazioni di business che hanno spinto l’azienda a finanziare tale progetto. Illustra, per usare un termine oramai comune, la vision. A questo punto il ProductOwner e il team di sviluppo cominciano ad analizzare le principali funzionalità e caratteristiche del prodotto, non entrando in questa prima fase, in alcun dettaglio funzionale. Individuare le user stories Ipotizziamo che il prodotto da sviluppare sia un client di posta elettronica. Utilizzerò quello che in rete sembra essere l’esempio che per questa tecnica è oggi più in voga, in modo da permettere eventuali parallelismi con altre fonti. Le principali funzionalità potrebbero essere le seguenti: Organizza Email, Gestione Email, Gestione Calendario e Gestione Contatti. Figura 3 - Le principali funzionalità individuate per un ipotetico client di posta elettronica. Scrivete quelle funzionalità su post-it e attaccateli nella parte alta del muro. Sono queste le funzionalità principali su cui concentrarsi e dalle quali partire per la successiva fase. Approfondire le funzionalità A questo punto, il ProductOwner e il team di sviluppo cominciano a ragionare su quali possano essere le attivit à o task, che un utente può voler svolgere per ognuna di quelle macro-aree. Comporre un’email, creare un appuntamento, eliminare un contatto, sono ottimi esempi di funzionalità, che in questa fase del processo devono, però, rimanere ancora di alto livello. Ogni proposta da parte delle persone coinvolte, verrà presa in considerazione e, se ritenuta valida in relazione al prodotto e al valore di business atteso, scritta su un post-it e attaccata nella fila corrispondente. Ecco che, focalizzandoci volutamente solo sul ramo Organizza Email, l’evoluzione potrebbe essere quella rappresentata in figura 4. converted by Web2PDFConvert.com
  • 4. Figura 4 - Lo sviluppo della funzione Organizza Email, su un ulteriore livello. Scomporre ogni rampo in ulteriori sotto-funzionalità Ottimo. Ora siamo pronti al passo successivo di scomposizione di ogni ramo in sotto-funzionalità. Il processo, su quel ramo, potrebbe portarvi ad avere la situazione di figura 5. Figura 5 - Ogni ramo viene ulteriormente scomposto in sotto-funzionalità. Questa è la fase dove non solo si catturano le principali funzionalità per ogni sotto-ramo (vedi post-it arancioni), ma si comincia anche a rendersi conto di come alcune funzionalità siano veramente importanti, basilari, irrinunciabili, mentre altre potrebbero essere pensate come accessorie o secondarie. Sarà responsabilità del ProductOwner mettere queste funzionalità, e i relativi post-it, in ordine di importanza rispetto al loro valore di business, partendo dall’alto per le funzionalità con maggior valore e procedendo in scala verso il basso con le restanti. Nel nostro esempio, per il ramo Composizione Email, questo porterà ad avere la funzionalità di creazione e spedizione di una email base, con testo standard, come prima voce e la spedizione di messaggi in formato RTF, che preveda quindi le principali formattazioni di carattere e paragrafo, con priorità inferiore. Muovendosi oltre con la definizione delle caratteristiche, sempre sul ramo Organizza Email, ci potremmo trovare converted by Web2PDFConvert.com
  • 5. di fronte alla situazione di figura 6. Figura 6 - La definizione delle caratteristiche viene ulteriormente approfondita, anche in riferimento alle successive release previste per il prodotto. Procedendo a ragionare sulle priorità assegnate alle singole funzionalità di prodotto e alla loro sequenza, è d’obbligo introdurre il concetto di release di prodotto. Le funzionalità più in alto, per forza di cose, dovranno essere incluse nella prima release, le altre nelle successive. In questo momento il ProductOwner, con l’aiuto del team e di uno scotch di carta di buona qualità, può circoscrivere e raggruppare orizzontalmente attraverso delle linee, le funzionalità per release come riportato in figura. Giungere a dei risultati Bene, abbiamo quasi terminato. Il ProductOwner effettuerà a questo punto diverse fotografie nitide della parete (non vorrete mica perdervi ore di lavoro?), staccherà i post-it in maniera ordinata e riporterà il testo di ognuno in un foglio di calcolo, facendo attenzione a mantenere inalterate le priorità e l’appartenenza ai relativi rami. Quello che avrete appena creato, sarà la prima versione, sebbene ancora embrionale, del Product Backlog. User stories in formato "standard" L’ultimo passo per Team e ProductOwner sarà quello di riscrivere le storie nel formato standard vale a dire quello in cui "Come utente… voglio poter fare… in modo da…" e assicurarsi che ogni user story soddisfi una serie di criteri, tutti facilmente richiamabili alla mente tramite l’acronimo INVEST. Ogni user story deve infatti essere: Independent (preferibilmente non dipendente da o accoppiata con altre storie) Negotiable (negoziabile in termini di dettaglio tecnico e comportamento) Valuable (restituire valore all’utilizzatore) Estimable (essere stimabile dal team) Sized-properly / Small (di dimensioni contenute per poter essere sviluppata insieme ad alcune altre nell’iterazione) Testable (essere testabile) Conclusioni Abbiamo visto in questo primo articolo che cosa sono le user stories e come individuarle, proponendo una tecnica semplice ma efficace per mapparle nel dettaglio e assegnare loro una priorità: il punto cruciale sta nel ricordarsi sempre che esse devono restituire un valore per l’utente, e che devono essere aderenti ai principi dell’acronimo I N V E S T. converted by Web2PDFConvert.com
  • 6. e-mail Nel prossimo articolo, continueremo ad affrontare un altro aspetto pratico del mondo Agile, piuttosto complesso ma altrettanto importante: le stime. Emiliano Soldi Emiliano Soldi è un professionista capace e appassionato. Ha alle spalle una solida esperienza principalmente nella gestione di progetti ITC attraverso l'uso di entrambi gli approcci, tradizionale e agile maturata nel corso dei vent’anni di attività e consolidata attraverso il conseguimento di diverse certificazioni professionali (PMP, PMI-ACP, CSP, CSM). ÈAgile Practice Leader e Coach di Inspearit Italy, dove si occupa di facilitare le organizzazioni nella transizione al modelloAgile/Lean per lo sviluppo del prodotto e la gestione dei progetti. Èinoltre responsabile dell'evoluzione e del miglioramento della praticaAgile all'interno della sua azienda. Trainer entusiasta, con spiccate doti comunicative, ha formato nel tempo alcune centinaia di persone. Èstato socio fondatore di Diesys Informatica dove si è occupato, tra le altre cose, dei principali aspetti di management aziendale. Membro attivo in diverse comunità di gestione progetti (PMI-NIC, ScrumAlliance,Agile Lean Europe, ItalianAgile Movement) ha contribuito, in qualità di speaker, a diversi convegni, conferenze e seminari (PMI-NIC, PMI Rome, IPMA, IIBA-NYC, Better SWconf, LUISS). Chi siamo Contattaci MokaByte èunmarchioregistratodaMokaBytes.r.l. - PartitaIVA:05039150486, CF:05039150486 Attenzione: http://www2.mokabyte.it:80/cms/p/mb188/AgileInAction-1 non è raggiungibile. Plug-in sociale di Facebook Aggiungi un commento... converted by Web2PDFConvert.com