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 in questo sprint. 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. In questo modo, si appiana la variabilità di un singolo sprint, trasformandola in una linea di riferimento per 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ò influisce sulla vostra media di velocità, ma tutto ciò incide sullo sprint che state per pianificare.

La velocità, quindi, vi indica 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 numerose 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 aspetti che la media non coglie.

Capacity in hours versus velocity in points — different units Capacity ≈ 120 h hours available Velocity ≈ 30 pts points delivered different units — you can't convert one into the other
La velocità rappresenta la media storica; la capacità è quella effettivamente disponibile in questo sprint. Quando una festività o una settimana particolarmente impegnativa dal punto di vista dell’assistenza riduce la capacità al di sotto della velocità, pianifichi in base al valore più basso: la media, infatti, non tiene conto della festività.

Il calcolo della capacità su cui può fare affidamento

La capacità è una semplice operazione aritmetica che i team tendono regolarmente a sbagliare a causa del loro eccessivo ottimismo. Si parte da una cifra elevata e si sottrae in modo onesto:

  1. Giorni lavorativi nello sprint × numero di persone. Il vostro importo lordo iniziale.
  2. Sottrarre le assenze programmate — ferie, giorni festivi, orari part-time.
  3. Sottraete gli impegni fissi — le cerimonie stesse, le riunioni ricorrenti, gli incontri individuali.
  4. 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.
  5. Prevedete un margine di manovra per gli imprevisti. C’è sempre qualcosa che va storto. Una squadra che pianifica di sfruttare al 100% il tempo a sua disposizione è destinata a fallire non appena la realtà si intromette.

Ciò che resta è la capacità. L’errore più comune consiste nel tralasciare 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 in silenzio.

I punti storia sono relativi alla percezione condivisa delle dimensioni da parte di un determinato team. Non sono trasferibili. L’8 della Squadra A non è l’8 della Squadra B, quindi l’affermazione «La Squadra A ha totalizzato 60 punti e la Squadra B 40» equivale a confrontare due righelli diversi. La velocità è uno strumento di pianificazione, non un tabellone segnapunti: se si rispetta questo confine, essa mantiene la sua utilità.

Per quanto riguarda le modalità effettive di calcolo della velocità, il numero di sprint da considerare per il calcolo della media e le modalità di gestione di un team nuovo di zecca privo di dati storici, si rimanda al capitolo sulla 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 incerte, si tratta di un problema di stima da risolvere in fase di affinamento, non in fase di pianificazione.

Metterli entrambi a frutto nella pianificazione

In questo contesto, i due valori svolgono ruoli 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 fermi. La velocità funge da controllo di coerenza: 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 è a corto di personale o è stato 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 calcolata a posteriori. La capacità indica il tempo di cui il team dispone effettivamente in questo sprint, al netto di permessi, riunioni e carico di lavoro di supporto. La velocità fornisce un’indicazione su come si svolge uno sprint normale; la capacità indica se questo sprint è normale. Sono necessari entrambi.

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 e cerimonie fisse, 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”.

Dovreste pianificare di procedere a tutta velocità?

No. La velocità è una media, quindi basare la pianificazione su di essa significa, per definizione, assumersi impegni eccessivi nella metà dei casi. Pianificate in base alla vostra capacità per questo specifico sprint, verificandola rispetto alla velocità. Quando i due valori non coincidono — ad esempio, in caso di uno sprint abbreviato a causa delle festività — affidatevi alla capacità e optate per il valore più basso.

La velocità è un indicatore di produttività?

No, e considerarlo come tale lo compromette. 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 i team, questi ultimi tendono a gonfiare le stime e il dato smette di essere significativo. I punti non sono trasferibili tra i team.