Una breve introduzione alla Teoria dei Vincoli di E. Goldratt.
If what you want is action to be taken, then you must refrain from giving the answers. [1]

Siamo abituati a decodificare la parola “Vincolo” come qualcosa di estremamente negativo. Un vincolo, in effetti, è uno stato che ci impedisce di incrementare le nostre performance in un dato periodo temporale.
Sales Director: "Dobbiamo completare il progetto in 2 mesi ad ogni costo"…
Delivery Director: "Non possiamo, abbiamo un vincolo di capacità nel team dei Solution Architect”...
Sales Director: "Allora aggiungiamo dei programmatori"....
Quante volte abbiamo sentito discorsi più o meno simili? Questo è un discorso realmente accaduto.
Il primo istinto è sempre quello di pensare che un vincolo sia un fattore negativo e da rimuovere a tutti i costi: in realtà, i vincoli non sono poi così negativi, anzi.
Un sistema con un vincolo è più semplice da gestire
Prendiamo due sistemi relativamente semplici come esempio

Un sistema come quello descritto dallo schema B, con un vincolo e numerose relazioni, sebbene sia più complesso da descrivere rispetto al sistema descritto dallo schema A, con meno risorse e nessuna interdipendenza, è in realtà molto più semplice da ottimizzare: una volta identificato il vincolo, è possibile, gestendone il flusso, le code di lavoro e la performance, controllare la performance dell’inter sistema.
Tuttavia, ogni volta che ci troviamo di fronte ad un vincolo, i nostri modelli mentali ci spingono a rifiutarlo:
Possiamo aggirare il vincolo in qualche modo?
Possiamo incrementare la capacità del vincolo?
Nel porci queste domande, ci dimentichiamo due cose importanti:
Se proviamo ad aggirare o ignorare il vincolo, loro, i vincoli, non mancheranno mai di ricordarci della loro esistenza e ineluttabilità.
Se invece proviamo a "risolvere il problema" incrementando la capacità del vincolo, probabilmente ci stiamo dimenticando che i vincoli non spariscono; si spostano.

