Le 3 C delle user stories: carta, conversazione e conferma

Oggi parliamo di storie, un grande classico per i product owner, e andiamo alla base della loro costruzione esplorando insieme le 3 C delle user stories: carta, conversazione e conferma.

Ma cosa sono le user stories? Sono semplici descrizioni, contenute in una frase, di ciò che un determinato utente vuole ottenere raccontate dal suo punto di vista.
Sono nate nell’ambito dell’Extreme Programming prima dell’inizio di questo millennio (la loro origine si fa risalire al 1998) e sono poi diventate popolari in tutti i processi agile.

User story: qualche esempio di scrittura delle card

Facciamo qualche esempio pratico per capirci meglio.
Immaginiamo di stare sviluppando un sito di annunci (i cosiddetti classified) che consente a venditori e acquirenti di scambiarsi beni materiali e servizi accordandosi tra privati.
La nostra piattaforma avrà user stories come queste:

  • come utente di <nome della piattaforma> , posso effettuare ricerche su articoli specifici.
  • come venditore, posso facilmente consultare la lista di tutti i potenziali acquirenti interessati al prodotto che ho messo in vendita.

Come vedete sono frasi brevi che descrivono cosa un utente vuole fare, raccontate secondo il suo punto di vista.
Un’altra cosa che possiamo notare è che abbiamo più tipologie di utenti: nel primo caso parliamo di un utente generico, nel secondo adottiamo il punto di vista di uno dei principali attori della piattaforma (in venditore).

Possiamo fare la stessa cosa mettendoci dal punto di vista dell’acquirente:

  • come potenziale acquirente di una macchina usata, voglio poter vedere delle foto del veicolo.

Cosa manca ancora in questo esempio?
Manca un dettaglio che per me è la parte più importante delle user stories, la cosiddetta clausola so-that.
Ciò che spiega perché un determinato utente vuole una certa cosa, qual è la sua finalità, qual è il risultato finale a cui tende (o outcome).

La storia potrebbe prendere allora questa forma:

“come potenziale acquirente di una macchina usata, voglio poter vedere delle foto del veicolo così da potermi accertare delle sue condizioni”

O dal punto di vista del venditore:

“come proprietario di un auto che desidero vendere, posso creare una pagina in cui descrivere lo stato dei veicolo e mostrarlo al suo meglio”

Notate che stiamo parlando della medesima funzionalità (le foto associate al prodotto) da due punti di vista differenti: quello del venditore e quello dell’acquirente.

User story: l’importanza del punto di vista

Bene, abbiamo introdotto il formato più classico con cui si scrivono le user stories:

Come <tipo di utente>, voglio <funzionalità> così da <obiettivo o valore per l’utente>.

Semplice ed efficace! Chiunque è in grado di esprimere un bisogno, una necessità o un desiderio secondo questo formato.
Ma non è solo la semplicità ad essere la chiave del successo delle user stories, l’elemento essenziale qui è la prospettiva: il punto di vista che adottiamo ci aiuta a relazionarci con specifiche tipologie di utenti, a metterci nei loro panni.

Sembra un dettaglio ma non lo è.
Ditemi se vi fa lo stesso effetto esprimere le medesime funzionalità come si descrivevano una volta nei documenti di requisiti …

  • il sistema consente all’utente di effettuare una ricerca
  • il sistema consente all’utente di pubblicare online un prodotto
  • il sistema consente all’utente di associare una o più foto a un prodotto

Il significato di queste affermazioni è lo stesso ma nel primo caso rispondiamo con più empatia perché stiamo mettendo l’utente – una persona – al centro della scena.

User story: la conversazione a partire dalla carta

Un errore in cui cadono spesso i team che muovono i primi passi con i framework agili è pensare che una volta scritta la user story tutto sia chiaro e definito.
In realtà chi ha un po’ più di esperienza alle spalle sa bene che la scrittura è solo l’inizio del gioco.
Non dobbiamo dimenticare che la user story comprende tre C:

  • una scheda o carta (= card),
  • la conversazione (= conversation)
  • criteri di conferma (= confirmation).

