Il Product Owner in un’immagine

Girovagando in rete ho trovato uno schema che riassume a colpo d’occhio il ruolo del PO, per riprendere un argomento che mi sta a cuore…

scrum-product-owner-role

Ha il pregio di sintetizzare le responsabilità del Product Owner all’interno dello Scrum Team.
Ripercorriamo gli eventi e gli artefatti Scrum con un focus su questa figura.

Con chi interagisce in PO

Il Product Owner è un focal point per tutti gli stakeholder di progetto.
E’ fondamentale che le richieste di clienti esterni ed interni all’azienda (ad esempio il management, i Product Manager, i Software Architect, ecc.) siano indirizzate al PO che funziona da collettore unico di richieste verso il team Scrum.

Responsabilità del Product Owner

Questo argomento richiederebbe un post dedicato data la vastità dell’argomento…
Lo schema descrive le principali responsabilità operative del PO:

Non approfondisce invece le attività di tipo più strategico quali – ad esempio – l’analisi dei bisogni degli utenti, lo studio degli scenari di mercato, la definizione della vision di prodotto, ecc.

Release planning

In questa fase il compito fondamentale del Product Owner è definire gli obiettivi della release e spiegare le principali funzionalità da rilasciare.
Un aspetto interessante – e spesso sottovalutato – presente nello schema è l’analisi dei rischi che deve essere compiuta dal PO e dal team in questa fase, attività che può migliorare sensibilmente la pianificazione.

Sprint Planning

In fase di Sprint planning il Product Owner descrive al team cosa deve essere fatto seguendo le priorità elencate nel backlog. Definisce l’obiettivo dello sprint e ripercorre le singole user stories con l’intento di rendere chiaro il tipo di utente che ne trae vantaggio, la funzionalità richiesta ed il beneficio atteso.

Daily Scrum

E’ opportuno che il Product Owner  sia presente al Daily Scrum, ma è il team ad essere protagonista di questo momento. Organizza la propria giornata e fa il punto sullo stato dell’arte.
Per questo motivo è utile che il PO ci sia (se non sempre spesso), che ascolti gli aggiornamenti e le esigenze del team senza far pesare la propria presenza.
E’ tendenzialmente un osservatore silenzioso nel Daily Scrum.

Sprint

Durante l’iterazione il Product Owner tiene d’occhio l’andamento dei lavori, verifica in corso d’opera quanto il team sta realizzando ed è disponibile per chiarimenti ed approfondimenti.

Sprint Review

Al termine dell’iterazione il Product Owner ha il compito principale di accettare o rifiutare quanto sviluppato dal team. Solo lui può decidere cosa considerare realmente “done”.
Nel corso della demo presenta agli stakeholder l’obiettivo dello sprint e contestualizza quanto realizzato all’interno della più ampia pianificazione di release.

Retrospective

Questo evento è presidiato dallo Scrum Master con l’obiettivo del miglioramento continuo. Mediante l’analisi di cosa ha funzionato e cosa non ha funzionato nel corso dello sprint vengono individuate una o più azioni per ottimizzare il processo.
Il Product Owner partecipa attivamente alla retrospective insieme a tutti gli altri membri del team Scrum, portando le proprie osservazioni e proposte.

Al termine della release

Così come per i singoli sprint il PO accetta o rifiuta le storie, al termine della release è colui che tira le fila dell’intero progetto, verifica i deliverable, decide il go/no-go finale e lo comunica a tutti gli stakeholder.

Non solo user stories nel product backlog

Il backlog racconta il nostro prodotto da diverse prospettive.
Sappiamo che finché esiste il prodotto esiste un backlog e che questo è principalmente costituito da user stories, ma non tutto ciò che è contenuto nel backlog deve necessariamente essere una storia.
Lo scopo di questo artefatto è condividere cos’è il prodotto che stiamo realizzando con chi lo deve implementare, validare, utilizzare e – in generale – con tutti coloro che ne sono interessati.
In quest’ottica le user stories potrebbero non essere esaustive.

Come descrivo un’interazione complessa? E l’esperienza utente? Dove condivido i dettagli delle interfacce? Come posso dettagliare gli aspetti di performance e scalabilità del software?
Le user stories a volte non bastano. In generale tutto ciò che può aiutare ad aumentare la comprensione del prodotto e a descriverne l’utilizzo da parte dell’utente finale è un elemento utile.

Nella mia esperienza un buon backlog finisce per contenere tutti questi elementi:
user stories
interazioni
visual design
requisiti non funzionali

Non mi soffermo sulle user stories, di cui abbiamo già parlato a lungo, e che hanno lo scopo di descrivere le funzionalità del prodotto.

Interazioni

A volte le funzionalità che vogliamo realizzare comportano un’interazione complessa.
Sono i casi in cui l’utente deve ad esempio compiere più step per portare a termine un’operazione o casi in cui una singola azione provoca più effetti in diversi punti del sistema.
Pensiamo alle esperienze di acquisto, alle registrazioni mediante social, alla gestione delle proprie mail nella casella di posta.
In questo caso oltre alle user stories sulle singole funzionalità è necessario dettagliare il percorso che dovrà seguire l’utente.
A questo scopo ci vengono in aiuto i diagrammi di flusso, gli scenari e le storyboard.
Mediante questi strumenti possiamo descrivere visivamente i singoli passaggi attraverso cui transita l’utente, verificare di non avere omesso degli step fondamentali e calarci nel suo percorso per verificarne la logica ancora prima di aver dettagliato l’interfaccia.
Con l’interaction design rispondiamo alle domande: come si muoverà l’utente? che cosa potrà fare nel nostro servizio?

