Kent Beck, creatore del Test-Driven Development e firmatario dell'Agile Manifesto, pubblica un post LinkedIn stimolante che critica il fenomeno del "Vibe Coding": la pratica di affidarsi principalmente all'intuizione e al codice generato dall'IA, senza una disciplina sistematica di test. Il suo intervento, che ha un peso considerevole dati i suoi contributi fondativi all'ingegneria del software, innesca un ampio dibattito nel settore sull'equilibrio tra assistenza dell'IA e rigore ingegneristico.

Argomento centrale: le sensazioni non bastano

Tesi di Beck: "se sembra giusto, rilascialo" è un approccio fondamentalmente errato, sia che il codice sia scritto da un essere umano sia che sia generato dall'IA. La correttezza del software richiede una validazione sistematica: test che forniscono una prova oggettiva del funzionamento del codice, prevenzione delle regressioni, specifiche eseguibili che documentano il comportamento atteso e un feedback di design che fa emergere precocemente i problemi di complessità. L'intuizione ha valore, ma non sostituisce una verifica rigorosa.

La rilevanza del TDD nell'era dell'IA

A chi considera il TDD obsoleto di fronte alla generazione di codice tramite IA, Beck risponde: l'IA amplifica le conseguenze dello sviluppo privo di disciplina. Programmare più velocemente senza test significa accumulare debito tecnico più rapidamente; il codice generato dall'IA contiene comunque bug da individuare; i test aiutano a raffinare i prompt; la disciplina del TDD impedisce di accettare output dell'IA plausibili ma errati. Il TDD completa l'IA invece di essere superato da essa.

Una critica sfumata

Beck distingue: prototipazione (il vibe coding è accettabile per esperimenti usa e getta), codice di produzione (i test non sono negoziabili), progetti personali (scelta individuale) e codice di team o aziendale (la responsabilità professionale richiede disciplina). Non si tratta di una condanna dell'assistenza dell'IA: la critica riguarda l'abbandono della verifica, non l'uso degli strumenti.

L'IA come amplificatore

Idea chiave: l'IA amplifica le tendenze esistenti. Gli ingegneri disciplinati accelerano il ciclo red-green-refactor con l'IA; gli ingegneri privi di disciplina producono codice pieno di bug più rapidamente. L'IA non elimina la necessità di disciplina, ne intensifica le conseguenze.

Reazioni e punti di convergenza

Le reazioni si dividono tra tradizionalisti, pragmatici ed entusiasti dell'IA; le controargomentazioni (il TDD è troppo lento, i test possono essere generati dall'IA, la pressione del mercato) meritano considerazione senza invalidare il principio della verifica. Emerge un consenso attorno ad approcci ibridi: l'IA per le bozze di codice e i casi di test ripetitivi, i test per validare l'output dell'IA, un rigore modulato in base alla criticità del codice. Beck inquadra la questione in termini di etica professionale: l'IA cambia il modo in cui si programma, non l'importanza della qualità.