Le 3 C sono un’allitterazione ideata da Ron Jeffries per chiarire che una user story è più di un semplice testo scritto su carta fisica o su strumento software.
Le user stories sono brevi, non sono fatte per contenere molti dettagli bensì per agevolare delle conversazioni (si parla anche delle storie anche come “placeholder per conversazioni con il team”).
La carta è solo una delle tre C, la più visibile, e anche quella meno importante.

Mi è capitato in passato di lavorare con team che pretendevano di avere il massimo livello di dettaglio nelle storie; questo desiderio di chiarezza e completezza per quanto comprensibile dà l’illusione che tutto sia stato definito e compreso ma non aiuta le persone ad uscire dalla propria comfort zone e fare il “viaggio di scoperta” nei bisogni dell’utente.
E’ dall’interazione tra il product owner, il team allargato e gli utenti che nasce la vera comprensione di ciò che c’è da fare, non da una frase scritta su un pezzo di carta.

Non si tratta di un modo alternativo di scrivere requisiti, la card è “una promessa a due vie” come dice Mike Cohn:

  • la promessa del team di porre domande prima di iniziare a lavorare su una storia
  • la promessa del product owner di essere disponibile ad approfondire l’argomento.

Questi due aspetti insieme ci evitano di dover scrivere corposi documenti di specifiche contenenti ogni singola funzionalità.

Se il team si parla prima di iniziare a lavorare, il product owner può specificare solo quanto basta per poter avere quella conversazione.
E’ la conversazione in sé che rende agile un team, non la scrittura delle storie, l’utilizzo di post-it o di tool come Jira.

User story: la C di conferma

Quando Mike Cohn illustra questa parte delle storie dice che non gli piace iniziare qualcosa se non capisce come saprà quando ha terminato. E a chi piace questa incertezza?
I criteri di conferma di una user story servono proprio a questo; sono il modo in cui il product owner definisce insieme al team ciò che deve essere fatto affinché lo sviluppo possa essere considerato completo.

Ricordate quando a scuola per la prima volta un insegnante vi ha assegnato un riassunto di un libro? Alzi la mano chi non si è chiesto quanto dovesse essere lungo lo scritto!
Ecco, questo è un classico esempio di criterio di accettazione. Per alcuni professori una sintesi di una pagina è accettabile, per altri non si parla di sufficienza sotto le 3 pagine (e non pensate di barare con la dimensione del testo e l’interlinea!).

Una parte della conversazione tra il team e il product owner prima di lavorare una storia riguarderà proprio i criteri di conferma, ovvero come ciò che sarà sviluppato verrà valutato per l’accettazione durante la sprint review.
Si tratta delle “condizioni di soddisfazione” della storia. In altre parole, affinché il product owner possa considerare la user story fatta, una determinata cosa deve fare questo, quello e quell’altro.

Torniamo al nostro esempio di prima quando parlavamo della possibilità di associare delle foto all’auto che il nostro utente vuole mettere in vendita.
Per questa user story potremmo definire criteri di accettazione di questo tipo:

  • i formati di immagine accettati dal sistema (es. jpg, png, ecc.)
  • il peso massimo della singola immagine
  • la possibilità di vedere un’anteprima dell’immagine caricata
  • e magari anche la possibilità di poter ruotare eventuali immagini capovolte prima della pubblicazione.

User story: la prima C da sola non basta!

Siamo arrivati alla fine del nostro excursus sulle user stories.
Come abbiamo visto le storie non sono un nuovo modo di scrivere i requisiti, ma molto di più. Hanno come minimo 3 funzioni:

  • sono un placeholder per una conversazione sui bisogni degli utenti
  • sono strumenti per capire cosa vogliono gli utenti e cosa ha senso realizzare
  • sono un modo per programmare il lavoro del team.

Quindi ricordatevi di prestare attenzione a tutti e 3 gli aspetti: non solo al testo che andrete a scrivere su una scheda, ma anche alle conversazioni sulla funzionalità e ai criteri di conferma che utilizzerete per determinare se la storia è completa.

Note

Questo post è liberamente tratto dalle lezioni di Mike Cohn sulle user stories. Se volete approfondire vi consiglio il suo corso – molto valido – “Better User Stories“.

