Come funziona Kanban: gestire le dipendenze esterne con le classi di dipendenza

Qualche giorno fa, un team IT con cui collaboro da tempo, e che ha già sviluppato un sistema Kanban abbastanza sofisticato, stava facendo un’analisi più puntuale del flusso di lavorazione dei ticket del proprio service desk e delle performance rispetto agli SLA (accordi sul livello di servizio).

Analizzando le metriche il team ha notato che a volte il servizio viene erogato (dalla prima risposta alla risoluzione) in tempi superiori a quelli previsti dagli SLA e si è accorto che questo succede in un caso specifico.

Viene aperto un ticket al quale viene assegnata priorità bassa o media. Il fornitore ci mette molto a rispondere e con il passare del tempo la priorità si alza. A un certo punto il ticket diventa a priorità alta, quando però è troppo tardi per risolverlo nel rispetto dei tempi previsti dagli SLA per la priorità alta (più stringenti rispetto a quelli per i ticket a priorità più bassa).

E’ bene ricordare che quando nei sistemi Kanban si parla di ‘priorità’ si intende ‘classe di servizio’, concetto correlato con il ‘costo del ritardo’, ovvero quanto costa all’organizzazione posticipare la lavorazione di quell’elemento di lavoro, nel nostro caso il ticket.

La priorità aumenta con il passare del tempo

L’esempio che mi è stato fatto è quello di un incidente su un software di gestione ordini. Era stato aperto con priorità media. Dopo due settimane l’utente doveva procedere con gli ordini altrimenti l’azienda sarebbe restata senza materiali e la priorità era stata cambiata in alta. Assegnando una priorità più alta al ticket (con uno SLA più stringente), il team si è ritrovato immediatamente fuori SLA.

Questa è la tipica situazione in cui il team, nel proprio percorso di maturazione, si rende conto di avere bisogno di qualcosa di nuovo per gestire sempre meglio il proprio flusso di lavoro. E lo chiede al Kanban coach.

Poster riassuntivo della gestione delle dipendenze, disponibile sul sito Kanban+ della Kanban University

Da una gestione reattiva a una gestione proattiva delle dipendenze e del rischio correlato

Ho fatto riflettere il team sul fatto che la gestione delle dipendenze (dai fornitori, ma non solo) fatta fin lì era stata reattiva, mentre era arrivato il momento di introdurre le cosiddette ‘classi di dipendenza’ (Classes of Dependency Management), ovvero fare il triage anche a valle sui fornitori e, in funzione di quello, agire in modo proattivo, anticipando i problemi. 

Dobbiamo considerare il flusso di lavoro su cui stiamo lavorando, nel nostro esempio il nostro service desk, come un servizio che chiama un altro servizio, nel nostro esempio il servizio di assistenza del fornitore.

In un sistema Kanban possiamo disporre di metriche di flusso, tra cui una curva di distribuzione dei Lead Time relativa allo step del flusso di lavoro in cui siamo in attesa del fornitore. La stessa curva rappresenta una buona approssimazione del Lead Time del nostro fornitore e possiamo utilizzarla per calcolare il livello di rischio che abbiamo rispetto al fatto che il fornitore ritardi la risoluzione del ticket. Disporre della metrica relativa al fornitore significa che possiamo valutare quanto questo sia affidabile e capire cosa aspettarci, in modo da poterci regolare di conseguenza.

Gestire le priorità in funzione delle classi di dipendenza

Possiamo quindi, in funzione del rischio calcolato sul tempo di risposta del fornitore, assegnare la classe di dipendenza e agire come segue:

  • aprire il ticket al fornitore con una priorità più alta rispetto a quella che esponiamo a monte all’utente del nostro servizio
  • eventualmente alzare da subito la priorità anche del nostro servizio
  • in funzione della classe di dipendenza attribuita e se esiste un buon livello di collaborazione, si può chiedere proattivamente al fornitore di riservare della capacità produttiva, in modo puntuale e dinamico
  • eventualmente si può riservare della capacità produttiva anche nel nostro servizio, per accelerare le nostre operazioni quando finalmente il fornitore risponde

Da un punto di vista pratico e in termini di visualizzazione, si contrassegna il ticket con un’etichetta che corrisponde alla classe di dipendenza. Si stabilisce quindi una policy correlata alla classe di dipendenza in base alla quale l’elemento di lavoro viene trattato opportunamente.

Conclusione

