Come funziona Kanban: limitare il Work in Progress (WIP), un approccio migliorativo rispetto al Drum-Buffer-Rope della Teoria dei Vincoli

Ho già spiegato in un precedente articolo l’utilità della Teoria dei Vincoli per stabilizzare i flussi di lavoro, in questo approfondisco come la pratica Kanban di Limitare il Work in Progress (WIP) sia un approccio migliorativo rispetto al Drum-Buffer-Rope (DBR) della Teoria dei Vincoli.

In cosa consiste la pratica Kanban di Limitare il WIP?

Limitare il WIP (Work in Progress) è uno dei pilastri del metodo Kanban, che prevede di fissare un limite al numero di attività che possono essere gestite simultaneamente in ogni fase del processo lavorativo. Questo approccio permette di stabilizzare il flusso di lavoro, mantenere alta la focalizzazione e ridurre il multitasking, creando le condizioni per una migliore qualità del lavoro. Limitare il WIP rende più evidenti i colli di bottiglia in qualunque punto del processo, garantendo interventi tempestivi per risolvere le inefficienze.

Drum-Buffer-Rope (DBR) nella Teoria dei Vincoli

Il DBR è una tecnica sviluppata all’interno della Teoria dei Vincoli. Si basa sul principio che in ogni processo esiste un ‘vincolo’, ovvero un collo di bottiglia che determina la velocità complessiva del sistema. Il metodo DBR si concentra su questo vincolo, cercando di sincronizzare tutte le altre attività attorno a esso. Gli elementi fondamentali del DBR sono:

  • Drum: Il ritmo di lavoro dettato dal vincolo.
  • Buffer: Una riserva di attività pronta per essere lavorata dal vincolo.
  • Rope: Un meccanismo che sincronizza il flusso delle attività per evitare sovraccarichi.

Il DBR è un approccio efficace per contesti in cui un singolo vincolo domina l’intero processo, ma non sempre è adatto a flussi di lavoro più complessi e dinamici.

Sistema Kanban con indicati i limiti al WIP (sotto ai titoli delle colonne).
Fonte: Andy Carmichael – © CC BY-SA 4.0

Perché Limitare il WIP è migliorativo Rispetto a DBR

1. Ottimizzazione di ogni fase vs. focalizzazione su un singolo vincolo

Il principale vantaggio di Limitare il WIP rispetto al DBR è che permette di ottimizzare ogni fase del flusso di lavoro, non solo quella corrispondente al vincolo principale. Nel DBR, tutta l’attenzione è focalizzata sull’elemento più lento o meno efficiente del sistema, trascurando possibili inefficienze in altre fasi. Limitare il WIP, invece, stabilisce dei limiti per ciascuna fase, garantendo che il carico di lavoro sia sempre bilanciato. Ciò consente una visione d’insieme del processo, identificando colli di bottiglia in qualsiasi punto, e non solo in corrispondenza del vincolo principale.

2. Maggiore flessibilità

Un altro punto di forza di Limitare il WIP è la sua flessibilità. Il metodo permette di adattare i limiti in base alle necessità e al carico di lavoro del team. Se una fase del processo si rivela più critica in un determinato momento, è possibile intervenire velocemente e cambiare i limiti al WIP. Al contrario, il DBR è più rigido e focalizzato sul vincolo principale, risultando meno efficace in situazioni dinamiche, dove i colli di bottiglia possono spostarsi rapidamente da una fase all’altra.

3. Miglioramento della qualità e riduzione del multitasking

Mediante la pratica di Limitare il WIP, i team sono incentivati a terminare le attività già iniziate prima di avviare nuove, riducendo così il multitasking. Questo approccio aumenta la qualità del lavoro, in quanto permette di dedicare maggiore attenzione alle singole attività. Nel DBR, invece, la priorità è mantenere attivo il vincolo principale, il che può portare a sovraccaricare altre fasi del processo, inducendo il team a spostare la propria attenzione su più attività contemporaneamente.

4. Maggiore trasparenza e visibilità dei problemi

Limitare il WIP garantisce una trasparenza immediata grazie alla visualizzazione del flusso di lavoro per esempio su una Kanban board, dove ogni fase, ogni attività e i limiti al WIP sono chiaramente rappresentati. Quando si raggiunge il limite WIP in una fase, diventa subito evidente che ci sono problemi da risolvere. Con il DBR, la visibilità è limitata al vincolo principale, il che può far trascurare inefficienze in altre fasi del processo.

5. Prevedibilità e stabilizzazione del flusso

Infine, Limitare il WIP contribuisce a rendere il flusso di lavoro maggiormente prevedibile e stabile. Limitare il numero di attività in corso riduce i tempi di attesa e la variabilità, permettendo una gestione più accurata. Il DBR, concentrandosi sul vincolo principale, non sempre offre la stessa prevedibilità, poiché parti del processo a monte del vincolo principale potrebbero accumulare ritardi non previsti.

