Stimare il backlog a 100 all’ora

“Ciao Team, ecco il backlog che abbiamo prodotto nella sessione di User Story Mapping che abbiamo fatto ieri pomeriggio. Sono circa un centinaio di user story ed abbiamo circa un’ora per assegnare ad ognuna una stima in user story point. Se finiamo qualche minuto prima, sappiate che ho portato delle sfogliatelle che sforna un’ottima pasticceria qui vicino.”

Quando un Product Owner esordisce in questo modo, ci possono essere due reazioni: o il team fa la rivoluzione, rifiutandosi di stimare 100 storie in un’ora…

“Un’ora per 100 storie ? Ma se al refinement di due ore facciamo fatica a stimarne 3…”

Oppure il team ha già partecipato ad una sessione di MARE (Massive Affinity Rough Estimation, le parole sono mischiate ad hoc per ottenere un acronimo simpatico) per cui hanno già tutti l’acquolina in bocca pregustando le sfogliatelle.

Ho facilitato questo tipo di sessione tante volte, con differenti team a diverso livello di maturità e seniority, in ambiti di business diversi. La velocità media che abbiamo registrato è proprio circa 100 storie all’ora, ovvero in un’ora un team Scrum riesce mediamente ad assegnare una stima grezza ad un centinaio di storie di cui ha vagamente sentito parlare, ipotizzare una propria velocity e mangiare circa 12 sfogliatelle (no, non è un team da 12, è che sempre mediamente ci sono almeno 2 o 3 persone che se ne mangiano due).

Uno dei principi segreti di Agile è “viaggiare leggeri” e questo vale per tutto: per il design come per le stime. Se siamo all’inizio di un progetto (se lavoriamo per progetti), oppure stiamo ideando nuove feature o ancora stiamo creando l’MVP della prossima killer app, abbiamo imparato che se vogliamo andare veloci dobbiamo avere poco bagaglio. Non stimeremo quindi nel dettaglio le 100 storie, ma ne faremo una stima grezza e, soprattutto, di tipo relativo e basato sulla affinità tra storia e storia. non voglio dilungarmi sulla teoria, voglio darvi subito la ricetta. Non delle sfogliatelle, ma della sessione MARE con un team che non vi ha mai partecipato.

Scrivete tutte le storie su foglietti di carta in formato pari ad un quarto di A4. Devono essere leggibili e devono essere molto mobili, quindi i Post-It non vanno bene. Nel caso voleste comunque usare i Post-It, fate pure ma abbiate cura di attaccarli prima della sessione su fogli pari ad un quarto di A4. Per i più affezionati ai tool, una stampa/unione ricavata da un export dal vostro software preferito è il massimo che vi concedo. Assicuratevi di avere una stanza capiente e con una grande superficie a disposizione: può essere un tavolo da riunioni di almeno 4 metri quadri oppure lo stesso pavimento, se libero.

Predisponete un angolo in cui il PO possa accomodarsi ed accettare richieste di chiarimento. Invitate quindi tutto il team e ricordate a tutti che non si sta facendo una stima dettagliata né tanto meno si sta ragionando sull’effort. Spiegate che si stanno solo mettendo in ordine le storie, dalle più semplici e veloci alle più complesse ed incerte. Se si riescono ad ordinare per gruppi, è più facile, se questi gruppi sono quattro o cinque ancora meglio.

Cominciamo con una ventina di storie, leggendole a voce alta una ad una e posizionandole secondo l’ordine che il team pensa opportuno. Si saranno formate quattro o cinque colonne sopra le quali attaccheremo indicheremo una taglia (XS, S, M ecc.). Finite le prime venti, chiedete immediatamente al team di provare ad andare avanti da soli e piano piano portate storie sul tavolo mentre il team le ordina. Quelle meno chiare saranno prese da un qualunque membro del team che chiederà chiarimenti al PO, senza interrompere il flusso del team. Tenete pronto qualche foglietto bianco per eventuali correzioni o splitting.

Quando tutte le storie sono incolonnate, potrete assegnare dei range ad ogni colonna. Ad esempio 1-2 per le XS, 3-5 per le S, 5-8 per le M, 8-13 per le L e 13-20 per le XL. Riportate quel valore su ogni singola storie e passate alla fase successiva: tra le storie prioritarie il team quale si sente di poter portare a termine in circa… uno sprint ? Scelte le storie, avrete anche una prima velocity presunta sommando i valore di stima delle singole storie. In realtà ne avrete due, una buona per il best case ed una per il worst case. Adesso siete pronti ad affrontare una sessione di Release Planning ma prima… mangiatevi le sfogliatelle.