In ogni sistema complesso ci troveremo sempre, volenti o nolenti, a dover convivere con i vincoli. Se vogliamo aiutare le nostre aziende ad ottenere il massimo delle performance dalla loro capacità, non abbiamo scelta: dobbiamo imparare a comprendere le organizzazioni come esse sono realmente, ossia delle "reti orientate" [2], e a gestirle con un approccio sistemico massimizzando la produttività dei vincoli.
Nonostante i numerosi passi avanti fatti dalla conoscenza in questa direzione, grazie al lavoro di W. Deming e E. Goldratt, le aziende pienamente in grado di attuare modelli sistemici di gestione, sono ancora una prevalente minoranza.
Sebbene i concetti della gestione sistemica siano relativamente semplici da spiegare, il percorso per superare questo gap si rivela, in realtà, piuttosto tortuoso.
Tale difficoltà è principalmente dovuta ai modelli mentali che si sono gradualmente sedimentati nel nostro modo di pensare, alimentati dalla cultura manageriale prevalente cui siamo abituati da sempre, e che costituiscono un filtro che ci inibisce dal gestire in modo sistemico le aziende:
La cultura dell'organizzazione gerarchica, un approccio secondo il quale, per gestire la complessità, la via più semplice è quella di prendere il sistema, scomporlo in tante parti più piccole e facilmente controllabili, e articolare il controllo sulle parti con il fine di controllare l’intero sistema. L'assunzione di fondo di tale approccio, è che le performance di un sistema siano additive, cosa che scopriremo non essere.
I modelli di controllo e di gestione basati sulla contabilità dei costi e sull’efficienza. Cos'è più semplice controllare? I Costi o il Throughput? I costi ovviamente: essi dipendono principalmente da decisioni interne all'azienda; si tratta di decisioni che ricadono all'interno del cosiddetto "span of control". Controllare i ricavi e il Throughput è più complesso, in quanto influenzati maggiormente da variabili esterne (il mercato, la concorrenza) sulle quali abbiamo la possibilità di influire ("sphere of influence") ma sicuramente con minor controllo e più incertezza.
Dove ha più senso focalizzare le attenzioni? E' più opportuno focalizzare la maggior parte dei nostri sforzi sulla minimizzazione dei costi, una entità il cui limite tende a zero, oppure è più opportuno impegnarci nella massimizzazione del Throughput, una entità il cui limite tende ad infinito?
A causa di questi filtri, il primo, complesso, task che ci troviamo di fronte, è quindi quello di creare “awareness”: come la goccia che scalfisce la roccia, occorre agire e creare informazione per stimolare i manager ad interrogarsi se, ciò che in buona fede e con il massimo impegno siamo stati abituati a fare, sia la cosa veramente giusta.
Per fortuna, superato questo non banale scoglio del “vincolo cognitivo”, la strada risulta in parte spianata dall’immenso lavoro portato avanti da due “giganti” delle dottrine di management, Deming & Goldratt.
Il primo ha aperto la via per la comprensione della natura sistemica delle organizzazioni. Deming ci ha aiutato a comprendere che un’azienda non è una struttura gerarchica a silos di funzioni, bensì un insieme di processi interdipendenti con cicli di feedback, e ci ha insegnato che l’attività manageriale deve essere focalizzata nel comprendere le relazioni tra le varie parti al fine di rendere i processi prevedibili statisticamente, e garantire performance stabili nel tempo, tramite processi di miglioramento continuo.
Goldratt, padre fondatore della Teoria dei Vincoli, ha sviluppato le soluzioni per ottimizzare le performance tramite la corretta gestione dei vincoli:
i "Thinking Process", modelli per analizzare i problemi e favorire i processi di miglioramento e Change Management;
gli algoritmi di schedulazione della produzione "Drum-Buffer-Rope" e "Simplified Drum-Buffer-Rope", che permettono di massimizzare l'efficienza del flusso attraverso il vincolo, e quindi la performance dell'intero sistema;
il modello di controllo delle performance (il "Throughput Accounting") più efficace per valutare l'effetto delle decisioni aziendali eliminando le distorsioni del cost accounting;
un nuovo modello per la Gestione dei Progetti (Critical Chain), che permette di incrementare la probabilità che i progetti vengano completati on time e on budget e in compliance con le specifiche.
Tutte soluzioni che gemmano dall'algoritmo centrale di focalizzazione per la gestione dei vincoli tramite i "Five Focusing Steps".
L'algoritmo manageriale della TOC: i "Five Focusing Steps"
E’ innegabile che, al giorno d’oggi, uno dei principali problemi manageriali, sia la pressione che ci porta spesso a perdere la focalizzazione:
invece di focalizzare le attenzioni sui (pochi) veri problemi, tendiamo a farci prendere la mano dai sintomi
invece di focalizzare le (poche) informazioni veramente necessarie per prendere decisioni, ci facciamo prendere la mano dall'esigenza di "avere bisogno più dati", andando a privilegiare migliorie a livello locale perdendo di vista la "big picture"
invece di focalizzare le azioni di miglioramento dove si crea più valore, guidati da logiche di ottimizzazione locale, le poche risorse disponibili vengono dirottate su azioni che portano a miglioramenti marginali
La mancanza di focalizzazione è figlia dei modelli mentali legati alla visione meccanicistica delle organizzazioni cui tutti siamo abituati. Alzi la mano chi, istintivamente, non pensi queste cose:
se iniziamo subito un lavoro, abbiamo più probabilità di finirlo per tempo
con il multitasking si fanno più cose contemporaneamente e si produce di più
Senza entrare nei dettagli, questi due atteggiamenti, che ci vengono così naturali perchè risiedono nel nostro sistema limbico, possono essere annoverati come i nemici numero 2 e 3 del flusso: il nemico numero 1 è il cost accounting come abbiamo spiegato in altri articoli del blog.
La Teoria dei Vincoli, e l’algoritmo proposto da Goldratt, sono, al contrario, un inno alla focalizzazione. La focalizzazione sul vincolo tramite l'algoritmo manageriale dei Five Focusing Steps.
Identifica (o scegli strategicamente) il vincolo del sistema (Identify)
Massimizza la produttività del vincolo (Exploit)
Subordina tutte le altre decisioni alla precedente (Subordinate)
Se ancora non è abbastanza, eleva il vincolo (Elevate)
Se negli step precedenti abbiamo rotto un vincolo, si deve ricominciare da capo (Start Again). Non permettere all’inerzia di diventare il nuovo vincolo del sistema.
In questi semplici cinque punti, ci sono tutte le istruzioni che ci servono. A voler fare i pignoli, potremmo aggiungere i seguenti step:
Step 0: definisci il Goal del sistema e come intendi misurarlo. Questo perché spesso vi è confusione tra le diverse funzioni aziendali sull'obiettivo ultimo.
Step 6: decidi dove vuoi posizionare e mantenere strategicamente il vincolo. Questo è un passo fondamentale se si ha l'opportunità di incidere ridisegnando il sistema.
Non facciamoci tuttavia prendere la mano dalla voglia di chiudere troppo in fretta: per capire a fondo l’algoritmo serve chiarezza.
Per prima cosa dobbiamo decidere chiaramente che cosa vogliamo massimizzare? E' fondamentale definire molto bene lo Step 0, l'obiettivo:
vogliamo massimizzare la profittabilità dei prodotti?
vogliamo massimizzare la soddisfazione del cliente?
vogliamo massimizzare le quote di mercato?
Assumendo che stiamo parlando di una azienda orientata al profitto, la risposta è no. Parlando di una organizzazione orientata al profitto, il fine ultimo dovrebbe essere quello di massimizzare la "bottom line" del conto economico, ossia i profitti, e non degli obiettivi intermedi e strumentali a raggiungere tale obiettivo.
Make more money now and in the future. Questo è l'obiettivo che si aspettano gli azionisti.
A tale obiettivo possono essere affiancati degli obiettivi strumentali (es: avere un certo grado di customer satisfaction, avere un certo livello di soddisfazione del personale, contenere la footprint di CO2, etc ), ma l'obiettivo ultimo è quello di fare soldi, senza girarci troppo intorno.
Come possiamo rappresentare l'equazione di profitto? Nel mondo della TOC vale il principio della "inherent simplicity", per cui, per rendere le cose semplici, la TOC ha elaborato il proprio sistema di misurazione delle performance chiamato "Throughput Accounting".
Partiamo per prima cosa con le definizioni delle tre misure cardine attorno al quale le performance del sistema ruotano:
Throughput (T): è il tasso al quale il sistema genera denaro attraverso le vendite in un dato periodo temporale. Il Throughput, che per distinguerlo dalla accezione "fisica" del flusso possiamo anche chiamare come "Throughput Margin", viene misurato dalla differenza tra i Ricavi e i Costi Totalmente Variabili.
Inventory (I): è la quantità di denaro che l'azienda spende per acquistare le cose che intende trasformare in Throughput. In altri termini, è il denaro che viene trattenuto dal sistema come investimento. Se la cosa viene più semplice, possiamo utilizzare la terminologia classica dell'accounting, che distingue il capitale investito tra capitale circolante e attivo fisso.
Operating Expenses (OE): è il denaro che il sistema spende per remunerare le risorse che esso impiega per trasformare l'inventory in Throughput. In altre parole le spese per pagare la capacità produttiva e di supporto che viene utilizzata in azienda.
Date queste definizioni, si possono derivare le seguenti equazioni fondamentali:
Net Profit = T - OE
ROI = (T - OE) / I
Da un mero punti di vista algebrico, l'equazione di profitto si può massimizzare in due modi:
massimizzando il Throughput dato un certo livello di capacità produttiva - e quindi di spese operative
minimizzando le Operating Expenses che si devono sostenere per ottenere un dato livello di Throughput
Parliamo di uno scontro tra due mondi e due visioni diametralmente opposte:
il mondo dei costi, che ragionando secondo gli schemi mentali fondati sull'efficienza, spinge per continue riduzioni dei costi, con un obiettivo ideale al livellamento e bilanciamento della capacità. Esiste un limite alla riduzione delle spese operative: il limite è quel profilo di capacità al di sotto del quale si creano delle frizioni alla generazione di Throughput, il limite al di sotto del quale le performance aziendali si deteriorano oltre livelli accettabili dal mercato (in termini di qualità e performance).
il mondo del Throughput che, data una certa domanda, mira a massimizzare il flusso, ossia la capacità di soddisfare velocemente la domanda, dato un certo livello di capacità e spese operative, e ad agire per creare quelle condizioni di capacità e di gestione che permettono di massimizzare la velocità del flusso di denaro.
Throughput, Spese Operative e Inventory, sono grandezze fortemente correlate; non sono addendi indipendenti dell'equazione. La vera chiave del gioco, ciò che rende la macchina profittevole e sostenibile, è la VELOCITY:
generare Throughput più velocemente del flusso in uscita delle Operating Expenses; in forma di indice: T/OE > 1
generare Throughput velocemente consente inoltre di contenere l'investimento in Inventory: l'indice T/I esprime la velocità di rotazione dell'inventory, al fine di generare liquidità sufficiente
Assumendo che i prodotti/servizi dell'azienda abbiano una domanda di mercato, in un sistema interconnesso e interdipendente, la velocità alla quale viene generato il Throughputt è una funzione diretta delle performance del vincolo. Questo è il motivo per cui viene enfatizzato lo step 2 dello sfruttamento del vincolo (exploit).
Non possiamo chiudere l'argomento senza spendere almeno "due parole" in più sugli step 2 e 3 (exploit e subordinate), quelli che richiedono il maggiore cambiamento culturale. I due step di "exploitation" del vincolo e di subordinazione delle altre risorse, sono fortemente integrati interdipendenti.
Non si può massimizzare la produttività del vincolo se non si subordinano le altre decisioni ad esso.
Comprendere profondamente i motivi di tale affermazione è di vitale importanza, per cui dobbiamo fare ancora un piccolo sforzo e andare avanti.
Comprendere i vincoli
Prima di capire cosa voglia dire applicare gli step 2 e 3 dell'algoritmo manageriale dei Five Focusing Steps, è opportuno classificare i vincoli.
Vincoli di Capacità.
Vincoli di Mercato.
Vincoli cognitivi, di cultura e di politica, dove per politica si intendono le policies e procedure aziendali.
Senza troppi giri di parole: i vincoli cognitivi, di cultura e di politica devono essere identificati, compresi nelle loro ramificazioni negative, ed eliminati.
Mercato e vincoli fisici di capacità, invece, sono i reali vincoli da massimizzare.
Siamo di fronte ad un vincolo di capacità quando il sistema, a causa di una o più risorse, non ha sufficiente capacità per far fronte alla domanda di mercato in un determinato periodo di tempo.
Il nostro vincolo, quando ci sono più risorse con capacità inferiore alla domanda, è la risorsa con la minore capacità. Spesso si fa confusione tra vincoli e colli di bottiglia: siamo di fronte ad un collo di bottiglia ogni volta che il flusso subisce una "strozzatura", incontrando una risorsa che ha una capacità minore rispetto alla risorsa a valle. Ma non è detto che un collo di bottiglia sia anche il vincolo: l'intero processo ha un solo vincolo, e questo si manifesta dove la capacità è la minore di tutto il sistema, rispetto ad un dato flusso di domanda. La misurazione della capacità, per definire il vincolo, deve essere effettuata in termini di unità di output per unità di tempo - ossia in termini del suo tempo di flusso - e non semplicemente come numero di risorse disponibili. Ad esempio potrei avere la risorsa A (un team composto da 2 persone) che è in grado di produrre un output di 10 workitem all'ora ed una risorsa B (un team composto da 4 risorse) che è in grado di produrre solo 7 workitem all'ora. Il vincolo è la risorsa B. In altre parole, il vincolo del workflow è la risorsa - o team - con il "flow time" mediamente più lungo dell'intero processo.