Nel blog trovate anche diversi post dedicati alle storie. Eccone qui una piccola selezione:

Comunicare con gli stakeholder è un must

Se mi chiedessero di elencare le 5 cose più importanti che ho imparato in anni di lavoro nel Prodotto uno degli aspetti che menzionerei sarebbe sicuramente comunicare con gli stakeholder.
Non ribadirò mai abbastanza l’importanza di questa pratica.
E per stakeholder intendo proprio tutti gli stakeholder, interni ed esterni così come li abbiamo definiti quando parlavamo di mappatura.

Diciamo che abbiamo fatto i compiti a casa, ci siamo presi il tempo di intervistare le persone che a vario titolo sono interessate o influenzate dalla realizzazione del nostro prodotto, abbiamo compreso il loro punto di vista e le loro aspettative e quindi abbiamo gettato le basi per una relazione efficace.

Adesso si tratta di passare alla fase successiva, all’atto: ciò che ti serve è una strategia di comunicazione con i tuoi stakeholder.

Perché serve un piano di comunicazione

Partiamo da un presupposto: più è grande l’organizzazione di cui fai parte e più persone saranno influenzate dal tuo prodotto.
Se parli con ognuno degli interessati dovendo ripetere sempre le stesse informazioni perdi un sacco di tempo e rischi di non ricordare esattamente cosa hai detto a chi.
Ecco perché serve un piano.

Non è tanto importante quale tipo di formalizzazione decidi di adottare, ciò che conta davvero è che tu abbia chiaro:

  1. chi ha bisogno di quali informazioni
  2. quando ne hanno bisogno
  3. quanto frequentemente si aspettano di essere aggiornati
  4. come preferiscono ricevere le informazioni
  5. in generale come puoi massimizzare efficienza e chiarezza

Diciamo che se hai condotto un’attività di mappatura degli stakeholder e li hai intervistati dovresti avere chiari i primi 4 punti.

Essere intenzionali e consistenti

Questa è la chiave della comunicazione con gli stakeholder: essere intenzionali.
Decidere a priori quando avverranno i meeting, quali comunicazioni potranno passare semplicemente via mail e in quali occasioni sarà invece necessario allinearsi con il supporto di presentazioni.

Il migliore approccio che potete avere è creare un piano (condiviso possibilmente) e verificare mano a mano come sta funzionando. Non è necessario che sia perfetto, buono quanto basta è più che sufficiente.
Potreste scoprire in corso d’opera che l’idea iniziale non funziona come vi aspettavate. Non c’è problema: prendete dei feedback, modificate il piano di comunicazione testando i cambiamenti e reiterate il ciclo.

… ebbene sì, stiamo sempre parlando del metodo Lean Start-Up

Ad esempio vi potrebbe capitare che quanto ha funzionato ad inizio progetto si rivela meno efficace con il passare del tempo. Questo può essere dovuto al fatto che le informazioni da passare in fase di discovery sono molto diverse da quelle rilevanti durante la delivery e anche gli interlocutori potrebbero essere differenti.
Prendete nota della cosa e adattate il piano di comunicazione.

Ciò che dovete preservare a tutti costi è non il piano in sé ma l’approccio: essere intenzionali e consistenti. Avere chiara la finalità degli incontri (sono puramente informativi o servono a prendere decisioni?), prioritizzare le informazioni (soprattutto quelle più critiche) e capire cosa dev’essere riportato, quando e come.

Stiamo sempre raccontando storie

Poco tempo fa ascoltavo su Mind the Product un’intervista al CPO di Zoopla, David Wascha. L’intervistatrice domandava quali sono le skill più importanti nella gestione degli stakeholder e lui ha parlato di storytelling e ripetizione.

Tutte le volte che comunichiamo il nostro prodotto, ciò che stiamo realizzando e in quali attività è impegnato il team di sviluppo stiamo creando una narrativa su ciò che facciamo per l’organizzazione.
E’ importante essere consapevoli di questo aspetto: stiamo raccontando storie.

