Usare i dati per identificare dove il flusso si interrompe e cosa fare al riguardo.
Un collo di bottiglia è una fase che limita il throughput dell'intero sistema. È il passaggio più lento del processo.
Theory of Constraints (Eli Goldratt): L'output del sistema non può mai superare l'output del collo di bottiglia. Migliorare qualsiasi cosa diversa dal collo di bottiglia non migliora il sistema.
In Kanban:
Ogni sistema ha un collo di bottiglia. Quando ne risolvi uno, ne emerge un altro. Questo non è un fallimento—è così che funziona il miglioramento. Il collo di bottiglia dovrebbe spostarsi man mano che migliori.
Metriche che rivelano i colli di bottiglia:
1. Lunghezza delle code (WIP in stati di attesa) Se "Pronto per QA" ha 8 elementi mentre altre code ne hanno 1-2, probabilmente QA è il collo di bottiglia.
2. Tempo nella fase Se gli elementi trascorrono 3 giorni nello sviluppo ma 5 giorni nella revisione del codice, la revisione del codice sta rallentando le cose.
3. Larghezza delle bande CFD Bande larghe = WIP alto = collo di bottiglia. Cerca bande che crescono nel tempo.
4. Età dell'elemento più vecchio per fase Se l'elemento più vecchio in "Deploy" ha 2 giorni ma il più vecchio in "Testing" ha 10 giorni, il testing è il vincolo.
Colli di bottiglia comuni nei team software:
Una volta identificato il collo di bottiglia, le opzioni includono:
1. Aggiungere capacità al collo di bottiglia
2. Scaricare lavoro dal collo di bottiglia
3. Ridurre la domanda sul collo di bottiglia
4. Subordinare altre fasi al collo di bottiglia
5. Elevare il collo di bottiglia
QA è il collo di bottiglia. Il team decide: (1) Due sviluppatori iniziano ad aiutare con il testing, (2) Aggiungere più test automatizzati per ridurre il carico di QA manuale, (3) Stringere il limite WIP sullo sviluppo così QA non viene sommerso. Il throughput di QA aumenta, il flusso migliora.
QA è il collo di bottiglia. Il team decide di 'andare più veloce' nello sviluppo tagliando gli angoli. Il throughput dello sviluppo aumenta. L'accumulo in QA peggiora. La qualità cala. Il throughput del sistema rimane invariato.
Quando risolvi un collo di bottiglia, ne appare uno nuovo. Questo è previsto e sano.
Il ciclo:
Progressione comune nei team software:
Questo è progresso! Ogni volta che il collo di bottiglia si sposta, la capacità del tuo sistema è aumentata.
Il pericolo: Cercare di risolvere tutti i colli di bottiglia contemporaneamente. Non puoi. Concentrati sul vincolo attuale. Quando non è più il vincolo, passa al successivo.
Se non sei sicuro quale fase sia il collo di bottiglia, probabilmente i tuoi limiti WIP sono troppo lassi. Stringili finché non si formano code—allora vedrai chiaramente il collo di bottiglia.