Cosa dire del vincolo di mercato? Possiamo affermare che il vincolo di mercato esiste sempre: il mercato, infatti, ci pone SEMPRE il "vincolo delle due date", da rispettare per l'azienda, anche quando si ha capacità produttiva superiore alla domanda.
Massimizzare la performance di un vincolo: Exploit
Il mercato, quindi, è il primissimo vincolo da massimizzare. L’obiettivo è quello di soddisfare le date di consegna richieste dai clienti. Quando il sistema presenta anche un vincolo di capacità, l’obiettivo diventa quello di minimizzare i conflitti tra il vincolo di mercato e il vincolo della capacità, ossia estrarre il massimo output possibile dal vincolo per soddisfare la domanda di mercato rispettando le "due date".
In questo scenario, il vincolo interno di capacità diventa la risorsa più importante che abbiamo. Per massimizzarne la performance, occorre attuare i provvedimenti affinché il vincolo sia sempre attivo e sia costantemente alimentato con materiali da processare.
"Exploit the Constraint" (che in italiano si traduce in "sfruttare il vincolo", anche se la traduzione italiano non rende altrettanto bene il concetto come nella madre lingua in cui è stato concepito), significa evitare di disperdere il tempo (prezioso) disponibile del vincolo:
facendolo lavorare al massimo del tempo disponibile
facendolo lavorare nel modo più efficiente ed efficace possibile
evitando che esso produca scarti
evitando che il suo output rimanga in coda nelle fasi successive: sarebbe un delitto disperdere il duro lavoro del vincolo a valle
In altre parole si tratta di massimizzare "l'OEE" del vincolo e di massimizzare il flow time (fino al mercato) di tutti i prodotti processati dal vincolo.
L'OEE - acronimo di "Overall Equipment Effectiveness" - è uno dei più noti e importanti indicatore di produttività e di efficienza utilizzati in ambito produttivo. Massimizzare l'OEE significa:
massimizzare "l’utilization", ossia le ore di utilizzo di una risorsa rispetto le ore di calendario disponibili.
Massimizzare l’efficienza, misurata in termini di ore standard di output ottenuto rispetto alle ore di impiego della risorsa
Minimizzare le "perdite di qualità", ossia minimizzare il numero di ore di output che vengono scartate o rilavorate per vizi di qualità.
Con riferimento all'OEE , la grande differenza tra l'approccio TOC e l'approccio tradizionale è il seguente:
la TOC ci impone di massimizzare la produttività e quindi l'OEE del vincolo, e solo del vincolo, mentre tutte le altre risorse devono essere subordinate a tale obiettivo (si veda il paragrafo seguente)
l'approccio tradizionale, basato su modelli mentali che ci spingono a credere che le performance siano additive, ci spinge a massimizzare l'OEE di tutte le risorse
Fermiamoci a riflettere per un momento: cosa otteniamo se ci imponiamo di massimizzare l'OEE di tutte le risorse in un sistema vincolato? Inventory ovviamente!
Per massimizzare l'OEE del vincolo, una cosa che vogliamo assolutamente evitare sono le perdite di disponibilità o di efficienza. In altre parole vogliamo proteggere il vincolo dalle perturbazioni interne ed esterne (la variabilità statistica e Murphy). A questo proposito diventa fondamentale lo step seguente della subordinazione.
Un ultimo accenno al "Flow Time": il flow time, talvolta detto anche "process time" o "system lead time" è un indicatore importantissimo, che misura la durata del flusso dal momento in cui iniziamo la lavorazione di un prodotto al momento in cui lo completiamo e lo rendiamo disponibile per il delivery. Il flow time non deve essere confuso con il "manufacturing lead time", poichè quest ultimo include anche le operazioni di order preparation.
Il flow time è composto da due grandi fattori:
l touch time ( talvolta detto anche run time) è il tempo in cui il workitem viene effettivamente modificato, trasformato e processato.
il wait time, ossia il tempo in cui il workitem non viene trasformato, ma rimane in attesa di essere lavorato - tra una operazione e l'altra - una volta che il processo di trasformazione è iniziato.
Con il processo di subordinazione, uno degli obiettivi che si desidera raggiungere è quello di minimizzare il wait time dei componenti già elaborati dal vincolo, e far si che essi non si trovino ad aspettare gli appuntamenti con le altre parti prima dell'assemblaggio finale.
Proteggere il vincolo Tramite il Buffer e subordinando le altre risorse
Il processo di subordinazione è fortemente correlato alla massimizzazione e protezione del vincolo. Non è possibile massimizzare il vincolo se le altre risorse non vengono subordinate ad esso.
Per massimizzare il vincolo dobbiamo fare in modo che esso sia continuamente alimentato di lavoro. Non da qualsiasi tipo di lavoro, ma ovviamente da lavoro che genera Throughput: non vorremo certo trovarci a sprecare la risorsa più preziosa che abbiamo a produrre Inventory...
Sappiamo che i processi sono dominati da Murphy, perturbazioni e fluttuazioni statistiche: i materiali potrebbero non arrivare in tempo al vincolo; un fornitore potrebbe consegnare una partita difettosa che non possiamo impiegare; assenze non pianificate che riducono le risorse disponibili in un reparto; etc.
Occorre proteggere il vincolo da tutte queste possibili e ragionevoli evenienze. Per proteggere il vincolo abbiamo due modi:
Pianificare il rilascio dei materiali con un certo anticipo rispetto alle due date in cui i materiali sono attesi al vincolo (time buffers). Questo meccanismo è regolato dall'algoritmo di schedulazione della TOC che si chiama Drum-Buffer-Rope
Mantenere una certa capacità protettiva nel sistema: a monte del vincolo, per avere capacità necessaria a ricostituire il buffer consumato dal vincolo quando ci sono problemi a monte, e a valle del vincolo, per evitare che gli item già processati dal vincolo debbano rimanere in code per problemi a valle.
I due meccanismi di protezione non sono alternativi tra loro, ma devono essere mixati in modo opportuno. Si pensi infatti ad una situazione in cui non si dispone di capacità protettiva: per proteggere il vincolo ci troveremmo nella situazione assurda di mantenere un livello di "WIP infinito" di fronte ad esso, per mancanza della capacità necessaria a ricostituire il buffer consumato.
Senza entrare in troppi dettagli, che non sono il nostro obiettivo in questo momento, cerchiamo di comprendere quale è il conflitto culturale con lo step della subordinazione.
I più attenti ed esperti di produzione, avranno notato che l'ottimizzazione del flusso tramite il vincolo richiede una serie di accorgimenti, che si trovano in forte conflitto con le pratiche comuni del mondo dei costi, votato alla riduzione di qualsiasi forma di spreco e la massimizzazione dell'efficienza. Mantenere capacità protettiva - quindi inutilizzata - rientra tra le forme di spreco della visione tradizionale.
La TOC ci insegna un principio fondamentale: in natura, nessun conflitto. Se una assunzione è corretta ed è in conflitto con un altra assunzione, allora l'altra assunzione è necessariamente errata. Quindi non possiamo lasciare il conflitto irrisolto. Dobbiamo fare ancora un piccolo sforzo e vedere come il Dr. Goldratt ci ha aiutato a risolvere tale conflitto.
La risoluzione del conflitto Efficienza e Flusso
Oltre al potentissimo algoritmo dei Five Focusing Steps, Goldratt ci ha lasciato in dote una scatola degli attrezzi potentissima, costituita dagli "Strumenti di Pensiero della TOC", altrimenti detti "Thinking Process". Uno di questi strumenti, il "Conflict Evaporating Cloud", ci aiuta proprio a descrivere e risolvere i conflitti.
La nuvola funziona in questo modo
Si parte con il descrivere l'obiettivo
Si identificano i "need" per raggiungere tale obiettivo
Si identificano i prerequisiti che soggiacciono a tali need, evidenziando il conflitto

