Ciao, e benvenuto nella seconda puntata dell'ottantesima stagione. La volta scorsa, il trasloco, e la verità che la velocità viene dal lavoro indipendente. Oggi il rovescio, il cuore di tutta la stagione: quello che non puoi fare insieme, e perché. Il titolo lo dice: quello che non puoi fare insieme.
C'è un solo ostacolo sotto tutti gli ostacoli, e si chiama dipendenza. Togli via tutto il resto, e resta una sola ragione per cui il parallelismo ha un limite: certi lavori hanno bisogno del risultato di altri lavori prima di poter cominciare. Non puoi mettere una cosa in una scatola prima di averla incartata; non puoi portare giù una scatola prima di averla chiusa; non puoi disfare i bagagli al nuovo posto prima che siano arrivati. B ha bisogno di quello che produce A, quindi B deve aspettare A. Quell'attesa è il nemico del nello stesso momento. Dovunque il parallelismo fallisce, guarda bene e troverai una dipendenza.
Rendiamo netta la distinzione. Due pezzi di lavoro sono indipendenti se nessuno dei due ha bisogno di qualcosa che produce l'altro: allora possono accadere nello stesso momento, liberamente, in mani diverse. Sono dipendenti se uno ha bisogno del risultato dell'altro: allora devono accadere in ordine, uno dopo l'altro, e nessun numero di mani lo cambia. Tutta l'arte di parallelizzare è smistare il lavoro in questi due mucchi: cosa è indipendente, da dare a molte mani, e cosa è una catena, da accettare che vada un anello alla volta.
E qui la conseguenza che perseguita tutto il resto. Dentro ogni lavoro c'è una catena più lunga di passi che devono seguirsi per forza: incarta l'armadio, poi portalo, poi caricalo, poi guida, poi scaricalo, poi mettilo a posto. Quella catena ha una lunghezza, e il lavoro intero non può mai finire più in fretta di quanto impiega quella catena, per quanti aiutanti getti su tutto il resto. Gli aiutanti accelerano le scatole intorno alla catena; non possono accorciare la catena. Il filo più lungo di dipendenze è il pavimento duro su cui si poggia la velocità del lavoro. La prossima puntata faremo di quel pavimento un numero; oggi basta vedere che esiste, ed è fatto di dipendenze.
Ma le catene ovvie sono la parte facile. Quelle pericolose sono nascoste. Due compiti sembrano indipendenti, e invece condividono di nascosto qualcosa: la stessa porta, lo stesso camion, lo stesso registro di cosa è già impacchettato. Nel momento in cui due lavoratori indipendenti hanno bisogno della stessa unica cosa, sono dipendenti in segreto: uno aspetta mentre l'altro la usa. Gran parte del dolore del parallelismo vero è scoprire dipendenze che non sapevi ci fossero: una risorsa condivisa, un dato condiviso, un non detto questo prima di quello. Un lavoro che sulla carta sembra parallelo gira in fila nella pratica, per una dipendenza che nessuno aveva disegnato.
La buona notizia: non ogni dipendenza è di ferro. A volte puoi ristrutturare il lavoro per toglierne una. Incarta due armadi, così due persone ne portano uno ciascuno: hai duplicato la risorsa. Etichetta le scatole in anticipo, così nessuno deve chiedere dove va: hai tolto la domanda condivisa. Dai a ogni aiutante il suo rotolo di nastro, così non aspettano l'unico rotolo: hai eliminato la condivisione. Molta della bravura nel progettare in parallelo è esattamente questo: dare la caccia alle dipendenze e, dove si può, ingegnerizzarle via, trasformando una catena in pezzi indipendenti. Quelle che non puoi togliere sono il pavimento vero.
E adesso la pietra angolare, per intero. Il parallelismo non è fare molte cose insieme: è fare insieme solo ciò che non dipende da altro. Ogni lavoro è una miscela: un insieme di pezzi indipendenti che molte mani possono divorare, e una catena di passi dipendenti che va uno alla volta. I pezzi indipendenti sono dove vive la velocità; la catena è dove la velocità muore. Parallelizzare è massimizzare il primo mucchio e minimizzare il secondo, e sapere, con onestà, che il secondo mucchio non arriva mai a zero.
È la macchina sotto la magia. La magia dice: più mani, più velocità. La macchina risponde: più mani aiutano solo il mucchio indipendente; alla catena dipendente non importa quante siete. La velocità non riguarda i lavoratori: riguarda quanta parte del lavoro è libera dall'attesa.
Voglio lasciarti con l'abitudine che cambia tutto: cercare le dipendenze prima delle braccia. Davanti a un lavoro da accelerare, non contare quante mani puoi aggiungere; traccia cosa deve aspettare cosa. Dividi il lavoro in due mucchi: quello indipendente, che puoi dare a tutte le mani che vuoi, e la catena, i passi che devono per forza seguirsi, che va avanti un anello alla volta comunque. Poi dai alle braccia il primo mucchio, e sulla catena prova a rompere le dipendenze che si possono rompere, e accetta quelle che non si possono. Perché le braccia non accorciano la catena: la catena è ciò che resta quando tutte le mani del mondo hanno finito.
Per oggi ci fermiamo qui. Abbiamo trovato l'ostacolo sotto tutti gli ostacoli, la dipendenza; distinto il lavoro indipendente dalla catena dipendente; visto che il filo più lungo di dipendenze fissa un pavimento che le braccia non sfondano; scoperto le dipendenze nascoste, le risorse condivise che rendono dipendenti due compiti che sembravano liberi; e imparato che qualche dipendenza si può rompere, e il resto va accettato. Nella prossima puntata: prima le scatole, poi il camion. Nelle note trovi qualche spunto. Se ti è utile, condividila. Grazie per l'ascolto, e ci sentiamo alla prossima.