E come in qualsiasi storia che si rispetti è necessario rispettare un plot.
Nella narrativa in questione non possono mancare:

  • WHO (a chi stiamo risolvendo un problema)
  • WHAT (quale problema stiamo risolvendo)
  • WHY (perché è importante o di valore, in particolare per il cliente finale).

Chiediamoci sempre la motivazione della storia che stiamo creando, cosa vogliamo ottenere, se ciò che raccontiamo è al livello giusto, se ci siamo presi il tempo di supportarla con dati reali, se oltre ai dati abbiamo anche la possibilità di sostanziarla con citazioni degli utenti raccolte durante le interviste.

Il nostro storytelling di prodotto racconta dove siamo oggi, dove saremo e ciò che vogliamo ottenere.

Se ci pensate è proprio questa la scaletta di una review di prodotto:

  • riepilogo degli obiettivi e degli aspetti fondanti del progetto
  • lo stato dell’arte attuale
  • le attività che ci apprestiamo a fare nelle prossime iterazioni
  • gli impatti, i rischi e le eventuali decisioni da prendere

Ripetere, ripetere, ripetere… ed evitare di omettere le cattive notizie

Il secondo aspetto menzionato da David Wascha è la ripetizione.
“Le storie vanno ripetute. È fondamentale. Non devi essere soddisfatto fino a quando tutti sanno cosa state facendo. Lo ripeti anche 100 volte fino a quando non lo fanno anche gli altri.”

Riportare lo stato dell’arte di un progetto agli stakeholder è un processo continuo ed un’opportunità di allineamento continuo.
Ecco perché non ha ha senso “nascondere la polvere sotto il tappeto”.
Per quanto sia normale preferire riportare buone notizie, nascondere quelle brutte non le fa andare via e più tardi vengono sollevate peggiore è il rischio.

Avete presente quando slittano le date di una release di prodotto?
Questo è un grande classico!
Si vedono in anticipo i segnali che indicano qualche aspetto problematico ma si pensa di poter recuperare in corso d’opera e troppo tardi viene comunicato che non c’è possibilità di rispettare la deadline. E negli eventuali SAL di progetto è sempre stato comunicato che tutto procedeva secondo i piani…
Questo non fa che provocare la frustrazione in tutti gli stakeholder e una perdita di fiducia non solo sul progetto in questione ma anche su tutti quelli che verranno in futuro.

Ne vale la pena? Direi proprio di no. Meglio sollevare il rischio da subito!
Se i problemi che prefigurate oggi rientreranno non avrete impatti sul rilascio del prodotto, se non sarà così avrete tutto il tempo di valutare le opzioni disponibili e decidere come muoversi.
In più gli stakeholder apprezzeranno il fatto di sentirsi parte attiva del processo, sapranno che non nascondete loro informazioni e creerete i presupposti per una relazione di fiducia.

Checklist per la riunione di mappatura degli stakeholder

La settimana scorsa abbiamo parlato delle varie alternative che abbiamo a disposizione per mappare gli stakeholder di progetto.

Uno degli accorgimenti che con l’esperienza ho trovato più utili è effettuare l’attività di mappatura in gruppo, in particolare coinvolgendo i diretti interessati.

Come dicevamo la volta scorsa non prendersi il tempo per intervistare gli stakeholder è la cosa più rischiosa che possiamo fare quando stiamo partendo con una nuova iniziativa, ma anche non pianificare a priori come avverrà la comunicazione potrebbe crearvi un sacco di grattacapi e farvi perdere molto tempo quando ne avrete poco a disposizione.

Per questo motivo ad avvio di progetto è utile far convergere tutti gli interessati in una stanza e costruire insieme a loro la mappatura ed il framework di comunicazione che si desidera utilizzare.

Questa attività vi aiuta a comprendere ancora meglio le aspettative di ciascuno, a valutare la qualità delle relazioni tra gli interlocutori e a identificare potenziali aree di rischio o di frizione.

Quindi programmiamo l’ennesima riunione in agenda? 
Ebbene sì, ma facciamo in modo che sia veramente produttiva!

Per supportarvi in questo arduo compito ho raccolto in una checklist tutti i punti salienti a cui prestare attenzione per far sì che questo meeting sia un successo.

Qui trovate il pdf scaricabile.

Buon lavoro!