La nuvola si legge nel seguente modo
Partiamo ad analizzare la relazione A-B: se il nostro obiettivo è la massimizzazione dei profitti, e se i costi fissi di capacità sono una componente rilevante del conto economico, allora è necessario mantenere una focalizzazione sui costi.
Passiamo ora alla relazione B-D: poiché dobbiamo mantenere una focalizzazione sui costi, ed ogni risorsa non utilizzata è uno spreco, allora dobbiamo massimizzare l'utilizzo delle risorse per evitare ogni forma di spreco e mantenere un focus sulle efficienze locali
Analizziamo ora il secondo ramo della nostra Nuvola del Conflitto:
Passiamo alla relazione A-C: se il nostro obiettivo è la massimizzazione dei profitti, e se per raggiungere tale obiettivo occorre coprire i costi fissi con un adeguato flusso di ricavi, allora è necessario mantenere una focalizzazione sul flusso del throughput
Infine passiamo per la relazione C-D': se dobbiamo mantenere una focalizzazione sul flusso del throughput, e poiché il flusso del throughput è dettato dai vincoli dei quali dobbiamo proteggere le performance, allora è necessario mantenere capacità protettiva e mantenere il focus sulle performance globali
Il conflitto tra D e D' è evidente. Per risolverlo occorre sfidare le diverse assunzioni alla base di D e D'. Le assunzioni alla base di D sono
ogni risorsa non utilizzata è uno spreco: occorre eliminare ogni forma di spreco ed utilizzare al massimo ogni risorsa
i sistemi sono additivi: massimizzando le performance di ogni risorsa si massimizza le performance dell'intero sistema
Partiamo con la prima assunzione.
Ogni risorsa non utilizzata è effettivamente uno spreco?
Applicando le regole dell’efficienza in senso rigoroso, dovremmo giungere ad un sistema perfettamente bilanciato, un sistema in cui tutte le risorse hanno una capacità media uguale alla domanda media, ed in cui tutte le risorse sono pienamente occupate (nessuno spreco).

