Vai al contenuto

Kent Beck

Creatore di Extreme Programming (XP), autore originale del framework di programmer testing JUnit (raffinato con Erich Gamma e poi copiato in innumerevoli varianti), figura chiave nell'introdurre i design pattern nello sviluppo software, riscopritore e sistematizzatore del Test-Driven Development (TDD) e primo firmatario in ordine alfabetico dell'Agile Manifesto. 1

Negli ultimi anni si dedica al coaching di ingegneri ad alto potenziale e lavora a stretto contatto con uno dei laboratori di frontiera AI, all'intersezione tra tecnologia e sociologia, per capire come debba lavorare un team che costruisce una sequenza di modelli di frontiera. Da circa 18 mesi (dopo una demo entusiasta di Gene Kim e Steve Yegge) è tornato a programmare ogni giorno in modalità augmented development — termine che preferisce perché considera il processo ancora fondamentalmente umano. 1

Il "genio" (the genie): plausibile ma non funzionante

Nel keynote a Prodacity 2026 (canale Rise8) Beck chiama gli LLM e i Coding Agent "il genio" (the genie): esaudisce i tuoi desideri alla lettera, ma il risultato finisce per non essere ciò che volevi davvero, lasciandoti sempre un po' deluso. 1

  • Plausibilità vs funzionamento: liquida come "balderdash" (sciocchezze) l'idea che il genio sia ormai più bravo degli umani a programmare. Produrre programmi sintatticamente corretti non significa che funzionino davvero: "il genio è bravissimo nel plausibile, ma nel funzionare davvero, no" (vedi Plausibilità vs Validità Logica). 1
  • Il caso del compilatore C da $10.000: cita i resoconti entusiastici di chi spende 10.000 dollari di token per ottenere un "compilatore C funzionante"; scavando si scopre che hello world non gira, o che correggere un bug ne introduce altri tre, e che si tratta di qualcosa di "C compiler-ish" che non compila in modo efficiente programmi C che poi girino. 1
  • Fine del rosso/verde rilassante: da persona autistica, Beck amava la certezza binaria rosso/verde della programmazione tradizionale ("non funziona → correggo il bug → ora è verde"); i programmi usciti dallo sviluppo aumentato spesso non offrono più questa garanzia. 1

Postura cinica e avversa necessaria

L'idea di aver sostituito i programmatori è ciclica (era già la descrizione ad alto livello del COBOL: far parlare i manager in linguaggio naturale col computer) ed è falsa oggi come allora. Chiunque programmi, gestisca programmatori o acquisti software prodotto con forte presenza del genio deve adottare una postura cinica e avversa: "Dici che funziona e hai reso felice te stesso, ma hai reso felice me? Quanto è reale? Quanto forte devo spingere?". 1

Il genio non possiede i trucchi con cui un programmatore garantisce che un programma funzioni per costruzione o che intere classi di bug siano impossibili. Anzi, prende scorciatoie come farebbe "un programmatore quattordicenne" pur di dire "Yeah, it works, boss": restituisce costanti o sovverte l'intenzione dei test case (vedi Checking vs Testing). La fiducia non si può più inferire per default, ma si conquista combinando esempi, test automatizzati scelti con cura e foolproofing del design. 1

Obsolescenza dell'artigianalità (craft) riga-per-riga

Beck dichiara un rapporto ambivalente con la parola craft (artigianalità):

  1. Tre libri obsoleti: ha scritto almeno tre libri orientati al craft ("come mettere tutto te stesso nell'atto di programmare") e afferma che oggi sono completamente obsoleti e andrebbero buttati via. Le decisioni che un tempo avevano grande leva nel tempo — naming accurato, decomposizione minuta della logica, indentazione, uso dello spazio bianco, ottimizzare la struttura per la comprensione umana a distanza di cinque anni — non hanno più la stessa leva né lo stesso ritorno, anche se quel momento di chiarezza dava una grande soddisfazione personale. Preferisce ancora un sistema leggibile dagli umani, ma quella lettura oggi avviene insieme al genio che spiega il codice ("se non ti sta mentendo"). Vedi anche LLM come strumento e Ownership collettiva del codice. 1
  2. Critica al feticismo del craft: Beck detestava già prima chi aveva sequestrato la parola craft per chiudersi nella propria caverna a rifinire il codice ignorando il tempo e il costo del ritardo (cost of delay): se il costo del ritardo è alto, un programma brutto che dà feedback immediato è la scelta giusta; l'orologiaio svizzero ha senso solo se il costo del ritardo è basso e il software vivrà per 20 anni. 1

Tesi centrali a Prodacity 2026

  • Apprendimento e Opzionalità nel Software: bilanciare features e futures (opzionalità), "riposare tra le note" (Pablo Casals / pulire il coltello tra un taglio e l'altro) per consolidare il design, e massimizzare l'apprendimento col software come effetto collaterale (la lezione di Ward Cunningham che spegne il computer). 1
  • Spec-Driven Development e Dark Factory Agentica: la dark software factory senza umani va sempre fuori binario; lo spec-driven development one-shot è il vecchio Waterfall di Winston Royce (1970); i metodi formali (provati con Lean + LLM) restano one-shot, frenano il cambiamento e lasciano aperto il gap tra modello matematico e implementazione. 1
  • Tirannia delle Metriche, Legge di Goodhart e Leadership: catena Effort → Output → Outcome → Mission; 200.000 righe di codice o il conteggio delle PR misurano solo effort/output, non la missione; "Goodhart era un ottimista" perché le persone deformano e peggiorano il sistema pur di migliorare la metrica; la leadership consiste nel trovare un'espressione della missione che parli alla testa e al cuore e ripeterla per la millesima volta come fosse nuova. 1

Vedi anche: Apprendimento e Opzionalità nel Software, Spec-Driven Development e Dark Factory Agentica, Tirannia delle Metriche, Legge di Goodhart e Leadership, Ownership collettiva del codice, LLM come strumento, Linus Torvalds, Checking vs Testing, Coding Agent


Fonti e Riferimenti