Le code sono WIP nascosto—e sono ovunque nella consegna del software.
Ogni coda è lavoro in corso che non sta progredendo. Le code sono dove il lavoro va ad aspettare.
Code ovvie:
Code meno ovvie:
Le code sono subdole. Sembrano organizzate—dopotutto, il lavoro è tracciato e prioritizzato. Ma sono WIP. Ogni elemento in una coda aggiunge tempo al lead time. Ogni coda è un luogo dove il lavoro aspetta invece di fluire.
Il Problema del Backlog
Un backlog grande fa sembrare che tu sia organizzato. In realtà, è inventario. La maggior parte degli elementi in un backlog grande non verrà mai realizzata, diventerà obsoleta prima di essere raggiunta o richiederà una significativa ri-scoperta. I backlog piccoli non sono un problema—sono una caratteristica.
Le code crescono quando il tasso di arrivo supera il tasso di partenza.
Se il lavoro arriva a un tasso di 10 elementi a settimana e la fase può completare 8 elementi a settimana, la coda cresce di 2 elementi settimanalmente. Dopo 10 settimane, c'è una coda di 20 elementi.
Vicino alla capacità, le code crescono esponenzialmente. All'80% di utilizzo, le code sono gestibili. Al 90%, crescono più velocemente. Al 95%, esplodono. Questa è la teoria delle code—matematicamente provata.
La trappola: I manager vedono una coda crescere e pensano "dobbiamo lavorare più velocemente". Ma spesso il problema non è la velocità—è il sovraccarico. Il tasso di arrivo supera la capacità. Lavorare più duramente non risolve la matematica.
Soluzioni:
L'ultima opzione—limitare il WIP—è spesso la più pratica. Non richiede assunzioni o cambiamenti importanti. Richiede solo la disciplina di non iniziare più di quanto si possa finire.
Un backlog di prodotto ha 800 elementi. Il team completa 10 elementi per sprint. Al ritmo attuale, svuotare il backlog richiederebbe 80 sprint (oltre 3 anni). La maggior parte degli elementi è obsoleta. Il backlog non è un piano—è un cimitero di buone intenzioni.
Un team limita il proprio backlog a 2 sprint di lavoro (~20 elementi). Le nuove idee vengono catturate ma non aggiunte finché non si libera spazio. Gli elementi che rimangono troppo a lungo vengono rivisti e spesso eliminati. Il backlog rimane fresco e significativo.
Non tutto il lavoro è uguale. Alcuni elementi sono urgenti. Alcuni sono standard. Alcuni hanno una data fissa (devono essere consegnati entro una data). Gestire le code efficacemente significa trattare diversi tipi in modo diverso.
Le classi di servizio definiscono categorie di lavoro con trattamento diverso:
Expedite: Lascia tutto. Questo deve fluire immediatamente. Molto raro (1-2% del lavoro). Spesso per emergenze di produzione.
Data fissa: Ha una scadenza. Necessita di capacità riservata o tracciamento speciale.
Standard: Lavoro normale. Fluisce a ritmo normale.
Intangibile: Lavoro di miglioramento. Debito tecnico. Bassa urgenza ma importante. Spesso programmato come percentuale della capacità.
L'errore è trattare tutto come expedite. Quando tutto è urgente, niente lo è. Le corsie expedite funzionano solo se sono rare.
Le classi di servizio aiutano a gestire le code:
Il Test Expedite
Se più del 5% del tuo lavoro è 'expedite', non hai una corsia expedite—hai un sistema caotico. O le cose non sono davvero expedite, o qualcosa è strutturalmente rotto a monte.