Ipotizziamo di avere un sistema bilanciato come quello descritto nella figura, in cui tutte le risorse, secondo i principi della massima efficienza, presentano tutte la medesima capacità media – diciamo 10 unità all’ora – allineata alla domanda media di 10 unità.
Poiché, in realtà, dobbiamo fare i conti con la variabilità statistica, un modello simile si rivela essere del tutto inefficiente. Scopriamolo con un esempio:
In ogni periodo (diciamo ogni ora) la domanda richiede al sistema di processare e rilasciare 10 unità
Ogni risorsa in media è in grado di produrre 10 unità, oscillando tra un minimo di 8 e un massimo di 12 unità
Sebbene ogni risorsa in media sia in grado di produrre le 10 unità, dobbiamo fare i conti con la variabilità statistica che colpisce ad ogni ciclo, per cui il sistema, complessivamente, è in grado in realtà di produrre una quantità inferiore alla media domandata (diciamo 9 unità invece di 10).
Ad esempio vediamo il primo ciclo di produzione:

La risorsa A, che è in grado di produrre 10 unità in media, al primo run rilascia le 10 unità richieste dalla domanda che vengono passate in input alla risorsa B
La risorsa B, che ha la stessa capacità media di 10 unità ne processa e ne passa 10 a C
C, ricevute le 10 unità in input, a causa di un problema ne rilascia a D solo 8, trattenendone due come WIP
D, avendone ricevuto in input solo 8 unità, ne rilascia a sua volta 8
Il sistema sebbene ogni risorsa abbia capacità in media per soddisfare la domanda di 10 unità, è stato in grado di rilasciare – a causa della variabilità statistica – solo 8 unità. 2 unità sono rimaste nel “tubo” come WIP davanti alla risorsa C.
Iniziamo il secondo round di produzione. La domanda è sempre 10 unità.

