La sequenza di Fibonacci nella stima agile
Chiedi a tre sviluppatori quanto costa aggiungere un ordinamento per nome a una lista, e le risposte saranno quasi identiche. Chiedi quanto costa spostare l’intero gestionale di un ente dai server in sala macchine a un cloud qualificato per la PA, e le risposte saranno distanti tra loro, oltre che poco convinte. Il mazzo del planning poker è costruito attorno a questa differenza. Dopo 0 e ½, i valori da 1 a 13 ricalcano la sequenza di Fibonacci, poi arrivano 20, 40 e 100, e la distanza tra una carta e la successiva cresce man mano che si sale.
Perché i numeri si diradano verso l’alto
Nella sequenza di Fibonacci ogni numero è la somma dei due precedenti: 1, 2, 3, 5, 8, 13, 21, 34, 55. I primi passi sono irregolari, ma da 3 in poi ciascun valore è circa 1,6 volte quello prima.
Conviene ragionare in percentuale. Su una storia da 2, sbagliare di un punto vuol dire sbagliare della metà. Su una storia da 20, un punto è il cinque per cento, molto meno dell’errore che il team commette comunque su un lavoro di quella taglia: tra 20 e 21 non c’è niente da decidere, perché nessuno saprebbe dire quale dei due è giusto. Nel mazzo, invece, da 3 a 13 ogni carta è più o meno il 60 per cento più alta della precedente, e dopo il 20 i salti si allargano (da 20 a 40 si raddoppia). Ogni passo corrisponde quindi a un salto che si riesce ancora a percepire. Sulla migrazione al cloud, per dire, ha senso chiedersi soltanto se sia 20 o 40.
C’è chi collega questa idea alla legge di Weber, un risultato della psicologia della percezione: la differenza minima che riusciamo a notare tra due stimoli cresce in proporzione alla loro intensità. Un cucchiaino di zucchero in più nel caffè lo senti, uno in più nell’impasto di una torta probabilmente no. Che la stessa regola valga per le stime di software è un’ipotesi plausibile, non un risultato misurato, quindi è meglio usarla come immagine che come prova.
Il vantaggio più concreto si nota durante il voto. Quando le carte scoperte sono vicine, per esempio 8 e 13, il team sa che la scelta è tra due gradini adiacenti e di solito decide in pochi secondi. Con una scala da 1 a 20, 11 e 14 aprirebbero una trattativa su tre punti che nessuno è in grado di misurare.
Dal mazzo di Grenning a 20, 40 e 100
Il mazzo che James Grenning descrisse nel 2002, nell’articolo che introdusse il planning poker, non era questo: conteneva 1, 2, 3, 5, 7, 10 e infinito. La versione oggi standard, la sequenza di Fibonacci modificata 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100, si è affermata più tardi, soprattutto grazie a Mike Cohn, al suo libro Agile Estimating and Planning e ai mazzi di carte che ha distribuito.
Rispetto a Fibonacci cambia la coda: 20, 40 e 100 al posto di 21, 34 e 55. Le carte alte servono più a far scattare un allarme che a misurare, e per questo è meglio che siano facili da dire e da ricordare. Un 40 detto in riunione suona per quello che è, cioè «tanto, non sappiamo quanto». Il 100 va oltre: chi lo gioca dice che la storia non si può stimare nemmeno a grandi linee. Cosa fare in quei casi è spiegato più sotto.
SprintPoker usa il mazzo standard:
0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100, ?, ☕
Le carte speciali
?
«?» parla della storia, non di chi la gioca. Se lo mettono giù in due o in tre, ognuno per un motivo diverso, la storia è scritta male e va riscritta prima di votarla ancora. Se è una persona sola, basta chiederle cosa le manca e ascoltare la risposta per capire chi può darla.
A volte la risposta è nella stanza. «L’app per i reparti deve funzionare anche senza rete?» è una domanda a cui il product owner risponde in dieci secondi, e subito dopo si rivota. Altre volte nessuno dei presenti la conosce: «la libreria che usiamo per la firma PAdES regge più firme sullo stesso documento?». Qui il voto va sospeso. Si scrive la domanda sulla storia, qualcuno se ne fa carico, e se serve un po’ di lavoro per trovare la risposta si fa uno spike, cioè un’indagine con un limite di tempo fissato in anticipo, uno o due giorni. La storia torna in stima quando la risposta c’è.
Convincere chi ha giocato «?» a scegliere comunque un numero non serve: il numero arriva, ma non contiene niente.
☕
La tazzina funziona se chi facilita la rispetta subito, senza chiedere «finiamo almeno questa?»: dieci minuti di pausa e si riparte. Alcuni team si danno una regola ancora più semplice: due ☕ nello stesso giro e la sessione si ferma.
½ e 0
Il ½ serve per le attività così piccole che darle 1 sembra esagerato, ma che il team vuole comunque vedere nello sprint: aggiungere un destinatario alla mail automatica di un report che esiste già, per esempio. È utile soprattutto ai team la cui storia da 1 di riferimento non è poi così piccola.
Lo 0 lo usano in pochi. Di solito significa che il lavoro è già coperto da un’altra storia dello stesso sprint, e che tenere separata questa storia serve solo a non perderla di vista.
40 e 100: il segnale per spezzare
Una carta da 40 o da 100 non va registrata: va letta come una richiesta di spezzare la storia. A quella dimensione lo sprint non basta, e il numero dice solo che il lavoro è tanto e poco conosciuto.
Prendiamo «il viaggiatore può acquistare online un biglietto del treno con un cambio» su un sito di prenotazioni ferroviarie. Ci sono diversi modi per dividerla:
- Per passi del flusso. Ricerca delle soluzioni con cambio, scelta del posto su entrambi i treni, pagamento, invio del biglietto via email e nell’app. Ogni passo si può mostrare a un utente anche prima che il flusso sia completo.
- Per varianti delle regole. Prima solo la tariffa base, poi le riduzioni per giovani e over 60, poi le offerte a disponibilità limitata. Le regole tariffarie sono spesso la parte più incerta, e isolarle permette di stimarle a parte.
- Prima la lettura, poi la scrittura. Mostrare al viaggiatore le soluzioni con cambio e i prezzi è già utile; l’acquisto vero può arrivare nella storia successiva.
Quando ogni pezzo sta tra 1 e 13 si torna al planning poker normale, un pezzo alla volta. Non serve che finiscano tutti nello stesso sprint: il primo, da solo, può già andare in produzione.
Le alternative a Fibonacci
Taglie delle magliette
XS, S, M, L, XL. Rispondono bene a una domanda diversa da «quanto costa?», cioè «cosa facciamo prima?». Quando prepari un’offerta per una gara, dove bisogna passare in rassegna trenta funzionalità in un pomeriggio, ti basta sapere quali sono piccole e quali pesanti per decidere l’ordine e il perimetro. Attenzione però: anche sulle taglie si discute, e «M o L?» può durare quanto «5 o 8?». Se dalle taglie devono poi uscire date o costi, stabilisci prima quanti giorni o quanti punti vale ogni taglia, non a progetto avviato.
Potenze di due
1, 2, 4, 8, 16, 32. Sopra l’8 i passi sono più larghi di quelli di Fibonacci (16 e 32 contro 13 e 20), e questo piace ai team che lavorano spesso su storie grandi e vogliono separarle con decisione. In basso succede il contrario: il 4 deve coprire sia le storie che altrove sarebbero 3 sia quelle da 5, e chi ha un backlog fatto soprattutto di lavori piccoli perde proprio la distinzione che gli serve.
Quale scegliere
Parti da cosa farai con i numeri. Se li sommerai per ottenere una velocity e pianificare gli sprint, il mazzo di Fibonacci modificato è quello che quasi tutti conoscono già, e non devi spiegarlo a nessuno. Se ti serve soltanto mettere in ordine un elenco di idee, le taglie bastano e fanno perdere meno tempo. Se il team usa già un’altra scala e le sue previsioni reggono, non c’è motivo di cambiarla.
Qualunque scala tu scelga, i numeri hanno senso solo rispetto alle storie di riferimento del team, di cui parla la guida agli story point. Le regole di un giro sono nella guida al planning poker.