Cycle Time vs Lead Time
Il Cycle Time è il tempo per completare un elemento di lavoro. Scopri come misurarlo, differenze con Lead Time, formule, strumenti e strategie di miglioramento.
| Cycle Time | Lead Time | |
|---|---|---|
| Definition | Il Cycle Time (Tempo di Ciclo) è una metrica fondamentale nello sviluppo Agile e nel Kanban che misura il tempo necessario per completare un singolo elemento di lavoro, dal momento in cui il lavoro attivo inizia fino a quando l'elemento è pronto per la consegna. In termini semplici: Cycle Time = quanto tempo ci vuole per fare una cosa. Secondo il DORA Report (2023), il Cycle Time è uno dei quattro indicatori chiave (insieme a Deployment Frequency, Change Failure Rate e MTTR) che distinguono i team di sviluppo ad alte prestazioni. I team elite hanno un Cycle Time misurato in ore, mentre i team a basse prestazioni in settimane o mesi. Daniel Vacanti, autore di «Actionable Agile Metrics for Predictability» (2015), afferma: «Il Cycle Time è la metrica più importante per la previsione. Se potete misurare una sola cosa, misurate il Cycle Time». | Lead Time, o tempo di consegna, è la durata totale dall'inizio al completamento di un ordine, spesso utilizzato per misurare l'efficienza delle operazioni. |
| Categories | agile, cycle time, kanban, lead time, metriche, tasso di consegna, throughput | cycle Time, kanban, lean, metrica |
Cos'è il Cycle Time nel Kanban e Agile?
Il Cycle Time è il tempo per completare un elemento di lavoro. Scopri come misurarlo, differenze con Lead Time, formule, strumenti e strategie di miglioramento.
Cos'è il Cycle Time?
Il Cycle Time (Tempo di Ciclo) è una metrica fondamentale nello sviluppo Agile e nel Kanban che misura il tempo necessario per completare un singolo elemento di lavoro, dal momento in cui il lavoro attivo inizia fino a quando l'elemento è pronto per la consegna.
In termini semplici: Cycle Time = quanto tempo ci vuole per fare una cosa.
Secondo il DORA Report (2023), il Cycle Time è uno dei quattro indicatori chiave (insieme a Deployment Frequency, Change Failure Rate e MTTR) che distinguono i team di sviluppo ad alte prestazioni. I team elite hanno un Cycle Time misurato in ore, mentre i team a basse prestazioni in settimane o mesi.
Daniel Vacanti, autore di «Actionable Agile Metrics for Predictability» (2015), afferma: «Il Cycle Time è la metrica più importante per la previsione. Se potete misurare una sola cosa, misurate il Cycle Time».
Cycle Time vs. Lead Time
La differenza tra Cycle Time e Lead Time è una delle fonti di confusione più comuni:
| Aspetto | Cycle Time | Lead Time |
|---|---|---|
| Inizio | Quando inizia il lavoro attivo | Quando viene fatta la richiesta |
| Fine | Quando l'elemento è completato | Quando l'elemento è consegnato |
| Include | Solo il tempo di lavorazione | Anche il tempo di attesa in coda |
| Prospettiva | Team di sviluppo | Cliente |
| Formula | Completamento - Inizio lavoro | Completamento - Richiesta |
Esempio pratico
Un utente segnala un bug lunedì. Il bug viene messo nel backlog e resta in coda fino a mercoledì, quando uno sviluppatore inizia a lavorarci. Il bug viene risolto venerdì.
- Lead Time = Venerdì - Lunedì = 5 giorni (prospettiva cliente)
- Cycle Time = Venerdì - Mercoledì = 3 giorni (prospettiva team)
Come calcolare il Cycle Time
Formula base
Cycle Time = Data di Completamento - Data di Inizio Lavoro + 1
Il +1 garantisce che un elemento completato lo stesso giorno in cui è iniziato abbia un Cycle Time di 1 giorno (non 0).
Cycle Time medio
Cycle Time Medio = Σ (Cycle Time di ogni elemento) / Numero di elementi
Throughput e Cycle Time (Legge di Little)
La Legge di Little collega Cycle Time, WIP e Throughput:
Cycle Time = WIP / Throughput
Dove:
- WIP = Work In Progress (elementi in lavorazione)
- Throughput = Elementi completati per unità di tempo
Implicazione pratica: Per ridurre il Cycle Time, riducete il WIP o aumentate il Throughput.
Come misurare il Cycle Time
Strumenti e board
Con una Kanban board:
- Registrate la data in cui un elemento entra nella colonna «In Progress»
- Registrate la data in cui l'elemento entra nella colonna «Done»
- Calcolate la differenza
Strumenti digitali
| Strumento | Funzionalità Cycle Time |
|---|---|
| Jira | Control Chart, Cycle Time Report |
| Azure DevOps | Cycle Time widget, Analytics |
| Trello | Plugin Analytics |
| Kanbanize | Cycle Time breakdown |
| ActionableAgile | Analisi avanzata Cycle Time |
| LinearB | Engineering metrics |
Cycle Time Scatterplot
Il Scatterplot (diagramma a dispersione) è la visualizzazione più utile del Cycle Time:
- Asse X: Data di completamento
- Asse Y: Cycle Time (in giorni)
- Ogni punto: Un elemento completato
- Percentili: Linee orizzontali per 50°, 85°, 95° percentile
Il percentile dell'85% è il più utilizzato per il forecasting: «L'85% dei nostri elementi viene completato entro X giorni».
Strategie per migliorare il Cycle Time
1. Limitare il WIP (Work In Progress)
La strategia più efficace: limitare il numero di elementi in lavorazione contemporaneamente.
- Perché funziona: Meno context switching, focus migliore, problemi emergono prima
- Come: Impostate WIP limit su ogni colonna della Kanban board
- Target: Iniziate con WIP limit = numero team members, poi riducete
2. Ridurre le dimensioni degli elementi
Elementi più piccoli hanno Cycle Time più prevedibili:
- Dividete user stories grandi in più piccole
- Target: Ogni elemento completabile in 1–3 giorni
- Regola: Se supera i 5 giorni, probabilmente è troppo grande
3. Eliminare i blocchi
Identificate e rimuovete ciò che blocca il flusso:
- Code review lunghe → Accordi su tempi di risposta
- Dipendenze esterne → Pianificazione anticipata
- Ambienti non disponibili → Infrastruttura as code
- Approvazioni → Processi semplificati
4. Automatizzare
L'automazione riduce il tempo delle fasi non-creative:
- CI/CD per build e deploy automatici
- Test automatizzati per feedback rapido
- Provisioning automatico degli ambienti
- Code review automatizzata (linting, static analysis)
5. Ridurre il batch size
Lavorare su batch più piccoli:
- Release frequenti — piccoli incrementi invece di grandi rilasci
- Pull request piccole — più facili da revisare
- Feedback loop corti — validazione rapida con stakeholder
Cycle Time e previsione (Forecasting)
Previsione basata su percentili
Utilizzando dati storici del Cycle Time:
| Percentile | Significato | Uso |
|---|---|---|
| 50° | Metà degli elementi entro X giorni | Stima ottimistica |
| 85° | 85% degli elementi entro X giorni | Stima raccomandata |
| 95° | 95% degli elementi entro X giorni | Stima conservativa |
Esempio: Se il Cycle Time all'85° percentile è 5 giorni, potete dire con 85% di fiducia che il prossimo elemento sarà completato entro 5 giorni.
Monte Carlo simulation
Per previsioni più sofisticate, la simulazione Monte Carlo utilizza dati storici del Cycle Time per generare migliaia di scenari possibili e fornire previsioni probabilistiche.
Cycle Time nel DORA framework
Il DORA framework identifica 4 metriche chiave:
| Livello | Lead Time for Changes | Deployment Frequency |
|---|---|---|
| Elite | < 1 ora | On demand (più volte/giorno) |
| High | 1 giorno – 1 settimana | 1/giorno – 1/settimana |
| Medium | 1 settimana – 1 mese | 1/settimana – 1/mese |
| Low | > 6 mesi | < 1/6 mesi |
Statistiche e fatti
- I team elite hanno un Cycle Time di ore, i team low di mesi (DORA, 2023)
- Limitare il WIP riduce il Cycle Time del 30–50% (Kanban University, 2023)
- Il 70% del Cycle Time è tipicamente tempo di attesa, non di lavoro attivo (Lean Enterprise Institute)
- I team che misurano il Cycle Time migliorano le loro previsioni del 40% (ActionableAgile, 2022)
- Ridurre il Cycle Time del 50% porta a un aumento del throughput del 30–40% senza aumentare il team
Domande frequenti (FAQ)
Il Cycle Time include i weekend?
Dipende dal team. Molti team usano giorni lavorativi per il Cycle Time. L'importante è essere coerenti nella misurazione.
Qual è un buon Cycle Time?
Non esiste un valore universale. L'obiettivo è che il Cycle Time sia stabile e prevedibile. Per user stories, un target comune è 1–5 giorni lavorativi.
Come gestire gli outlier nel Cycle Time?
Gli outlier (elementi con Cycle Time anomalo) dovrebbero essere investigati, non ignorati. Spesso indicano blocchi o problemi di processo. Usate il 85° percentile per escluderli dal forecasting.
Cycle Time e Velocity: quale usare?
- Velocity è utile per lo Sprint Planning in Scrum
- Cycle Time è più utile per il forecasting e il miglioramento del processo
- Idealmente, usateli entrambi per prospettive complementari
Come iniziare a misurare il Cycle Time?
- Configurate la vostra board Kanban con colonne chiare
- Registrate le date di inizio e fine di ogni elemento
- Dopo 10–15 elementi, iniziate ad analizzare i dati
- Calcolate percentili e Cycle Time medio
- Usate i dati per informare le previsioni
Termini correlati
Cos'è il Lead Time?
È la durata totale dall'inizio al completamento di un ordine.
Definizione
Lead Time, o tempo di consegna, è la durata totale dall'inizio al completamento di un ordine, spesso utilizzato per misurare l'efficienza delle operazioni.
Formula
Lead Time = Data di Consegna - Data dell'Ordine