La velocity degli sprint è una sorta di tachimetro per il tuo progetto Agile, che fornisce approfondimenti senza precedenti sulla capacità di lavoro dei tuoi team Agile e di sviluppo. Questa guida illustra i principi della velocity in Scrum, spiega come calcolarla e come utilizzare questa potente metrica per prevedere le prestazioni future del tuo team.
Cos'è la velocity degli sprint in Scrum?
In Scrum e in altri framework di gestione dei progetti Agile, la velocity funge da metrica Agile per fornire una stima della quantità di lavoro che un team Scrum può completare in un determinato intervallo di tempo, in genere durante un singolo sprint.
Puoi esprimere la velocity in Story Point, unità che misurano la complessità, il rischio e l'incertezza dei task. A differenza delle metriche basate sul tempo come ore o giorni, gli Story Point offrono un modo più sfumato per stimare il lavoro.
Prendiamo come esempio una user story per lo sviluppo di una schermata di accesso a un'applicazione. Il team potrebbe assegnare a questo task un valore di 3 Story Point, in base alla complessità percepita e all'impegno richiesto per completarlo. L'integrazione di un gateway di pagamento complesso potrebbe richiedere un valore di 8 a causa della maggiore complessità e dei potenziali rischi.
Molti fattori determinano il numero di Story Point che ogni membro del team può completare durante uno sprint di due settimane, come l'esperienza individuale, la complessità dei task e le dinamiche di lavoro del team. I nuovi team Scrum generalmente dispongono in media di 5-10 Story Point a persona per ogni sprint di due settimane.
Comprendere la velocity del team può aiutare a migliorare continuamente. Consente ai team di prevedere gli sprint futuri, pianificare progetti e fissare obiettivi realistici. Questa metrica aiuta i team a sviluppare un ritmo di lavoro stabile, a prevedere le timeline dei progetti e a gestire le aspettative degli stakeholder. È anche fondamentale per un'efficace pianificazione degli sprint e per la gestione delle aspettative degli stakeholder.
Come calcolare la velocity degli sprint in Scrum
In genere, la velocity degli sprint si calcola alla fine di ogni sprint sommando gli Story Point o altre unità di misura di tutte le user story completate.
Ecco la procedura dettagliata per calcolare la velocity in Scrum:
1. Pianifica uno sprint
Prima dell'inizio di uno sprint, definisci e assegna i punti a tutte le user story nel backlog di prodotto. Ad esempio:
- Assegnare l'autenticazione utente: 5 punti
- Aggiungere l'integrazione di un gateway di pagamento: 8 punti
- Implementare la funzionalità di ricerca: 3 punti
- Sviluppare una pagina di profilo utente: 13 punti
- Implementare le notifiche via e-mail: 2 punti
- Ottimizzare le query sul database: 21 punti
- Creare una dashboard di amministrazione: 5 punti
Il team dovrà eseguire il commit per completare le storie utente nello sprint successivo basandosi sulla velocity media degli sprint precedenti e su altri fattori, come le festività o le dipendenze esterne. Ad esempio, se la velocity media è di 15 punti senza festività o dipendenze esterne, il team potrebbe eseguire il commit sulle storie utente per totalizzare circa 15 punti per lo sprint successivo.
2. Elenca le storie utente completate
Crea un elenco di tutte le storie utente completate alla fine di ogni sprint. Le storie devono aver soddisfatto i criteri di accettazione ed essere state approvate dallo Scrum Master e dall'owner di prodotto.
Se una user story è stata eseguita al 90%, il lavoro non può considerarsi del tutto completato. Il team dovrebbe passare allo sprint successivo e rivalutare i punti in base ai task rimanenti.
3. Controlla gli Story Point
Il team avrebbe già dovuto assegnare gli Story Point a tutte le user story completate. Se, per qualsiasi motivo, è necessario rivalutare gli Story Point, questo è il momento giusto per farlo.
Supponiamo che il team abbia completato tre storie utente nello sprint in corso: ha assegnato l'autenticazione utente, ha aggiunto l'integrazione del gateway di pagamento e ha implementato la funzionalità di ricerca. Puoi assegnare questi task con i seguenti story point:
- Assegnare l'autenticazione utente: 5 punti
- Aggiungere l'integrazione di un gateway di pagamento: 8 punti
- Implementare la funzionalità di ricerca: 3 punti
4. Somma i punti per calcolare la velocity
Successivamente, dovrai sommare gli Story Point di tutte le user story completate. Il totale degli Story Point corrisponde alla velocity dello sprint.
Nello scenario precedente il totale sarebbe 5+8+3 punti = 16 punti, che indica la velocity dello sprint in esame.
5. Media della velocity
Calcolare la velocity media degli sprint rispetto al numero di sprint completati dal team può fornire una misura più affidabile per gli sprint futuri. Questa misura va a vantaggio dei team appena formati o di quelli che hanno cambiato dimensioni o struttura.
Ad esempio, se le velocity degli ultimi tre sprint fossero 14, 16 e 15, la velocity media sarebbe (14+16+15)/3 = 15 punti.
Fattori che possono influire sulla velocity in Scrum
Esistono vari fattori che possono influenzare le metriche Scrum e la velocity. La loro comprensione può aiutare a pianificare e a migliorare continuamente le prestazioni del team.
Dimensioni del team e livello di competenza
Il numero dei membri di un team di sviluppo e i rispettivi livelli di abilità possono influenzare il lavoro che il team è in grado di completare durante uno sprint. Un team numeroso può completare più Story Point in uno sprint. D'altra parte, in un team più numeroso potrebbero esserci problemi di comunicazione e coordinamento.
Al contrario, un team di dimensioni ridotte altamente qualificato potrebbe superarne uno più grande con meno competenze, gestendo efficientemente i task complessi.
Stabilità ed esperienza del team
Se i membri del team Scrum lavorano insieme su più sprint, è probabile che riescano a risolvere molti dei problemi che si presentano ai nuovi team. Definiscono modelli di comunicazione, conoscono perfettamente le competenze di ogni membro
e condividono le esperienze su cui fare affidamento in caso di problemi. Tale familiarità può migliorare notevolmente la velocity.
Complessità delle storie utente
Uno sprint con storie complesse di solito si traduce in una bassa velocity. Il dato sulla velocity sarà fuorviante se la complessità non riflette accuratamente gli Story Point assegnati.
Per mantenere costante la velocity, alcuni team mirano a trovare un equilibrio tra task che possono essere completati rapidamente e task più complessi all'interno di uno sprint.
Dipendenze e vincoli esterni
La velocity del tuo team potrebbe ridursi se, per completare gli aggiornamenti del database o le integrazioni delle API, si affida a un altro team e questo accumula un ritardo sulle operazioni. Essere consapevoli di queste dipendenze e pianificarle attraverso un'efficace comunicazione tra i team può limitare gli impatti negativi sulla velocity.
Allo stesso modo, nella pianificazione degli sprint è necessario includere le festività o gli eventi aziendali obbligatori che riducono l'orario di lavoro disponibile.
Utilizzare la velocity in Scrum
La velocity del tuo team, se compresa a fondo, rappresenta uno strumento efficace per numerosi aspetti della pianificazione degli sprint e della gestione dei progetti, tra cui:
Stima degli sprint successivi
Conoscere la velocity media del tuo team aiuta a eliminare le congetture e a misurare con precisione la velocity degli sprint. Se la velocity media del tuo team negli ultimi tre sprint è stata di 50 Story Point, hai una base di riferimento incentrata sui dati per pianificare il prossimo sprint. Se il tuo prossimo backlog dello sprint ha circa 50 Story Point, l'impegno è accettabile.
Previsione delle timeline dei progetti
Gli stakeholder si affidano più alle stime basate sui dati che alle ipotesi o ai pronostici. Ad esempio, se il backlog del tuo progetto ha 200 story point e la velocity media del team è di 50 story points per ogni sprint, puoi prevedere con certezza che il team avrà bisogno di effettuare altri quattro sprint per completare il progetto.
Identificazione del troppo o dello scarso impegno
Bisogna prestare attenzione alla velocity di un team che improvvisamente scende a 30 o sale a 70 story point. Un calo sensibile potrebbe significare che il team percepisce un sovraccarico, mentre un aumento potrebbe indicare che i membri non sono sufficientemente motivati. Esserne consapevole ti consente di apportare modifiche in tempo reale, come riassegnare i task o rivedere gli obiettivi di sprint.
Monitoraggio dei miglioramenti e dell'avanzamento iterativo
Il monitoraggio della velocity nel tempo aiuta a stabilire se il team sta migliorando la propria efficienza o se è necessario prestare attenzione ai problemi in corso. Se la velocity sale da 40 a 60 nel corso di diversi sprint, è un segnale che i miglioramenti apportati al processo stanno generando i giusti risultati.
Monitoraggio della velocity degli sprint in Jira
Jira offre un grafico della velocity, oltre a una serie di altri report Agile che permettono al tuo team software di monitorare facilmente le velocity, prevedere le prestazioni future e semplificare la pianificazione degli sprint. È uno strumento completo per visualizzare quanto lavoro può gestire il tuo team e definire in modo più accurato gli obiettivi degli sprint successivi.
Inoltre, Jira offre le funzionalità di metriche Agile, approfondimenti contestuali, report e gestione dei progetti di cui il tuo team ha bisogno per migliorare la pianificazione e le prestazioni.
Domande frequenti: velocity degli sprint in Scrum
La velocity degli sprint in Scrum corrisponde alla produttività?
No, la velocity in Scrum è diversa dalla produttività. La velocity è una metrica utilizzata principalmente per la pianificazione e la stima della quantità di lavoro che un team può gestire negli sprint successivi.
La produttività è generalmente una valutazione più ampia che può includere fattori come la qualità del lavoro, l'efficienza dei processi e il valore apportato all'azienda.
Come può un team migliorare la propria velocity degli sprint?
I team possono migliorare la velocity organizzando riunioni retrospettive a frequenza regolare per discutere di cosa abbia funzionato o meno e pianificare quindi miglioramenti per lo sprint successivo. Ridurre al minimo il cambio di contesto, riducendo i frequenti spostamenti tra diversi task o progetti, può portare a una velocity più elevata e costante.
Quali sono i limiti dell'uso della velocity in Scrum?
Sebbene la velocity sia uno strumento di pianificazione utile, presenta dei limiti e non dovrebbe essere l'unica metrica delle prestazioni per valutare un team. Prendi in considerazione la possibilità di monitorare altre metriche Agile per una visione più completa delle prestazioni del team.
Una limitazione significativa è che la velocità non misura la qualità del lavoro o il valore aziendale fornito. È una misura quantitativa che non tiene conto degli aspetti qualitativi della complessità della storia utente singola.
La velocità è specifica del team, non è una misura per confrontare le prestazioni di team diversi. Ogni gruppo all'interno di un team può lavorare in modo diverso, con conseguenti variazioni di velocità. Una velocità complessiva inferiore non significa automaticamente che un team abbia meno successo di un altro.