Pianificazione della velocità e della capacità
La velocità e la capacità non corrispondono allo stesso valore. L’una rappresenta il tempo impiegato in passato per portare a termine un’attività; l’altra è il tempo effettivamente a disposizione per questo sprint. Pianifichi tenendo conto di entrambi i valori: prevarrà quello più realistico.
La velocità e la capacità sono i due indicatori che garantiscono l’affidabilità di uno sprint, e i team che li confondono finiscono per assumersi impegni eccessivi sprint dopo sprint. La velocità indica la quantità di lavoro che avete storicamente portato a termine per ogni sprint. La capacità indica il tempo effettivamente a disposizione per lo sprint in corso. Questi due valori rispondono a domande diverse e, quando non coincidono, di solito è quello più basso ad avere ragione.
La distinzione che spesso viene trascurata
La velocità è un dato retrospettivo: calcolando la media dei story point completati dal vostro team negli ultimi sprint, otterrete una stima ragionevole di uno sprint normale. Questo approccio attenua le fluttuazioni di un singolo sprint, trasformandole in una linea di riferimento per la pianificazione. Tali punti derivano dalla stima; pertanto, se i vostri numeri oscillano, rendere più rigoroso il modo in cui effettuate la stima come team stabilizza la media della velocità su cui si basa la pianificazione.
La capacità è un dato prospettico e specifico dello sprint che avete davanti. Due sviluppatori in ferie, un giorno festivo, una settimana particolarmente impegnativa per i turni di reperibilità, la riunione generale di giovedì: nulla di tutto ciò incide sulla vostra media di velocità, ma tutto ciò incide sullo sprint che state per pianificare.
La velocità vi indica quindi come si presenta uno sprint tipico. La capacità vi indica se questo sprint è tipico. Se pianificate basandovi esclusivamente sulla velocità, ogni sprint abbreviato dalle festività o caratterizzato da un elevato numero di assenze andrà a rotoli. Se pianificate basandovi esclusivamente sulla capacità, perderete quella calibrazione che vi impedisce di sovraccaricare o sottocaricare eccessivamente uno sprint normale. Avete bisogno di entrambe; e laddove entrino in conflitto, affidatevi alla capacità. Essa conosce qualcosa che la media non conosce.
Calcolo della capacità su cui può fare affidamento
La capacità è una semplice operazione aritmetica che i team tendono regolarmente a calcolare in modo errato a causa del loro eccesso di ottimismo. Partite da una cifra elevata e sottraete con onestà:
- Giorni lavorativi nello sprint × numero di persone. Il Suo importo lordo iniziale.
- Sottraete le assenze programmate: ferie, giorni festivi, orari part-time.
- Sottraete gli impegni fissi: le cerimonie stesse, le riunioni ricorrenti, gli incontri individuali.
- Sottraete il carico di lavoro relativo all’assistenza e alle interruzioni: reperibilità, problemi di produzione, “domande veloci” che non sono mai così veloci. Se gestite un sistema di turni di assistenza, la persona di turno non è disponibile per il lavoro dello sprint, quindi non la conteggiate.
- Prevedete un margine per gli imprevisti. Succede sempre qualcosa. Una squadra che pianifica di utilizzare il 100% del tempo a sua disposizione è destinata a fallire non appena la realtà si intromette.
Ciò che resta è la capacità. L’errore più comune consiste nel saltare i passaggi 4 e 5. Il “costo delle interruzioni” è reale, e uno sprint pianificato come se ciò non dovesse accadere è uno sprint pianificato per un team che non esiste.
Velocity è uno strumento di pianificazione, non un tabellone dei punteggi
È proprio a questo punto che il concetto di velocità perde di significato. La velocità ha un unico scopo: aiutare un singolo team a pianificare i propri sprint futuri. Nel momento in cui diventa un obiettivo da raggiungere o un parametro di confronto tra i team, smette di misurare qualsiasi cosa, poiché il modo più semplice per aumentare la propria velocità è gonfiare le stime, cosa che tutti fanno di nascosto.
I punti storia sono relativi alla percezione condivisa di “dimensione” di un determinato team. Non sono trasferibili. L’8 del Team A non corrisponde all’8 del Team B; pertanto, l’affermazione «Il Team A ha totalizzato 60 punti e il Team B 40» equivale a un confronto tra due righelli diversi. La velocità è uno strumento di pianificazione, non un tabellone segnapunti. Rispettate questo limite e la velocità continuerà a essere utile.
Per quanto riguarda le modalità di calcolo effettivo della velocità, il numero di sprint da considerare per il calcolo della media e le modalità di gestione di un team completamente nuovo e privo di dati storici, si rimanda al capitolo dedicato alla velocità nella guida alla stima. Tale capitolo approfondisce gli aspetti tecnici, consentendo a questo capitolo di concentrarsi sulla pianificazione. E se le stime su cui si basa la vostra velocità sono inaffidabili, si tratta di un problema di stima da risolvere in fase di raffinamento, non in fase di pianificazione.
Mettendo entrambi all’opera nella pianificazione
Nel contesto della riunione, questi due valori assumono ruoli ben distinti. La capacità stabilisce il limite massimo: proceda con il lavoro fino a quando il totale delle stime non raggiunge la capacità calcolata per questo sprint, quindi si interrompa. La velocità funge da controllo di plausibilità: se la selezione basata sulla capacità risulta nettamente superiore o inferiore alla sua velocità normale, significa che qualcosa non quadra (o i calcoli relativi alla capacità o le stime) ed è opportuno riconsiderare la situazione prima di procedere.
In pratica: calcolate innanzitutto la capacità, utilizzatela come limite massimo durante la selezione e date un’occhiata alla velocità per verificare che il risultato non sia inaspettato. Quando la capacità e la velocità non coincidono, ad esempio perché lo sprint presenta carenze di personale o è abbreviato a causa delle festività, prendete il valore più basso e procedete. Un impegno insufficiente vi costa un po’ di Slack; un impegno eccessivo vi costa l’obiettivo dello sprint.
Domande frequenti
Qual è la differenza tra velocità e capacità?
La velocità indica la quantità di lavoro che un team ha storicamente portato a termine per ogni sprint, misurata in story point: si tratta di una media retrospettiva. La capacità indica il tempo di cui il team dispone effettivamente in questo sprint, al netto di ferie, riunioni e carico di lavoro di supporto. La velocità fornisce un’indicazione di uno sprint normale; la capacità indica se questo sprint è normale. Sono necessarie entrambe.
Come si calcola la capacità del team per uno sprint?
Si parta dai giorni lavorativi dello sprint, si moltiplichi per il numero di persone, quindi si sottraggano le deduzioni effettive: ferie programmate, giorni festivi, riunioni fisse e cerimonie, turni di supporto o di reperibilità e un margine di sicurezza per gli imprevisti. Ciò che rimane è la capacità. La maggior parte dei team la sovrastima, dimenticando il “costo delle interruzioni”.
Dovrebbe pianificare di procedere alla massima velocità?
No. La velocità è una media, quindi basare la pianificazione su di essa significa, per definizione, assumersi impegni eccessivi nella metà dei casi. Pianifichi in base alla Sua capacità per questo specifico sprint, verificandola rispetto alla velocità. Quando le due non coincidono (ad esempio, in caso di uno sprint abbreviato a causa delle festività), si affidi alla capacità e scelga il valore più basso.
La velocità è un indicatore della produttività?
No, e considerarlo come tale ne compromette l’efficacia. La velocità è uno strumento di pianificazione che aiuta un singolo team a formulare le proprie previsioni. Nel momento in cui diventa un obiettivo o un parametro di confronto tra team, questi ultimi tendono a gonfiare le stime e il dato smette di essere significativo. I punti non sono trasferibili tra i team.