Kanban
Quando si pensa allo sviluppo agile, molti si riferiscono al popolare metodo Scrum. Esso non è tuttavia l’unico modo per utilizzare una gestione agile dei progetti all’interno della vostra azienda. Kanban è un altro metodo redditizio già utilizzato in molti ambiti. Ma Kanban è adatto anche alla vostra azienda o al vostro progetto? Vi spieghiamo come funziona il metodo.
Kanban viene originariamente dal Giappone. La Toyota sviluppò questo sistema già nel 1947. Ecco spiegato il suo nome: è una parola composta da due sillabe giapponesi, kan e ban, che letteralmente significa “carta segnale”. A quell’epoca con l’aiuto di Kanban venivano ottimizzati i flussi di materiale. Toyota voleva infatti evitare carenze ma anche eccessi di scorte di materiali di produzione. Il risultato oggi viene chiamato anche metodo pull, poiché l’approvvigionamento viene richiesto solo quando le scorte stanno terminando.
Basandosi su questa idea, il metodo si è affermato anche nello sviluppo dei software. Sia alla Microsoft che alla Corbis (un’altra azienda di Bill Gates) negli anni 2000 l’idea dello sviluppo snello proveniente dall’industria automobilistica è stata reinterpretata e adattata. Non si trattava più di gestire i materiali di produzione, ma di assegnare compiti secondo il metodo pull: non appena un team porta a termine un compito, ne vengono “tirati” altri dal backlog. In questo modo il flusso di lavoro può essere migliorato anche in tanti altri campi.
Basandosi su questa idea, il metodo si è affermato anche nello sviluppo dei software. Sia alla Microsoft che alla Corbis (un’altra azienda di Bill Gates) negli anni 2000 l’idea dello sviluppo snello proveniente dall’industria automobilistica è stata reinterpretata e adattata. Non si trattava più di gestire i materiali di produzione, ma di assegnare compiti secondo il metodo pull: non appena un team porta a termine un compito, ne vengono “tirati” altri dal backlog. In questo modo il flusso di lavoro può essere migliorato anche in tanti altri campi.
La parola Kanban viene dal giapponese e significa letteralmente “carta segnale”. Originariamente il Kanban veniva utilizzato nella gestione della produzione della Toyota e ha poi influenzato lo sviluppo agile nel campo dell’informatica e in altri settori. Lo scopo è di creare un flusso di lavoro continuo e ordinato. Inoltre è possibile combinare Kanban con altri metodi agili, come Scrum.
Cos’è Kanban?
Chi introduce Kanban nel suo team vuole migliorare il flusso di lavoro e allo stesso tempo aumentare la produttività e la qualità del prodotto finale. Kanban fa parte dei metodi agili e come tale rende il processo lavorativo molto più flessibile. I compiti vengono suddivisi in piccole fasi e portati a termine l’uno dopo l’altro. A Kanban appartiene infatti lo slogan: “Stop starting – start finishing!” Invece di iniziare numerosi compiti e lavorarci più o meno in parallelo con un’attività multitasking, sarebbe meglio operare passo dopo passo, terminandone uno prima di dedicarsi a un altro.
Adeguarsi a questo nuovo sistema è molto facile. A differenza di altri metodi, Kanban si integra facilmente in processi già esistenti. Ciò lo rende particolarmente aperto: è infatti possibile introdurre insieme a Kanban anche altri metodi come Scrum.
Adeguarsi a questo nuovo sistema è molto facile. A differenza di altri metodi, Kanban si integra facilmente in processi già esistenti. Ciò lo rende particolarmente aperto: è infatti possibile introdurre insieme a Kanban anche altri metodi come Scrum.
Come funziona Kanban?
Il fulcro del metodo è la Kanban Board e quindi la visualizzazione delle fasi di lavoro. Su una lavagna aperta e visibile a tutti i componenti del team sono rappresentati tutti i compiti. Può essere ad esempio una lavagna bianca o una bacheca. È ovviamente possibile utilizzare una versione digitale della Kanban Board all’interno di un’app di project management. Ogni singolo compito viene applicato sulla lavagna sotto forma di cartellino colorato (ad es. un post-it o un cartoncino). La cosa più importante nell’impostazione della lavagna è che i cartellini siano ben visibili.
Bisogna poi dividere la lavagna in più colonne, almeno tre. All’estrema sinistra si trova il backlog. Qui vengono raccolti tutti i compiti in coda. Poi segue una colonna con tutti i compiti a cui si sta lavorando. Spesso questa colonna viene denominata “Work in Progress” (WiP) o anche semplicemente “in lavorazione”. La si può suddividere anche in diverse colonne, se un compito è costituito da più fasi, fin quando non è stato definitivamente portato a termine. Si può creare anche una colonna per la revisioni e test. I compiti vengono spostati da sinistra a destra, fin quando non arrivano alla colonna finale dove si trovano tutti i cartellini dei lavori portati a termine.
Bisogna poi dividere la lavagna in più colonne, almeno tre. All’estrema sinistra si trova il backlog. Qui vengono raccolti tutti i compiti in coda. Poi segue una colonna con tutti i compiti a cui si sta lavorando. Spesso questa colonna viene denominata “Work in Progress” (WiP) o anche semplicemente “in lavorazione”. La si può suddividere anche in diverse colonne, se un compito è costituito da più fasi, fin quando non è stato definitivamente portato a termine. Si può creare anche una colonna per la revisioni e test. I compiti vengono spostati da sinistra a destra, fin quando non arrivano alla colonna finale dove si trovano tutti i cartellini dei lavori portati a termine.
Nella quotidianità lavorativa è normale tuttavia che ci siano dei compiti più importanti di altri. Per mettere in evidenza tali priorità anche sulla Kanban Board, si inseriscono le cosiddette swimmlane. Si tratta di linee orizzontali che suddividono la colonna del work in progress. Ad esempio il team può inserire in un campo in alto (in una fastlane) tutti quei compiti che devono essere portati a termine prima degli altri e lasciare i compiti meno urgenti in basso. In questo modo ogni componente del team può farsi velocemente un’idea delle priorità attuali.
Grazie a questa rappresentazione si riesce ad aumentare la trasparenza del lavoro in modo molto semplice. Scegliendo Kanban non si decide solo di adottare un’utile visualizzazione del flusso di lavoro, ma si sceglie anche un metodo che limita i compiti: prima di iniziare ad utilizzare Kanban nella produzione, si stabilisce a quanti compiti si può lavorare contemporaneamente. Se non c’è nessuna limitazione per le due colonne esterne, ogni colonna centrale deve rispettare un valore massimo. Quindi un team può lavorare solo a due cartellini per fase, perché, secondo i sostenitori del Kanban, il multitasking porta ad un ritardo nel processo lavorativo.
Invece di spostare i compiti da una fase a un’altra, con Kanban si segue il metodo pull. I compiti vengono quindi “tirati”. Solo quando il team ha di nuovo spazio libero nella colonna, i dipendenti prendono un nuovo compito dalla colonna situata a sinistra rispetto alla loro. Ciò significa anche che le colonne sono spesso ulteriormente suddivise: da un lato i compiti a cui si sta lavorando e dall’altro quelli che devono essere spostati alla fase successiva.
Le limitazioni poi servono affinché le risorse libere possano essere suddivise efficientemente, in particolare quando un compito è costituito da diverse fasi e per evitare di formare degli ingorghi. Nel caso in cui nella prima fase si lavori velocemente ma nella seconda ci siano dei problemi, i dipendenti, secondo Kanban, non possono continuare a portare a termine i compiti della prima. Al contrario, si utilizzeranno risorse libere per aiutare a risolvere il problema nella seconda fase.
Oltre al limite dei compiti contestuali, sulla Kanban Board possono essere chiaramente rappresentate altre regole. Tra queste quella che indica il momento a partire dal quale un compito può essere definito terminato e pronto per la prossima fase. Inoltre deve essere chiaro che tali regole possono cambiare. Fanno parte dei processi agili anche le attività di analisi e adattamento.
Per migliorare il processo lavorativo a lungo termine è importante lo scambio di feedback. Per questo motivo Kanban prevede meeting regolari (le cosiddette cadenze), ma non vengono date indicazioni precise sulla loro frequenza o modalità di svolgimento. Il pioniere di Kanban, David J. Anderson, dà invece alcuni consigli a riguardo: un meeting Kanban al giorno (simile al Daily Scrum), revisioni specifiche su diversi temi e altri meeting.
Lo scambio di idee tra colleghi è in linea con lo scopo generale di Kanban: migliorare il flusso di lavoro e il prodotto. Partendo dallo stato attuale il team deve introdurre nuovi miglioramenti a poco a poco, invece di organizzare una grande svolta. Questo approccio viene spesso paragonato alla filosofia giapponese Kaizen. Tale teoria, che si ritrova ora principalmente nella corporate governance, promuove il miglioramento continuo (Kaizen in giapponese significa “cambiare per migliorare”). Un obbiettivo finale invece non c’è. Secondo la teoria Kaizen si possono adottare sempre nuovi cambiamenti.
Nel metodo Kanban si possono individuare complessivamente sei diverse prassi:
Grazie a questa rappresentazione si riesce ad aumentare la trasparenza del lavoro in modo molto semplice. Scegliendo Kanban non si decide solo di adottare un’utile visualizzazione del flusso di lavoro, ma si sceglie anche un metodo che limita i compiti: prima di iniziare ad utilizzare Kanban nella produzione, si stabilisce a quanti compiti si può lavorare contemporaneamente. Se non c’è nessuna limitazione per le due colonne esterne, ogni colonna centrale deve rispettare un valore massimo. Quindi un team può lavorare solo a due cartellini per fase, perché, secondo i sostenitori del Kanban, il multitasking porta ad un ritardo nel processo lavorativo.
Invece di spostare i compiti da una fase a un’altra, con Kanban si segue il metodo pull. I compiti vengono quindi “tirati”. Solo quando il team ha di nuovo spazio libero nella colonna, i dipendenti prendono un nuovo compito dalla colonna situata a sinistra rispetto alla loro. Ciò significa anche che le colonne sono spesso ulteriormente suddivise: da un lato i compiti a cui si sta lavorando e dall’altro quelli che devono essere spostati alla fase successiva.
Le limitazioni poi servono affinché le risorse libere possano essere suddivise efficientemente, in particolare quando un compito è costituito da diverse fasi e per evitare di formare degli ingorghi. Nel caso in cui nella prima fase si lavori velocemente ma nella seconda ci siano dei problemi, i dipendenti, secondo Kanban, non possono continuare a portare a termine i compiti della prima. Al contrario, si utilizzeranno risorse libere per aiutare a risolvere il problema nella seconda fase.
Oltre al limite dei compiti contestuali, sulla Kanban Board possono essere chiaramente rappresentate altre regole. Tra queste quella che indica il momento a partire dal quale un compito può essere definito terminato e pronto per la prossima fase. Inoltre deve essere chiaro che tali regole possono cambiare. Fanno parte dei processi agili anche le attività di analisi e adattamento.
Per migliorare il processo lavorativo a lungo termine è importante lo scambio di feedback. Per questo motivo Kanban prevede meeting regolari (le cosiddette cadenze), ma non vengono date indicazioni precise sulla loro frequenza o modalità di svolgimento. Il pioniere di Kanban, David J. Anderson, dà invece alcuni consigli a riguardo: un meeting Kanban al giorno (simile al Daily Scrum), revisioni specifiche su diversi temi e altri meeting.
Lo scambio di idee tra colleghi è in linea con lo scopo generale di Kanban: migliorare il flusso di lavoro e il prodotto. Partendo dallo stato attuale il team deve introdurre nuovi miglioramenti a poco a poco, invece di organizzare una grande svolta. Questo approccio viene spesso paragonato alla filosofia giapponese Kaizen. Tale teoria, che si ritrova ora principalmente nella corporate governance, promuove il miglioramento continuo (Kaizen in giapponese significa “cambiare per migliorare”). Un obbiettivo finale invece non c’è. Secondo la teoria Kaizen si possono adottare sempre nuovi cambiamenti.
Nel metodo Kanban si possono individuare complessivamente sei diverse prassi:
- Visualizzazione: la Kanban Board è una visualizzazione del processo lavorativo. La sua configurazione rimane però abbastanza libera. La cosa importante è che le fasi siano chiare e che per ogni colonna venga mostrato il relativo limite.
- Limitazione: ogni colonna può contenere solo un determinato numero di compiti. Il team può prendere un nuovo cartellino dal lato sinistro solo quando il cartellino di un compito viene spostato verso destra. Ciò porta inevitabilmente a un flusso di lavoro efficiente.
- Gestione: durante il processo lavorativo può succedere che ci siano dei blocchi o delle carenze. In tali situazioni è importante far concentrare il team sull’eliminazione dei blocchi. Inoltre l’osservazione del flusso di lavoro serve a suddividere correttamente le risorse disponibili a lungo termine.
- Regolamentazione: regole esplicite sono pensate per rendere il processo lavorativo trasparente e chiaro. Fanno parte di tali regole ad es. la determinazione di limiti, ma anche la definizione del momento a partire dal quale un compito può definirsi completato. Le regole del processo devono essere allo stesso modo una parte evidente e mutabile della Kanban Board.
- Feedback: i feedback sono una parte importante del processo lavorativo, in quanto è solo grazie ad essi che il lavoro può essere migliorato. Per questo motivo sono previsti meeting regolari, le cosiddette cadenze. A differenza di Scrum, Kanban non definisce una struttura fissa per tali incontri.
- Kaizen: i processi del team devono essere continuamente migliorati con Kanban. Secondo la teoria non bisogna raggiungere un optimum, ma bisogna lavorare continuamente per migliorare.
Impieghi pratici di Kanban
Kanban si può inserire facilmente in qualsiasi struttura di lavoro in team. Alcune aziende lavorano già con una versione (snellita) di Kanban senza saperlo. Il metodo pull è una tecnica molto intuitiva, ma anche la visualizzazione in una Kanban Board, la trasparenza dei processi e la chiara limitazione del multitasking sono oltremodo sensati.
Kanban non è apprezzato solo per i vantaggi che comporta, ma anche per la sua facile implementazione. Le difficoltà iniziali sono davvero poche. Un team o un’azienda devono adottare solo pochi cambiamenti iniziali per implementare Kanban. Per prima cosa bisogna procurarsi una Kanban Board, che può essere adattata gradualmente, e adottare il metodo pull. Il metodo può e deve essere poi affinato dal team a poco a poco: quali regole si vogliono stabilire per il processo? Quali limiti si applicano? In che modo volete realizzare la vostra Kanban Board?
Inoltre Kanban è in generale un sistema molto libero, che prevede poche regole. Non ci sono né programmazioni né ruoli specifici, presenti invece in Scrum. Per questo motivo Kanban si può utilizzare in ogni situazione. Ciò vale sia per i team grandi che per quelli piccoli. Perfino le singole persone possono organizzare meglio il proprio flusso di lavoro con Kanban.
Tuttavia ci sono delle differenze tra i due metodi: se Scrum mette in primo piano il team, Kanban si concentra di più sul processo di produzione e sul risultato per il cliente. Sotto altri punti di vista i due sistemi si compensano: i meeting frequenti stabiliti da Scrum non sono previsti tassativamente da Kanban, ma si adattano molto bene all’idea del feedback prevista dal metodo.
Kanban non è apprezzato solo per i vantaggi che comporta, ma anche per la sua facile implementazione. Le difficoltà iniziali sono davvero poche. Un team o un’azienda devono adottare solo pochi cambiamenti iniziali per implementare Kanban. Per prima cosa bisogna procurarsi una Kanban Board, che può essere adattata gradualmente, e adottare il metodo pull. Il metodo può e deve essere poi affinato dal team a poco a poco: quali regole si vogliono stabilire per il processo? Quali limiti si applicano? In che modo volete realizzare la vostra Kanban Board?
Inoltre Kanban è in generale un sistema molto libero, che prevede poche regole. Non ci sono né programmazioni né ruoli specifici, presenti invece in Scrum. Per questo motivo Kanban si può utilizzare in ogni situazione. Ciò vale sia per i team grandi che per quelli piccoli. Perfino le singole persone possono organizzare meglio il proprio flusso di lavoro con Kanban.
- Team piccoli: i piccoli gruppi di lavoro si organizzano spesso secondo presentazioni agili. Si può facilmente integrare Kanban per strutturare meglio i processi lavorativi e aumentare l’efficienza.
- Grandi aziende: per le aziende grandi e consolidate è molto più difficile incorporare nuovi processi. Ed è proprio per questo che Kanban è l’ideale per iniziare. Questo metodo semplice e aperto può essere integrato a poco a poco.
- Persone singole: Kanban aiuta nell’organizzazione dei compiti anche le persone singole, le imprese in fase di avviamento e i freelance.
- Flight level 1 – Livello operativo: A questo livello, il più basso, si trova il team di specialisti che ogni giorno è impegnato a realizzare il prodotto o a fornire il servizio. Spesso questi team contribuiscono solo in modo parziale al prodotto finito. In altre parole ciò significa che i compiti arrivano a questi team come pacchetti che devono poi essere suddivisi in piccoli compiti prima di poterci lavorare. Se tuttavia solo un team in azienda lavora secondo il modello Kanban, potrebbero sorgere dei problemi con gli altri gruppi di lavoro che seguono invece un metodo non agile come il modello a cascata.
- Flight level 2 – Coordinazione: al secondo livello troviamo la coordinazione tra i team. Con Kanban ci si assicura che tutti i team portino a termine i compiti nella giusta sequenza e che abbiano sempre del lavoro. Così ogni team non è né sovraccaricato né privo di lavoro.
- Flight level 3 – Gestione strategica del portfolio: si raggiunge il terzo livello quando si coordina non solo un progetto con Kanban, ma l’intero portfolio con il metodo agile. È la gestione a decidere con quale progetto iniziare. Ciò può migliorare tutti i processi aziendali.
Tuttavia ci sono delle differenze tra i due metodi: se Scrum mette in primo piano il team, Kanban si concentra di più sul processo di produzione e sul risultato per il cliente. Sotto altri punti di vista i due sistemi si compensano: i meeting frequenti stabiliti da Scrum non sono previsti tassativamente da Kanban, ma si adattano molto bene all’idea del feedback prevista dal metodo.
Vantaggi e svantaggi di Kanban
I vantaggi di Kanban sono già indicati nella descrizione del metodo: semplice integrazione, miglioramento continuo dei processi lavorativi, elevata trasparenza. Ci sono però anche aspetti che scoraggiano i team. Ad esempio è assolutamente necessario suddividere il lavoro in fasi. Altrimenti il completo sistema perde il suo senso.
Un altro motivo per cui il metodo non è la scelta giusta per ogni team emerge da un vantaggio del sistema: le limitazioni del work in progress servono a rendere subito visibili i problemi presenti in una fase e poter spostare facilmente le risorse. Questo tuttavia è possibile solo se le risorse si possono effettivamente spostare. I componenti del team devono essere in grado di poter lavorare in diverse fasi. Altrimenti si entra in un vicolo cieco e se da una parte il team viene sovraccaricato, dall’altra è privo di lavoro: esattamente il contrario di quello che è lo scopo di Kanban.
Un altro motivo per cui il metodo non è la scelta giusta per ogni team emerge da un vantaggio del sistema: le limitazioni del work in progress servono a rendere subito visibili i problemi presenti in una fase e poter spostare facilmente le risorse. Questo tuttavia è possibile solo se le risorse si possono effettivamente spostare. I componenti del team devono essere in grado di poter lavorare in diverse fasi. Altrimenti si entra in un vicolo cieco e se da una parte il team viene sovraccaricato, dall’altra è privo di lavoro: esattamente il contrario di quello che è lo scopo di Kanban.
Vantaggi | Svantaggi |
Principio aperto | Necessità di competenze complete |
Più trasparenza | La mancanza di pianificazione può creare problemi alle scadenze |
Flusso di lavoro armonico | Il lavoro deve poter essere suddiviso in singole fasi |
Miglioramento continuo | |
Si può impiegare in molte situazioni | |
Integrazione facile |