La risorse A e B processano nuovamente la loro domanda di 10 unità
La risorsa C si trova a dover processare le 2 unità in WIP (rimaste nel tubo al run precedente), più le 10 unità passate da C nel secondo run, per una domanda totale di 12 unità. Diciamo che essa ne processa 10 che vengono passate a D
D, ricevute le 10 unità, ne rilascia al mercato solo 9, di nuovo una performance in linea al suo range medio di 10, ma inferiore alla domanda
Il sistema ha nuovamente rilasciato un numero di unità inferiore alla domanda, sebbene le singole parti abbiano una capacità media sufficiente per la domanda di mercato.
Il problema di fondo è che, in un sistema interdipendente, le varianze non si compensano intorno alla media: le varianze negative vengono perse per sempre e non vengono compensate da quelle positive.
Andiamo avanti e, per effetto delle variazioni statistiche, ci troveremo ad un punto in cui il WIP si è accumulato di fronte ad ogni risorsa.

Siamo arrivati ad un punto in cui il sistema risulta “disaccoppiato”: le diverse risorse non sono più dipendenti dall’output della risorsa a monte, e pertanto, grazie a questo disaccoppiamento, il sistema può iniziare a produrre intorno alla sua media. Quando il sistema è totalmente disaccoppiato, allora ogni risorsa è in grado di produrre intorno alla sua media, e le varianze possono compensarsi.
Qual è il costo di questo sistema? Un alto livello di investimento in inventory e quindi, per effetto dei carrying cost, anche un impatto non indifferente sulle spese operative.
Cosa ci ricorda il modello illustrato nella figura precedente? Ci ricorda tanto un'ambiente Lean con i supermarket di fronte alle diverse workcell. In un ambiente siffatto, si spiegano quindi gli sforzi di standardizzazione e riduzione degli sprechi tipici del lean e l'obiettivo di bloccare la sovrapproduzione di inventory tramite il modello delle kanban-card, e si spiegano gli sforzi TQM e 6Sigma per cercare di contenere la varianza dei processi. Ma per quanto ci si possa sforzare non potremo mai eliminare una fonte di variabilità: quella della domanda.
E' corretto ritenere che la variazioni della domanda non abbiano alcun effetto sui processi? Ovvio che un pensiero simile è fortemente errato, ovvio che le fluttuazioni della domanda hanno forti effetti sui processi: ad esempio, per far fronte ad un istantaneo aumento della domanda per un certo prodotto, potremmo dover attivare un fornitore aggiuntivo, che magari non presenta gli stessi livelli di affidabilità dei fornitori abituali; oppure per fare fronte ad un incremento della domanda, si potrebbe essere tentati a produrre batch più grandi, rischiando di mandare certi processi ai limiti delle loro tolleranze, e così via. In breve: Murphy e variabilità statistica non possono essere azzerati.
Teniamo a mente un altro effetto negativo collegato al WIP: al crescere del WIP nel "tubo" si manifesta un altro fenomeno (legge di Little) per effetto del quale si determina un rapido allungamento delle code e quindi dei lead times, con un deterioramento delle performance ed una riduzione di Throughput, peggiorando quindi le performance del sistema rispetto alla domanda.
Siamo quindi giunti al paradosso che, il raggiungimento della massima efficienza nell'impiego delle risorse - rappresentato dalla fabbrica perfettamente bilanciata - produce un sistema in realtà altamente inefficiente, che per poter isolare le perturbazioni dovute a Murphy e alle fluttuazioni statistiche, richiede, salvo essere riusciti nell'utopistico esercizio di azzerare la varianza, un investimento in inventory elevato a protezione di ogni singola risorsa.
Andiamo avanti con il nostro conflitto. Immaginiamo di avere un sistema che non è perfettamente bilanciato, e nel quale – come è normale che accada – ci siano dei colli di bottiglia. Cosa otteniamo se - sempre spinti dalla logica dell'efficienza - teniamo impegnate al 100% tutte le risorse in presenza di un vincolo? Una montagna di inventory.
Abbiamo aumentato i profitti? Si, ma solo quello "contabile", frutto della cosmesi sulla valutazione dell'inventory e la sospensione dei costi a stato patrimoniale
A fronte di un maggiore profitto contabile, ho più soldi sul conto corrente bancario? NO: sono investiti ad "invecchiare" nel magazzino. Fosse un buon "Barolo" che si sta affinando in bottiglia - l'invecchiamento aggiungerebbe valore attuando un processo di trasformazione reale - ciò non sarebbe un problema, ma un magazzino di pezzi di acciaio prende solo la ruggine, crea costi (veri) di gestione dell'inventory, magari si svaluta e diventa da rottamare (e il nostro profitto "contabile" incassato all'anno uno si ripresenta negli anni seguenti con gli interessi)
Passiamo ora alla seconda assunzione.
I sistemi sono additivi?
Qui ci andiamo a scontrare con quello che Goldratt definisce "un fantasma matematico": il costo del prodotto determinato tramite i processi di contabilità analitica del product costing. Che si utilizzi il Cost Center Accounting o il più "raffinato" Activity Based Costing, il risultato non cambia: sempre di fantasma matematico si tratta, in quanto finalizzato a determinare un costo che non esiste in natura.
Capiamo perché parliamo di un fantasma matematico. Avete mai pagato un costo per un prodotto? Salvo che il prodotto venga acquistato da un fornitore per essere rivenduto, in genere non pagate un costo per un prodotto. Pagate delle spese per acquistare i materiali che servono per produrlo e pagate le risorse il cui lavoro viene impegnato nella trasformazione di tali materiali nel prodotto finito.
In altre parole, a parte i materiali, e pochi altri costi veramente variabili (ad esempio le commissioni di vendita, i costi di trasporto), la maggior parte dei costi si sostengono a prescindere che il prodotto venga fabbricato e venduto. Tuttavia, si cerca in tutti i modi - almeno per i costi di natura industriale - di associarli al prodotto per determinare l'informazione più fuorviante di cui si possa disporre: il conto economico destinato per prodotto.
Il conto economico di prodotto è uno dei vari meccanismi adottati per abilitare il modello di "command & control" organizzativo, assumento che le performance siano additive.
Qual'è il razionale nel modello di controllo tramite i costi di prodotto e conti economici destinati? Tentare di aiutare il management a prendere delle decisioni gestionali:
come e dove allocare la capacità produttiva
definire il mix più conveniente da produrre
decidere i prezzi di viendita dei prodotti
prendere decisioni di make or buy
decidere quali prodotti spingere con delle campagne di marketing e promozionali
etc.
L'assunto di base è che massimizzando tale mix di decisioni locali sui singoli prodotti si stia massimizzando anche la performance globale, la bottom line del conto economico aziendale.
Purtroppo ciò non è vero. Purtroppo i sistemi non sono additivi, e quando andiamo a misurare gli actual, la realtà non si dimentica mai di farci vedere quanto essa sia diversa dai nostri tentativi di semplificazione.
Che si utilizzi il "Cost Center Accounting", lo "Standard Costing", il "Target Costing" o il più raffinato "Activity Based Costing", il risultato non cambia, in quanto ad essere errato non è uno piuttosto che l'altro meccanismo di allocazione. Il meccanismo di allocazione può essere il più sofisticato , ma ad essere errato è proprio il principio alla base dell'allocazione dei costi, il tentativo di trattare come se fossero variabili e legare ai prodotti costi che sono per loro natura fissi.
Nel determinare il costo di trasformazione del prodotto in funzione di quanto tempo ciascun prodotto impiega le risorse, non viene considerato se e come stiamo utilizzando efficacemente la capacità, né tantomeno se stiamo utilizzando o meno un vincolo. Senza dilungarci troppo, è ampiamente dimostrabile che:
ignorando la distinzione tra vincoli e non, la contabilità di prodotto non è in grado di distinguere tra risorse critiche e non, e quindi non è in grado di distinguere quanto efficacemente stiamo utilizzando la nostra capacità
analizzando le cose dal punto di vista del Throughput, ci potremmo accorgere che i prodotti che sembrano essere i più redditizi, sono in realtà i nostri peggiori contributori e viceversa
utilizzando il costo industriale del prodotto nelle decisioni di pricing, si gonfiano inutilmente i prezzi, autolimitando la domanda di mercato. La cosa vale particolarmente per i prodotti che non transitano per il vincolo.
applicando i criteri di minimizzazione del costo di prodotto vengono spesso prese decisioni che impattano negativamente il flusso (dimensione dei lotti; set up; forniture oversees con lunghi lead times, etc)
Ne consegue che le decisioni basate sul conto economico di prodotto possono essere spesso gravemente errate.
La soluzione del conflitto
L'immenso lavoro di Goldratt, del quale abbiamo riportato una sintesi nel paragrafo precedente, ha dimostrato scientificamente come le assunzioni alla base del mondo dei costi siano errate. Rimane da dimostrare come invece le assunzioni alla base dei Five Focusing Steps siano vere, per farlo dovremmo riscrivere in questo post parte del lavoro di Goldratt, per cui non ha senso procedere oltre e scrivere quanto già stato scritto.
Possiamo tuttavia provare a rendere l'idea con una analogia efficace. Prendiamo uno sport di squadra: la cronometro a squadre di ciclismo.
In questo sport, diverse squadre si confrontano su un percorso, e vince la squadra che completa il percorso nel tempo minore. Il tempo della squadra, tuttavia, non viene congelato sul primo corridore, bensì sul quinto corridore della squadra a tagliare il traguardo.
Traduciamo questi elementi negli elementi a noi noti:
La squadra, come l'azienda, è un sistema composto dai vari corridori che la compongono.
La squadra ha un goal ben preciso e misurabile: condurre 5 corridori a completare il percorso nel minor tempo possibile
Il nostro Throughput è misurato dalla quantità di strada percorsa dai primi cinque corridori della squadra
Se pensiamo alla strada percorsa dai 5 corridori come se fossero dei prodotti finiti rilasciati, il WIP, ossia il nostro inventory, è rappresentato dalla quantità di strada che in ogni istante separa il primo corridore in testa al gruppo dal quinto atleta.
Le spese operative sono l'energia che i corridori consumano per pedalare
Il vincolo del sistema è rappresentato dal corridore meno performante.
Analiziamo questo sistema. La squadra è composta da nove corridori, il tempo si prende sul quinto. Come faccio a fare rendere la squadra al massimo? Applichiamo i five focusing steps.
Per prima cosa dobbiamo identificare il vincolo: il direttore sportivo conosce bene le performance della propria squadra e sa bene che il vincolo è il quinto corridore della squadra meno performante nelle gare a cronometro che deve arrivare al traguardo. Pertanto l'obiettivo diventa quello di massimizzare e proteggere la performance di questo corridore. In altre parole stiamo applicando gli step da 1 a 3. La strategia diventa quindi la seguente.
Ad inizio gara si mettono a tirare i "gregari", ossia i quattro corridori meno forti della squadra e che non devono giungere all'arrivo insieme ai primi cinque: si sa che chi tira il gruppo si stanca prima (subordinazione)
Se si verifica un imprevisto, ad esempio uno dei corridori del quintetto di base buca una gomma, di nuovo la strategia è quella di rallentare alcuni gregari per aspettare il corridore che ha forato e ritirarlo nel gruppo (di nuovo subordinazione)
Mano a mano i gregari - esausti - si staccano ad uno ad uno e rimangono i cinque che devono arrivare al traguardo. Come cambia la strategia di gara?
Decidiamo di impartire l'ordine di mettere il quinto d'avanti al gruppo a tirare? No: si stancherebbe e rischieremo di compromettere la sua performance
Decidiamo di impartire un "liberi tutti", suggerendo a ciascun ciclista di andare al massimo delle proprie potenzialità? Assolutamente no: il gruppo si sfilerebbe (aumenterebbe il WIP) e inevitabilmente il quinto corridore si staccherebbe senza poter più recuperare lo strappo. Perdendo la protezione dei compagni il suo tempo all'arrivo sarebbe maggiore rispetto al tempo che potrebbe ottenere rimanendo protetto in gruppo
La cosa più saggia da fare è quella di mettere i corridori più forti a tirare il gruppo, ad un passo che viene regolato dal quinto corridore: è il quinto corridore che comunica al resto del gruppo quanto accelerare e quando rallentare, ma rimanendo sempre protetto dentro al gruppo. In altre parole il quinto corridore detta il Ritmo (DRUM), comunica agli altri corridori quando accelerare o rallentare (ROPE) in modo da mantenere lo spazio tra i corridori costante (BUFFER).
Risulta evidente come per massimizzare la resa di una squadra abbiamo applicato tutti e tre gli step della focalizzazione: abbiamo identificato il vincolo, abbiamo fatto in modo di massimizzarne la performance e l'abbiamo protetto con la subordinazione degli altri corridori.
Non abbiamo vinto la gara: cosa fare?
Se le prime tre azioni non sono state sufficienti per vincere la nostra gara, cosa dobbiamo fare per poterla vincere il prossimo anno?
Quarto step: elevare il vincolo, ingaggiando un quinto corridore più forte di quello attuale. Ma attenzione: il vincolo potrebbe essere diventato un altro corridore, quindi alleniamoci per reimpostare gli ordini di squadra (quinto step).
Per quanto piccolo e semplificato, questo piccolo sistema, presenta le stesse caratteristiche di un sistema aziendale:
abbiamo interdipendenza tra le risorse (corridori che "si passano" la strada da percorrere, così come le risorse aziendali si passano dei "semilavorati"),
abbiamo un goal e una "Unity of Purpose" (vincere la gara)
abbiamo la variabilità,
abbiamo il vincolo.
Abbiamo provato che le regole della TOC alla base della massimizzazione del flusso sono corrette per questo piccolo sistema: per quale motivo non dovrebbero valere per un sistema aziendale? Per gli scettici, rimandiamo alla immensa bibliografia di Goldratt per trovare le spiegazioni applicate al contesto aziendale.
A questo punto il conflitto è risolto nel seguente modo:

La gestione si sposta sulla focalizzazione intorno al flusso: l'obiettivo diventa la massimizzazione del Throughput e quindi occorre applicare rigorosamente i Five Focusing Steps
L'attenzione sui costi viene mantenuta, in coerenza alla necessità di mantenere la capacità protettiva necessaria per proteggere il vincolo e sostenere il flusso: in altre parole, occorre evitare di avere "troppa capacità" protettiva, ossia protezione in eccesso rispetto alla reale variabilità del processo. Quando si ha capacità in eccesso, oltre alla capacità protettiva necessaria, questa diventa un area di opportunità.
Le azioni di miglioramento continuo sono orientate al sostenimento del flusso e non mere ed estemporanee riduzioni di costi. La riduzione dei costi si può attuare con azioni volte alla riduzione e controllo della variabilità: riducendo e controllando la variabilità diventa allora possibile ridurre gradualmente la capacità protettiva senza provocare tensioni sul flusso
Conclusioni
Per coloro che hanno trovato interessante questo post, non ci resta che invitarli ad approfondire la materia:
in primis con l'immensa letteratura pubblicata dal Dr. E.Goldratt
rimanendo sintonizzati sul nostro blog dove pubblichiamo periodicamente nuovi approfondimenti
partecipando ai nostri webinar che periodicamente organizziamo
ABOUT WeeonD
Le aziende che avranno successo duraturo saranno quelle che sapranno identificare e Valorizzare al meglio i propri Vincoli
Aiutiamo le aziende a migliorare rapidamente e in modo duraturo le proprie performance, applicando i metodi innovativi della Teoria dei Vincoli
Note
[1] E. Goldratt: "What is this thing called Theory of Constraints and how should it be implemented?"
[2] Lepore, Siepe, Montgomery: "Quality, Involvment, Flow"
Comments