Sostanzialmente il rischio correlato alla dipendenza dal fornitore viene gestito giocando d’anticipo, in modo proattivo, sistematico e standardizzato. In questo modo non viene più cambiata la priorità in corso di lavorazione ai ticket perché, a fronte di un rischio, la policy che regola la gestione della classe di dipendenza prevede già una priorità più alta e le opportune contromisure. E anche a fronte di un fornitore poco affidabile, il nostro flusso di lavoro risulta maggiormente prevedibile e affidabile, aumentando la soddisfazione degli utilizzatori del nostro servizio.

Una trattazione più articolata e dettagliata delle classi di dipendenza la potete trovare sul portale Kanban+ della Kanban University, cliccando qui.

Come funziona Kanban: l’agilità aziendale vera è posticipare le decisioni, ma non troppo

C’è molta confusione in circolazione sul concetto di “agilità”, in questo articolo voglio spiegare come la vera agilità aziendale e organizzativa sia la scienza di posticipare le decisioni, ma non troppo. Una scienza, non un’arte, perché alla base c’è il metodo scientifico.

Cos’è l’agilità aziendale e qual è il suo impatto operativo

L’agilità aziendale è la capacità di un’organizzazione di rispondere rapidamente ai cambiamenti, lasciando al proprio cliente la possibilità di cambiare in corso d’opera i requisiti del lavoro richiesto, in qualunque momento. Questo per ottenere un risultato finale che sia il più aderente possibile ai desiderata del cliente stesso.

Da un punto di vista operativo, di chi deve fare il lavoro, l’agilità si riflette nella convenienza di aspettare il più possibile a decidere e a impegnarsi a fare il lavoro. Questo approccio aumenta le opzioni disponibili e la possibilità di cambiare i requisiti del lavoro da fare, senza però essersi ancora impegnati a farlo e quindi senza sostenere eventuali costi di rilavorazione. 

Sapere quanto aspettare prima di iniziare il lavoro

L’attesa d’altro canto aumenta anche la probabilità di consegnare il lavoro in ritardo. E quindi diventa cruciale sapere quanto si può aspettare prima di iniziare il lavoro e diventa fondamentale il ruolo delle metriche di flusso. E per poter disporre di metriche di flusso affidabili occorre un sistema stabile e prevedibile, che possiamo ottenere attraverso l’implementazione di un sistema Kanban.

Il primo passo è limitare il Work in Progress (WIP), per ridurre la variabilità e migliorare la prevedibilità del flusso di lavoro, rendendo la pianificazione più realistica e gestibile. Una volta che il sistema è stato reso stabile e prevedibile, la metrica del Lead Time osservato in passato per i tipi di lavorazione simili permette di decidere quanto prima è necessario iniziare un determinato lavoro per consegnarlo in tempo. Il Lead Time non è un numero, ma una distribuzione di probabilità, per cui si ragiona in termini di confidenza statistica e di rischio di coda, concetti per i quali rimando a un precedente articolo che trovate qui.

Considerando per i servizi, come in figura, il tipico valore dell’ottantacinquesimo percentile (ma può variare in funzione della criticità del servizio stesso), si dovrà iniziare il lavoro con un anticipo rispetto alla data di consegna prevista che dia una confidenza statistica almeno dell’85% o, se preferiamo, un rischio massimo del 15% di ritardare rispetto alla data promessa, circa una volta su sette.

Pianificare utilizzando il Lead Time

La pianificazione e il successivo controllo di qualunque attività aziendale, sia delle attività correnti che delle attività relative ai progetti, viene fatta di conseguenza basandosi sui valori di Lead Time e diventa più accurata e affidabile, oltre che meno costosa da gestire. Invece di concentrarsi sulla stima dell’effort e l’aggiunta di fattori di rischio, Kanban si basa sui dati empirici del flusso di lavoro per prevedere in modo probabilistico le date di consegna.

Il metodo Kanban offre quindi un approccio alla pianificazione significativamente più vantaggioso rispetto ai metodi tradizionali. In definitiva, l’approccio di pianificazione basato sul Lead Time di Kanban promuove l’agilità aziendale, la consegna puntuale e la soddisfazione del cliente. A costi più bassi.

Come funziona Kanban: il metodo Kanban per ridurre il rischio operativo e gli errori previsionali

Uno degli aspetti che comunemente non sono così noti e chiari è il fatto che il metodo Kanban aiuta a ridurre il rischio operativo e gli errori previsionali. La difficoltà iniziale delle persone alle quali ne parlo parte proprio dalla comprensione del concetto di rischio operativo. “Quale rischio operativo?” mi chiedono. “Il rischio legato al fatto che a causa di diversi eventi, interni o esterni all’organizzazione, potremmo metterci più di quanto previsto per fare il lavoro” rispondo. “In che senso?” insistono. Allora comincio a porre loro alcune domande.

