Dalla vision al Backlog con la Vision Board

Come si procede dalla vision iniziale alla formulazione delle singole user stories?
Quali sono i passi da seguire?

Venerdì 14 marzo si è tenuto al Politecnico di Milano una conferenza dal titolo “Agile for Innovation” aperta da uno speech di Roman Pichler sulla strategia agile di prodotto.

Il primo consiglio di Pichler è di non saltare subito all’esecuzione, bensì dedicare tempo alla formulazione di una strategia, a definire il percorso verso gli obiettivi prefissati.
Abbiamo una vision, una “big picture”, un’idea sfidante che è la nostra meta.
A questo punto è importante rispondere ad alcune domande fondamentali per elaborare la strategia: chi, perché, cosa, qual è il risultato atteso?

Proviamo a chiederci:

Chi sono gli utenti?
Ma anche chi sono i clienti, ovvero coloro che pagheranno per il nostro prodotto (non è detto che chi paga coincida sempre con l’utilizzatore finale…).

Per quale motivo potrebbero essere interessati ad usare il  prodotto? 

Perché dovrebbero comprarlo?

Che cosa rende unico il prodotto? 

Esploriamo la value proposition….
Quali sono le sue caratteristiche chiave?
E’ importante rimanere ad alto livello in questa fase; definiamo 3 key features, massimo 5.

Quali sono gli obiettivi di business? 

Per quale motivo dovremmo investire in questo progetto i nostri soldi invece che in altro?

Per guidarci nella risposta a questi quesiti Pichler ha elaborato un tool semplice e potente che può essere applicato in svariati ambiti:
la Vision Board.

E’ un foglio A4 che contiene una tabella divisa in 5 aree:
– la vision
– il target
– i bisogni che il prodotto soddisfa
– le caratteristiche chiave del prodotto
– gli obiettivi di business

Una volta che la strategia è delineata siamo pronti a partire?
Non ancora!
La vision board traduce l’idea iniziale in una strategia, ma prima di arrivare al backlog e alle singole user stories è opportuno prevedere una fase di test.
La strategia contiene indubbiamente delle ipotesi.
Fate un esame di quali sono le principali assunzioni che avete fatto ed elencate i possibili rischi. Metteteli in ordine di priorità (per esempio in base alla gravità dell’effetto che possono produrre) e procedete con interviste ad utenti e clienti.

Il vero lavoro è questo: non implementare il prodotto, ma testarne il prima possibile le idee e le assunzioni (un punto di vista molto simile a quello di Eric Ries…).
In questo modo la strategia non è scolpita per sempre nella pietra, ma emerge e si arricchisce in base ai feedback degli utenti.

… e se proprio doveste accorgervi di essere fuori strada, potete sempre cambiare rotta o abortire del tutto il progetto con perdite assai contenute (comunque ben prima della fase più costosa, lo sviluppo!)

L’80/20 applicato al Backlog

Cosa succederebbe se provassimo ad applicare il principio di Pareto (la famosa regola dell’80/20) al nostro backlog? E’ questa la riflessione a cui ci invita Stefan Haas – Agile coach con molti anni di esperienza sul campo – in uno degli ultimi articoli del suo blog.

Siamo in grado di individuare quel 20% di funzionalità che producono l’80% della soddisfazione dei nostri utenti finali? Abbiamo idea di quali siano l’80% dei requisiti che producono scarso o nullo valore per i nostri clienti?
Al di là della provocazione, sappiamo per esperienza che non tutto ciò che è contenuto nel backlog è realmente di valore per l’utente e – nonostante ciò – è nostro compito trovare spazio anche per diversi tipi di attività – ad esempio – di aggiornamento dei sistemi, business intelligence o per adeguamenti di legge.

E’ in ogni caso interessante fermarsi a riflettere sull’opportunità di individuare ed avere sempre ben presente quel 20% di funzionalità che rappresentano il cuore dei nostri prodotti, quel 20% di un’epica (poi suddivisa in user stories) che ne rappresenta l’essenza, quel 20% di attività quotidiane del team che produrrà il maggior valore nel corso dell’iterazione.

Il principio può essere infatti applicato a tutti i livelli: al prodotto nel suo insieme, alle epiche, alle singole user stories o – segmentando ancora di più – ai task.
La sfida è individuare quel 20% critico del backlog in grado di produrre l’80% del valore finale e  mettere in priorità queste attività focalizzando l’impegno del team soprattutto su di esse.

Il ruolo del Product Owner

Cosa significa Scrum Product Owner

“Che lavoro faccio? Lo Scrum Product Owner“.
“Interessante, ma esattamente cosa vuol dire?”
Dato che la domanda è ricorrente e spesso mi rendo conto che le persone non hanno  un’idea precisa di cosa siano le metodologie agili e lo Scrum (men che meno del ruolo di Product Owner…) ho pensato di fare un riassunto delle principali competenze di questa figura.