David J. Anderson, nel suo libro Discovering Kanban, a questo proposito spiega (la traduzione e mia): “Drum-Buffer-Rope porta il flusso a procedere al ritmo del collo di bottiglia e impedisce all’intero sistema di sovraccaricarsi: crea stabilità. Tuttavia, nella sua forma più semplice, non è robusto alla variabilità dei tempi di ciclo o alla disomogeneità del flusso a monte del collo di bottiglia. Nel caso in cui il collo di bottiglia si bloccasse, il lavoro già iniziato continuerebbe a scorrere verso di esso. Il riavvio del processo del collo di bottiglia diventa problematico, in quanto potrebbe essere sopraffatto dal lavoro che si accumula in eccesso nel suo buffer protettivo a monte.”

Un esempio pratico: Limitare il WIP vs DBR

Consideriamo un team di sviluppo software che lavora allo sviluppo di un nuovo software. Il flusso di lavoro comprende diverse fasi: analisi, sviluppo, testing e rilascio. Supponiamo che la fase di testing sia un collo di bottiglia, perché solo uno sviluppatore è qualificato per svolgere i test più complessi.

Applicazione del DBR

Utilizzando il metodo DBR, il team si concentra sul vincolo, cioè la fase di testing. Il tester lavora al ritmo massimo possibile (il “drum”), e viene creata una riserva di lavoro (buffer) per assicurarsi che il tester non rimanga mai senza lavoro da eseguire. Nel frattempo, un meccanismo di controllo (rope) impedisce che troppo lavoro entri nel sistema, sincronizzando tutte le altre fasi al ritmo del tester.

Questo approccio permette di garantire che il vincolo non rimanga inattivo, ma può creare squilibri in altre fasi del processo. Ad esempio, lo sviluppo o l’analisi potrebbero accumulare più lavoro del necessario, o rimanere in attesa senza produrre valore, creando inefficienze non rilevate.

Applicazione della pratica Limitare il WIP

Con la pratica Limitare il WIP di Kanban, il team stabilisce un numero massimo di attività per ogni fase del processo. Ad esempio, nella fase di testing si decide che non possono essere in corso più di 3 attività contemporaneamente. Quando questo limite viene raggiunto, il team deve fermarsi e risolvere i problemi nella fase di testing prima di aggiungere nuove attività.

Allo stesso modo, limiti WIP vengono fissati anche nelle fasi di sviluppo e analisi, per evitare che si accumuli lavoro in eccesso in una sola fase. Questo approccio assicura che ogni fase del processo mantenga un carico di lavoro bilanciato, riducendo i tempi di attesa e stabilizzando il flusso di lavoro complessivo. Se, ad esempio, lo sviluppo raggiunge il suo limite, il team è costretto a risolvere il blocco prima di spostare nuove attività verso la fase successiva.

Nel lungo termine, Limitare il WIP garantisce che il team mantenga un ritmo costante, riducendo al minimo gli sprechi di tempo e risorse. In questo modo, non solo si risolve il problema del vincolo principale, ma si ottimizza l’intero processo, portando a un miglioramento complessivo delle prestazioni.

Conclusioni

Sebbene il Drum-Buffer-Rope della Teoria dei Vincoli rappresenti un valido approccio per ottimizzare il flusso di lavoro attorno a un vincolo principale, Limitare il WIP in Kanban si dimostra più efficace in ambienti complessi e dinamici. Limitare il WIP offre maggiore flessibilità, trasparenza e ottimizza ogni fase del processo, non solo il vincolo. Inoltre, riduce il multitasking e aumenta la qualità del lavoro, contribuendo a stabilizzare e rendere più prevedibile l’intero flusso.

La pratica Kanban di Limitare il WIP consente ai team di adattarsi rapidamente ai cambiamenti e migliorare continuamente, rendendolo un approccio più robusto e adatto ai contesti attuali e ai settori in cui la gestione efficace del flusso di lavoro è fondamentale per mantenere l’organizzazione economicamente sostenibile.

Come funziona Kanban: Personal Capacity Planning, una pratica che aumenta la produttività dei team Kanban

La pratica di guardare al programma settimanale tipico e di fare un’analisi personale della capacità produttiva rispetto alle diverse attività da svolgere – che ho chiamato Personal Capacity Planning – è un esercizio che da oltre un decennio suggerisco alle persone a cui faccio da coach in molte organizzazioni. E ha sempre aumentato la loro produttività.

Primo passo: cercare i modelli settimanali personali

Il metodo applicato è molto empirico e pragmatico. Non vengono fatte stime o pianificazioni delle attività, che sarebbero dispendiose in termini di tempo e di denaro; l’idea è invece quella di ricordare ciò che è stato fatto in media nelle ultime settimane, alla ricerca di un modello. Un approccio alternativo consiste semplicemente nel tenere traccia e registrare ciò che viene fatto nell’arco di due o tre settimane.

