Salta al contenuto

Cos'è l'effetto farfalla?

La sensibilità alle condizioni iniziali di un sistema non lineare: una piccola modifica a monte cambia l'esito a valle.

L'effetto farfalla è la sensibilità alle condizioni iniziali di un sistema dinamico non lineare: una perturbazione minima in ingresso può produrre, col tempo, uno stato finale molto diverso da quello che si sarebbe avuto senza quella perturbazione. Il concetto, chiamato tecnicamente SDIC (sensitive dependence on initial conditions), venne riscoperto dal meteorologo statunitense Edward Lorenz nel 1963, nel paper "Deterministic Nonperiodic Flow", pubblicato sul Journal of the Atmospheric Sciences. La parola "farfalla" arriva solo nel 1972, in una conferenza in cui Lorenz la usa come metafora per chiedersi se il battito d'ali di una farfalla in Brasile possa scatenare un tornado in Texas. È un dettaglio che conta, e che la divulgazione riporta quasi sempre male: l'effetto farfalla metaforico del 1972 e la sensibilità alle condizioni iniziali del 1963 non sono la stessa cosa, e la distinzione tra le due è il punto che quasi nessuno spiega.

Leggi anche: Data lineage · La mappa del percorso dei dati: da quale sorgente partono, quali trasformazioni subiscono e quali report, modelli o sistemi alimentano.

Dove la metafora regge e dove no

La lettura più diffusa, quella da contenuti motivazionali, dice che una piccola azione può portare a qualunque conseguenza. Shen, Pielke e Zeng, nello studio del 2023 sui cinquant'anni della metafora ("The 50th Anniversary of the Metaphorical Butterfly Effect since Lorenz (1972)", Atmosphere, doi:10.3390/atmos14081279), fanno notare che è imprecisa. La confrontano con la filastrocca del chiodo ("per un chiodo si perse il ferro... e tutto per un chiodo"): non regge come analogia perché non indica che gli stati possibili siano delimitati, mentre un sistema caotico dissipativo resta dentro un insieme delimitato di stati possibili, l'attrattore. La farfalla non genera un tornado qualunque: al più contribuisce a decidere quale, tra gli stati compatibili con le leggi del sistema, si realizza. Gli stessi autori distinguono tre effetti farfalla dietro lo stesso nome: la sensibilità alle condizioni iniziali, la capacità di un disturbo di innescare una circolazione più ampia, e il ruolo dei processi minuti nel limitare la prevedibilità.

Un esempio enterprise

In un sistema informativo aziendale l'effetto farfalla si osserva ogni volta che una modifica minuscola a monte (il caso tipico è l'evoluzione dello schema) attraversa pipeline e aggregazioni e riemerge dove nessuno la cercava: una dashboard che non quadra più, un modello che peggiora in silenzio, una fattura in cui un importo nullo viene sommato come zero. A differenza del sistema di Lorenz, qui l'accoppiamento non è un mistero della fisica: è codice e job schedulati, quindi documentabile. L'imprevedibilità sta soprattutto nel non conoscere quella topologia, e le query costruite a runtime, gli export in Excel e i consumatori mai censiti sono precisamente ciò che resta fuori dal grafo. Per questo esiste la mappatura del lineage dei dati: restringe l'imprevedibile a un'analisi d'impatto che puoi fare prima del deploy, precisa quanto il grafo su cui è calcolata. Pratica correlata ma distinta è il chaos engineering, che inietta guasti controllati in un sistema vivo per misurarne la resilienza: lì si verifica la reazione a una perturbazione voluta, qui si parla della proprietà che rende ogni perturbazione, voluta o no, capace di propagarsi lontano dal punto in cui è nata.

Perché conta per chi decide

Chi governa dati e sistemi software non deve rassegnarsi al fatalismo della lettura popolare, quella per cui cambiare un valore qualsiasi potrebbe scatenare qualunque cosa. Deve trattare l'accoppiamento tra componenti come un fatto progettuale da mappare, non come un destino da subire. Il costo reale di una modifica minima a monte non è l'errore in sé, che prima o poi capita comunque: è non sapere in anticipo cosa tocca. Investire in lineage e osservabilità trasforma l'effetto farfalla da sorpresa in stima.

  • Data lineage · La mappa del percorso dei dati: da quale sorgente partono, quali trasformazioni subiscono e quali report, modelli o sistemi alimentano.
  • Schema evolution · La disciplina che gestisce i cambiamenti di schema nel tempo senza rompere i sistemi che dipendono da quei dati.
  • Chaos engineering · Iniettare guasti controllati in un sistema vivo per verificare sperimentalmente la sua resilienza, prima che il guasto arrivi da solo.
  • Observability · La capacità di capire cosa succede dentro un sistema in produzione da log, metriche e tracce, senza doverci indovinare sopra.

Vedi nell'universo

Se è una scelta tecnica che stai rimandando, è la decisione che ti aiuto a prendere.

VEDI TOOL CUSTOM E GOVERNANCE

Oppure scrivimi.