Se non trovo una similitudine, non ho ancora capito

  • metodo
  • apprendimento

Quando ho scritto del debito tecnico come di una cucina in disordine, pensavo di aver trovato solo un modo comodo per spiegarlo. Il piatto esce lo stesso, ma ci metti di più e ti arrabbi di più. Poi, mentre la scrivevo, è uscita una frase a cui non avevo mai pensato: nessuno vuole lavorare in una cucina sporca. Il debito tecnico non rallenta soltanto. Fa scappare le persone.

Quella frase non l’ho trovata guardando il codice. L’ho trovata guardando la cucina.

E quando l’ho raccontata a persone che il codice non lo scrivono, hanno capito subito cosa intendevo. Nessuno mi ha chiesto cosa fosse un refactor: sapevano tutti com’è una cucina dopo un servizio.

Da allora mi sono accorto che lo faccio sempre. Il dominio è diventato l’officina di un meccanico, lo strato che ci separa dai sistemi esterni è diventato un adattatore da viaggio. Non per abbellire i pezzi: è il modo in cui capisco le cose.

Tre cose che una similitudine fa al posto mio

La prima è costringermi a capire. Per trovare una similitudine che regge devo sapere quali sono le parti del problema e come si toccano tra loro. Se la cerco e non la trovo, il motivo di solito non è la mancanza di fantasia. È che il problema non mi è ancora chiaro.

La seconda è farmi vedere cose che c’erano già. Una similitudine non porta solo l’immagine, porta con sé le sue regole. In un progetto avevamo un elenco lunghissimo di if che decidevano chi poteva passare e chi no. Nel codice erano tutti uguali, un if dopo l’altro. Quando li ho messi in bocca a un buttafuori all’ingresso di un locale, le differenze sono saltate fuori da sole: certi controlli il buttafuori li fa a occhio, per altri deve chiedere un documento. E per il VIP valgono regole tutte sue. Il refactor è partito da lì, dal nome che la similitudine aveva dato a quelle differenze.

A volte le regole nuove non le trovo io. Dopo la cucina, Danilo Sanchi mi ha scritto in un commento su LinkedIn che non basta pulire: un coltello può essere pulito e al suo posto, ma nel cassetto sbagliato. Da lì siamo finiti a parlare di quando riorganizzare la cucina, cioè di refactor architetturale, senza mai usare quella parola. La similitudine l’ha allungata chi l’ha letta, non chi l’ha scritta.

La terza è farmi capire da chi non è del settore. I problemi di cui mi occupo sono tecnici, ma le persone che devono decidere spesso non lo sono. Una similitudine dà a tutti la stessa stanza in cui parlare.

Non sono il primo ad accorgermene

La psicologa cognitiva Dedre Gentner ha studiato come funzionano le analogie. Secondo la sua teoria, una buona analogia non trasferisce l’aspetto delle cose ma le relazioni tra le parti. Il buttafuori non somiglia a un if. A somigliarsi è il modo in cui i controlli dipendono l’uno dall’altro. È il motivo per cui la similitudine mi ha fatto vedere qualcosa: si è portata dietro la struttura, non la superficie.

Douglas Hofstadter ed Emmanuel Sander si spingono più in là. In Superfici ed essenze sostengono che l’analogia non sia un trucco retorico ma il cuore del pensiero: capiamo una cosa nuova accostandola a qualcosa che conosciamo già.

La similitudine giusta è un posto in cui chi ascolta è già stato

Per spiegare l’anticorruption layer, la prima volta ho usato una catena di montaggio di macchine inventata per l’occasione. Non funzionava. Non riuscivo a far vedere cosa tenere fuori e cosa lasciare entrare. Ogni domanda mi costringeva ad aggiungere un pezzo alla fabbrica.

Alla fine ho usato il viaggio. Il phon comprato per casa va bene finché non parti: se il viaggio lo metti in conto, in valigia ci va l’adattatore. Lì non ho dovuto spiegare niente, perché in viaggio ci sono stati tutti.

La differenza non era nell’idea, era nel posto. La catena di montaggio l’avevo costruita io: chi ascoltava doveva prima imparare come funzionava. Il viaggio ce l’avevano già in testa. Una similitudine che va spiegata non sta facendo il suo lavoro.

Da queste prove mi porto via due abitudini. Se non trovo una similitudine, non ho ancora capito il problema e torno a guardarlo. Quando la trovo, cerco subito il punto in cui si rompe.

Una similitudine non è una dimostrazione

Ogni similitudine si rompe da qualche parte. Lakoff e Johnson, in Metafora e vita quotidiana, lo dicono bene: ogni metafora mette in luce qualcosa e ne nasconde un’altra. La cucina si pulisce a fine servizio, il codice no, perché il servizio non finisce quasi mai.

Per questo la uso per vedere e per spiegare, non per decidere. Quando la similitudine e il problema dicono due cose diverse, ha ragione il problema. La metafora a quel punto ha già fatto la sua parte: mi ha portato a guardare il punto giusto.

Hai una similitudine che ti ha fatto capire un problema, o una che ti ha portato fuori strada? Raccontamela.

Riferimenti

  • Dedre Gentner: la teoria della mappatura strutturale, per cui un’analogia trasferisce le relazioni tra le parti e non il loro aspetto.
  • Douglas Hofstadter ed Emmanuel Sander, Superfici ed essenze. L’analogia come cuore pulsante del pensiero, Codice Edizioni, 2015 (scheda dell’editore).
  • George Lakoff e Mark Johnson, Metafora e vita quotidiana, Bompiani: ogni metafora mette in luce qualcosa e ne nasconde un’altra.