Personal Capacity Planning su lavagna del 2011

Ciò che emerge è di solito un modello di come i carichi sono tipicamente distribuiti per mantenere il livello di attività corrente, e la cosa che mi ha sempre sorpreso è come si possano individuare modelli sensati anche in organizzazioni piuttosto caotiche (livello di maturità tra 0 e 3 del Modello di Maturità Kanban). È come se le persone in queste organizzazioni tendessero istintivamente a compensare il caos che le circonda dandosi delle routine prevedibili a livello personale. Inoltre, mantiene la sua utilità anche nelle organizzazioni con un livello di maturità più elevato.

Secondo passo: regolare i modelli per far evolvere il flusso di lavoro

L’aspetto interessante è che questa tendenza istintiva può essere sfruttata per evolvere e stabilizzare i flussi di lavoro. Il solo fatto che le persone visualizzino la loro settimana tipo e ne diventino più consapevoli, tende a stabilizzare il loro comportamento e quindi il sistema. Inoltre, applicando altre pratiche Kanban insieme al team, come la visualizzazione del lavoro, l’analisi dei flussi di lavoro, la raccolta delle metriche iniziali e la comprensione delle azioni che possono migliorare il flusso di lavoro, il team può agire in modo condiviso sui modelli personali di pianificazione delle capacità, cercando di modificarli per facilitare il miglioramento del flusso di lavoro nella direzione desiderata. All’interno delle cadenze Kanban, in primo luogo il Team Kanban Meeting ma anche la Service Delivery Review, il team può discutere e condividere come eseguire esperimenti safe-to-fail regolando ogni singolo pattern per far evolvere i flussi di lavoro, in modo che con successivi aggiustamenti nel tempo i flussi di lavoro possano essere stabilizzati e ottimizzati.

Ho trovato questa pratica particolarmente utile quando le persone sono impegnate in diversi team e in diversi flussi di lavoro, e ho sempre osservato empiricamente una tendenza a riequilibrare le prestazioni tra i flussi, ad esempio rallentando i flussi di lavoro che stanno ottenendo risultati migliori rispetto agli SLA (livelli di servizio concordati) a favore di un’accelerazione dei flussi di lavoro che sono sottoperformanti.

Personal Capacity Planning su supporto elettronico del 2024

Terzo passo: riservare la capacità secondo le proprie esigenze

Regolare e riequilibrare la capacità personale permette anche di riservare della capacità, se necessario. Quando ho attuato questa pratica per la prima volta, nel 2011, ero il delivery manager di un’azienda di software e guidavo un gruppo di project manager. Il problema principale di allora era che molte risorse impegnate nei progetti erano condivise ed erano anche impegnate in altre attività di manutenzione operativa. È stato allora che ci è venuta l’idea di riservare degli “slot” di capacità, in modo da evitare conflitti con i progetti e assicurarci che la capacità disponibile per i progetti fosse realistica.

In seguito ho utilizzato lo stesso approccio ogni volta che mi sono trovato in una situazione simile. Ad esempio, mi ha aiutato ad applicare Scrum: se le stesse persone dovevano partecipare a team diversi, di cui solo alcuni applicavano Scrum, nasceva la necessità di riservare slot condivisi in cui lavorare in co-locazione e applicare i “rituali” di Scrum. Più di recente, l’ho utilizzato per i team che sono coinvolti in attività di supporto e service desk oltre che in progetti di sviluppo, bilanciando i carichi di lavoro e riservando i turni come agenti del service desk.

Come questa pratica può esservi di aiuto?

La reazione iniziale all’introduzione di questa pratica è sempre stata di sospetto, come se volessi farmi gli affari del team e controllarli mettendoli in una sorta di “gabbia”. Dopo qualche tempo, però, le persone hanno sempre scoperto che non si tratta di una “gabbia”, ma di un metodo gestito autonomamente dal team stesso e finalizzato a sostenere la stabilità e la prevedibilità del loro sistema di lavoro, indipendentemente da fattori esterni di disturbo. Una maggiore stabilità e prevedibilità del sistema significa che le persone, e i team di cui fanno parte, hanno nel tempo un controllo sempre più efficace sui livelli di servizio che offrono ai clienti e quindi, in ultima analisi, diventano padroni del proprio destino.

Questa pratica non limita, non rinchiude il team in una “gabbia”, ma fa l’opposto, sollevando il team dalla pressione esterna. È un concetto controintuitivo che può essere compreso appieno solo sperimentando una pratica che si integra perfettamente con il Metodo Kanban ed è pienamente in linea con i suoi principi.

Link all’articolo originale (in inglese).