Il Product Owner – recita la Scrum Guide – ha la responsabilità di massimizzare il valore del prodotto e del lavoro svolto dal Team di Sviluppo.
E’ colui o colei che decide cosa deve essere fatto, quali funzionalità deve avere un prodotto o un servizio e quando rilasciarle sul mercato (qui trovate le varie attività riassunte in un’immagine).

Su cosa dobbiamo esattamente intendere per “valore” da massimizzare la Scrum Guide non da indicazioni puntuali. Ed è comprensibile perché non è semplice trovare una formula valida per tutti (trovate maggiori dettagli sul tema valore in questo post).
Spesso il valore è identificato con le revenue, ma potrebbe anche essere la riduzione del rischio, la riduzione dei costi, la visibilità del marchio o altro.
Nella mia esperienza ciò che è di valore per un’azienda potrebbe non esserlo per un’altra, così come all’interno della stessa società ciò che è di valore oggi potrebbe non esserlo più nel tempo. 

Le caratteristiche di un buon Product Owner

Per poter guidare efficacemente lo sviluppo il PO deve avere un’ampia conoscenza dei bisogni degli utenti finali e comprendere come il prodotto possa rispondere a queste necessità. Attenzione a questo punto perché è determinante: il PO rappresenta la voce del cliente in azienda ma per essere davvero tale deve conoscerlo, avere contatti diretti, parlare con lui e avere elaborato un profilo delle principali tipologie di cliente (qui è dove parliamo di personas).

Il Product owner deve saper gestire gli stakeholder di progetto, avere un’idea dei processi di sviluppo software ed essere in grado di comunicare la propria vision di prodotto al team di sviluppo.
Il suo scopo principale è produrre valore per l’utente finale e l’azienda (viene infatti indicato come colui che ha la responsabilità di massimizzare il ROI).

Un coach con cui ho lavorato tempo fa mi diceva di saper riconoscere un buon Product Owner dalla “frenzyness”. Letteralmente frenesia …. Per me significa essere appassionati del proprio prodotto e dei propri utenti, avere una curiosità incessante per i problemi da risolvere e cercare sempre nuovi spunti di miglioramento.

Il Product Owner è un ruolo multi-sfaccettato ed è davvero difficile indicare tutte le caratteristiche che una persona dovrebbe avere, ma ci sono 3 aspetti secondo me imprescindibili: l’empatia, la capacità di articolare una visione e la leadership.

Gli strumenti del PO

Per gestire lo sviluppo di prodotto il Product Owner si avvale di alcuni strumenti e “cerimonie” Scrum.
Attraverso il product backlog definisce, comunica e ordina secondo priorità i requisiti di prodotto tramite user stories.
Pianifica sessioni di approfondimento dei requisiti (i “backlog refinement”), prepara il materiale necessario per lo Sprint planning meeting e, al termine delle iterazioni, approva o rifiuta quanto sviluppato dal team sulla base dei criteri di accettazione che ha precedentemente condiviso.

A livello strategico è responsabile di articolare la visione di prodotto, definirne la strategia complessiva e la roadmap.
A seconda della dimensione del prodotto e dell’organizzazione aziendale queste attività potrebbero essere in carico a persone diverse (qui abbiamo parlato di Big PO e Small PO).
In ogni caso è fondamentale che ogni Product Owner abbia un’idea chiara di quali risultati voglia ottenere attraverso il proprio prodotto e come possa evolvere nel tempo.

Un ruolo ibrido

Pur non essendo parte del team di sviluppo è una figura chiave all’interno dello Scrum team (il corrispettivo di un “regista” nella produzione di un film).
Collabora attivamente con gli sviluppatori chiarendo dubbi, rispondendo alle domande e definendo obiettivi di sviluppo in linea con la roadmap di prodotto e i desiderata degli utenti.

Come tutte le figure “ibride” si trova ad agire su una soglia.
E’ un’interfaccia che si colloca internamente all’azienda tra il business e l’IT, ma anche tra l’azienda e il mercato, tra i committenti e gli utenti finali.
Per mediare questi punti di vista – a volte in contrasto – il Product Owner non deve mai perdere la voglia e l’energia di comunicare con tutti gli interessati.

Qualche altro spunto di riflessione …

Per chi fosse interessato ad approfondire le caratteristiche di questa figura ecco due preziosi riferimenti, nonché “guru” della product ownership:

E qualche ulteriore spunto per approfondire le sfumature di questo fantastico ruolo: si parla di cosa sia la product ownership nel video animato di Henrik Kniberg; dei possibili ambiti di intervento del PO, a seconda dell’organizzazione dell’azienda, e infine di una delle capacità più importanti del Product Owner, ovvero saper dire di no.