Il concetto di Lead Time

Chiedo di farmi un esempio di qualche tipica richiesta di lavoro che ricevono. “Quanto tempo ci mettete per evadere questa richiesta di lavoro?” chiedo. La risposta tipicamente è un numero. “Siamo sicuri?” chiedo. “Come varia questo valore a seconda delle circostanze, lo sapete?”. Normalmente la risposta è vaga.

Allora comincio a disegnare su un foglio o su una lavagna una rappresentazione di una semplice Kanban board come in Figura 1. Spiego che chiameremo Lead Time il tempo che ogni richiesta di lavoro (che chiameremo Work Item) ci mette per essere evasa e spiego che il Lead Time non è un unico valore ma una distribuzione di valori. Poi ripeto la domanda: “Quanto tempo ci mettete per evadere questa richiesta di lavoro?” e quindi, senza aspettare la risposta, spiego che il tempo rilevato di evasione della richiesta può variare e comincio ad annotare i valori su un grafico come in Figura 1.

Figura 1

La distribuzione dei Lead Time

Proseguendo ad aggiungere valori chiedo: “succede che i valori di Lead Time si ripetano, giusto?” e così facendo vado ad aggiungere al grafico i valori che si ripetono impilandoli ai precedenti, fino a raggiungere una rappresentazione come in Figura 2. A questo punto verifico con i miei interlocutori se si ritrovano nel grafico disegnato, normalmente rispondono di sì.

Figura 2

Quale valore utilizzare per fare previsioni

Siamo pronti allora per il passo successivo che consiste nell’invitare i miei interlocutori a rispondere alla domanda: “quale dei valori misurati secondo voi ha senso utilizzare per fare previsioni future?” e qui inizia la vera riflessione, come in Figura 3.

Figura 3

Qualcuno risponde “la media” e allora faccio riflettere sul fatto che solitamente si dice ‘media’ riferendosi a quel valore per cui una volta su due ci si mette di più, mentre una volta su due ci si mette di meno del valore stesso. Questo in termini statistici però non è il concetto di media, ma più propriamente è quello di mediana, anche nota come cinquantesimo percentile. Quindi faccio notare come prendendo a riferimento la mediana saremo in ritardo una volta su due, ossia avremo il 50% di probabilità di non essere puntuali, che è un rischio piuttosto elevato, probabilmente non accettabile.

Qualcuno allora mi risponde “il valore più frequente”. Faccio notare che il valore più frequente, in termini statistici detto moda, nel grafico è tipicamente più a sinistra della mediana, il che significa che ho ancora più probabilità di essere in ritardo rispetto ad utilizzare la mediana, corro un rischio ancora più elevato, superiore al 50%.

Parliamo di rischio operativo

Arrivati a questo punto cambio prospettiva alla riflessione e chiedo “guardiamola dal punto di vista del rischio, quale probabilità di arrivare in ritardo siete disposti ad accettare? O meglio, quale probabilità di arrivare in ritardo sono disposti ad accettare i clienti del vostro servizio?” Qui le risposte sono ovviamente molto diverse a seconda dei servizi e dei casi, ma di base propongo loro di ragionare intorno all’ottantacinquesimo percentile, ovvero il valore previsionale in base al quale ci si prende un rischio del 15% di arrivare in ritardo, che normalmente per i servizi è accettato e che si usa in Kanban.

Per concludere faccio infine notare come fare previsioni sul completamento di una richiesta di lavoro senza misurare i Lead Time e senza effettuare un’analisi statistica sia fuorviante perché essendo noi tutti soggetti ai bias cognitivi e in particolare all’euristica della disponibilità, tenderemo automaticamente ad adottare il valore più frequente, prendendoci dei rischi inaccettabili senza nemmeno rendercene conto.

Conclusione

Chiaramente questo è solo l’inizio e ci sono altri passaggi da fare per introdurre efficacemente gli strumenti statistici, a cominciare dalla comprensione del tipo di curva di distribuzione presente e dalla validazione del modello che emerge dalla rilevazione dei dati. Normalmente però queste riflessioni avviano un percorso evolutivo che porta progressivamente nel tempo a un miglioramento sostanziale dei modelli previsionali, alla stabilizzazione dei flussi di lavoro e quindi a una migliore gestione del servizio.