Stima in modo relativo, prevedi con la velocity e riconosci quando le stime sbagliano.
Gli esseri umani sono scarsi nello stimare il tempo assoluto. "Ci vorranno 3 giorni" è quasi sempre sbagliato. Sottostimiamo la complessità e sovrastimiamo la nostra produttività.
Ma gli esseri umani sono bravi nel confronto relativo. "Questa storia è circa il doppio di quella" è qualcosa che possiamo fare in modo affidabile.
XP usa la stima relativa. Invece di stimare ore, stimiamo la dimensione. Una storia potrebbe essere un "2" o un "5" o un "13". Questi numeri non significano ore o giorni—significano dimensione relativa rispetto ad altre storie.
Perché il relativo funziona:
Siamo scarsi nell'indovinare quanto tempo richiedono le cose. Siamo bravi a dire 'questo è più difficile di quello'. XP gioca sui nostri punti di forza.
Gli Story Point sono l'unità più comune per la stima relativa.
I punti rappresentano sforzo, complessità e incertezza combinati—non tempo. Una storia da 5 punti richiede circa il doppio dello sforzo di una storia da 2 punti (più o meno), ma non necessariamente il doppio delle ore.
Scale di punti comuni:
Consigli per assegnare punti alle storie:
Il Planning Poker è una tecnica per raggiungere il consenso del team sulle stime.
Come funziona:
Perché la rivelazione simultanea? Per prevenire l'ancoraggio. Se lo sviluppatore senior dice "5" per primo, tutti gli altri si adeguano verso il 5. Rivelare simultaneamente cattura opinioni indipendenti.
Perché discutere i valori estremi? La persona che ha detto "13" potrebbe sapere qualcosa che gli altri non sanno ("questo richiede una migrazione del database"). La persona che ha detto "2" potrebbe avere un approccio più semplice. Entrambe le visioni migliorano la stima.
Il Planning Poker serve tanto a costruire una comprensione condivisa quanto a ottenere un numero. La discussione fa emergere assunzioni, rischi e decisioni di design.
Se il team non riesce a convergere dopo due round di votazione, la storia probabilmente deve essere suddivisa o esplorata prima con uno spike.
La velocity è quanti punti il team completa per iterazione. È la chiave per trasformare le stime relative in previsioni.
Se il team ha completato 30 punti nell'ultima iterazione, probabilmente completerà circa 30 punti nella prossima iterazione. Questo si chiama il tempo di ieri—il miglior predittore del tempo di domani è il tempo di oggi.
Usare la velocity:
Cosa influenza la velocity:
Non manipolare la velocity. Non è una metrica di produttività—è uno strumento di pianificazione. Gonfiare i punti o tagliare gli angoli per "aumentare la velocity" vanifica lo scopo.
Il team fa una media di 25 punti/sprint. Una nuova funzionalità è stimata a 75 punti. Il PM si aspetta circa 3 sprint e pianifica di conseguenza.
Il management fissa un obiettivo di 'aumentare la velocity del 20%'. Il team risponde stimando tutto più alto. I numeri della velocity salgono. L'output effettivo non cambia.
Le stime sono ipotesi. Saranno sbagliate. XP riconosce questo e integra l'adattabilità.
Fallimenti comuni nella stima:
Cosa fare quando si è fuori rotta:
Non nasconderlo. Non fare straordinari per rispettare una stima sbagliata. Il punto della stima è pianificare—se il piano è sbagliato, cambialo.
Nel tempo, le stime migliorano. Man mano che il team acquisisce esperienza con il codebase e tra loro, l'incertezza diminuisce. Ma non saranno mai perfette—ecco perché XP enfatizza l'adattamento rispetto alla previsione.
Le Stime Non Sono Impegni
Una stima è la tua migliore ipotesi con le informazioni attuali. Non è una promessa. Trattare le stime come impegni crea pressione a nascondere i problemi.