Visual Design

Il design è un componente essenziale del successo di un prodotto ed un aspetto sempre più rilevante nei criteri di scelta da parte dell’utente finale.
Nel mondo digitale ci sono aziende di successo che hanno fatto di questa caratteristica il proprio elemento distintivo (pensate a Apple!).
Per comunicare questo tipo di caratteristiche possiamo utilizzare svariati tool: mock-up, sketch e wireframes che emulano la navigazione e le principali interazioni dell’utente finale.
Il ventaglio delle possibilità è ampio, si va dal semplicissimo disegno dell’interfaccia a matita su un foglio di carta al .psd dell’art director definito al pixel (anche se questo livello di dettaglio è eccessivo e controproducente).
Con il visual design rispondiamo alla domanda: cosa vedrà l’utente in ogni singolo step?

Requisiti non funzionali

Definiscono le proprietà e i vincoli di un sistema.
Sono gli aspetti che riguardano – ad esempio – l’usabilità, la scalabilità, le performance di un prodotto, i tempi di risposta.
Sono spesso elementi essenziali per la soddisfazione degli utenti, a volte poco tangibili ma trasversali all’intero servizio e critici per il suo corretto funzionamento.
Sono di solito problemi non indirizzati a livello di MVP (minimum viabile product)  ed anche i primi aspetti che “saltano” quando il time to market è fondamentale nella strategia di prodotto.
Pur essendo così bistrattati sono tuttavia quelle caratteristiche che rendono solido e flessibile un prodotto nel tempo.
Ecco perché prima o poi vi ritroverete a fare i conti con i requisiti non funzionali.
Possono richiedere tempi di implementazione più lunghi rispetto alle funzionalità del servizio ed è opportuno definirli il prima possibile nel corso dello sviluppo in modo tale compiere scelte tecniche e di prodotto in linea con i vincoli che caratterizzeranno il sistema.
Solitamente i requisiti non funzionali non vengono espressi mediante la formula classica delle storie (attore, funzionalità, beneficio), bensì mediante enunciati.
Qualche esempio:
– l’acquisto dei prodotti mediante carrello deve essere disponibile anche  su browser Opera
– il caricamento della pagina di risultati di ricerca deve essere inferiore a 1,5 secondi
– l’area personale deve essere consultabile in mobilità da device Android vers. 4 e superiori
Con i requisiti non funzionali rispondiamo alla domanda: di quali vincoli deve tenere conto lo sviluppo del nostro prodotto?

In sintesi il mio consiglio è questo: non forzate all’interno di user stories qualsiasi tipo di dettaglio di prodotto.
Se avete difficoltà a descrivere una caratteristica mediante la formula who/what/why provate a chiedervi se non avete forse a che fare con requisiti non funzionali, interazioni o aspetti di visual design.
Tutti questi sono elementi determinanti della user experience finale e hanno la dignità di trovare posto nel product backlog.
Più in generale non esitate ad avvalervi di qualsiasi strumento possa generare maggiore chiarezza.
Sperimentate e divertitevi a farlo!

Product Ownership Camp 2014: ci risiamo!

E’ iniziato il conto alla rovescia per il PO Camp 2014!
Mancano meno di dieci giorni al secondo appuntamento italiano di questo evento, nato due anni fa dall’entusiasmo e dall’iniziativa di un gruppo di agilisti italiani ed appassionati interessati ad approfondire le tematiche della product ownership.

La sterminata letteratura presente ormai sullo Scrum e la figura dello Scrum Master non risponde ancora pienamente alle tante esigenze dei Product Owner e ad una serie di domande che nascono dall’esperienza quotidiana di lavoro con i team di sviluppo.

Quali sono le dinamiche di relazione tipiche tra il PO e il team di sviluppo? Come indirizzarle al meglio?

Come mediare in modo ottimale le richieste del cliente e l’attenzione al dettaglio tecnico dei team?

Quali strumenti concreti possono essere utilizzati dal Product Owner per comunicare più efficacemente con gli stakeholder?

Questi sono solo alcuni dei tanti argomenti approfonditi lo scorso anno dai partecipanti.

Uno degli aspetti più interessanti del Product Ownership Camp è la formula della open conference, un format che consente ai partecipanti di proporre temi di discussione, approfondire ciò che è di proprio interesse e muoversi liberamente tra le varie sessioni attive in parallelo.
Di fatto non esiste un’agenda preconfezionata di argomenti, questa emerge in corso d’opera dalle idee, dalle sollecitazioni, dalle curiosità e dai bisogni dei partecipanti stessi.

Lo scorso anno è stato affrontato anche il tema della definizione formale del ruolo del Product Owner.
L’argomento è complesso e variegato e sarà oggetto di ulteriori approfondimenti anche in questa occasione.
Uno degli obiettivi che si pone questo evento è proprio sintetizzare collettivamente un “manifesto” della Product Ownership.

L’appuntamento è a Baratti dal 12 al 14 settembre in un fantastico resort a due passi dal mare.

Sarà la seconda occasione di conoscere persone appassionate, condividere dubbi ed idee a bordo spiaggia, cercare insieme soluzioni a problemi comuni e tornare a casa più carichi che mai con tanta voglia di “cambiare tutto”…
… in meglio, s’intende!