Apprendimento e Opzionalità nel Software
Modello economico e progettuale proposto da Kent Beck a Prodacity 2026 per governare lo sviluppo software assistito dall'AI ("il genio"): il valore economico di un progetto è la somma delle features che possiede oggi e dei futures (le opzionalità di cambiamento futuro). I migliori progetti sono quelli che massimizzano l'apprendimento, producendo il software come effetto collaterale. 1
Il diagramma Futures vs Features e il burn delle opzionalità
Raccontando i propri ultimi 18 mesi di programmazione hardcore con gli agenti AI, Beck nota che sul suo GitHub compaiono sequenze come project, project-2, project-3, project-4: progetti ambiziosi che partono velocissimi ma finiscono contro un muro in cui non si riesce più a correggere un bug senza rompere qualcos'altro, costringendo a ricominciare da capo. 1
Sugli assi cartesiani (Futures / Optionality in verticale, Features in orizzontale):
- Si parte con zero feature e un'ampia varietà di opzioni future (futures). 1
- Ogni nuova feature implementata brucia parte dei futures (al minimo per mantenere la retrocompatibilità, o per i vincoli strutturali introdotti). 1
- Continuando ad aggiungere feature una dopo l'altra, le opzionalità scendono fino allo stato di zero assoluto, in cui il sistema è un groviglio immodificabile. 1
- L'accelerazione dell'AI verso il disastro: prima servivano 100 persone per 10 anni per arrivare allo stato di zero opzionalità; oggi con l'AI "posso farlo nella privacy del mio ufficio: una persona, una settimana, e produco un disastro completo". 1
Il "riposo tra le note" di Pablo Casals e il consolidamento
Come creare invece una traiettoria in cui crescano sia le feature sia le opzionalità? Beck richiama un aneddoto (apocrifo ma illuminante) dei suoi studi di musica classica sul violoncellista Pablo Casals: a chi gli chiedeva come facesse a non stancarsi suonando una lunghissima sequenza di sedicesimi, Casals rispondeva "Mi riposo tra le note". 1
Nello sviluppo con l'AI, il "momento tra le note" si apre quando il genio finisce una feature, fa il gesto delle pistole con le dita ("Okay boss, ho finito la feature, vuoi che implementi la prossima?") e la tentazione è dirgli subito di sì: 1
- Fermarsi e consolidare: invece di chiedere la feature successiva, prendersi un respiro per ricostruire i futures: fare refactoring, eliminare duplicazioni, ottimizzare per la leggibilità, o persino buttare via ciò che è appena stato fatto e reimplementarlo in modo diverso per vedere come viene (vedi anche Ownership collettiva del codice e Agenti per la Potatura). 1
- Non si pulisce il coltello mentre si taglia: cercare di aggiungere feature e aumentare le opzionalità nello stesso istante è un problema troppo grande persino per il cervello combinato dell'umano e del genio. Come in una cucina professionale, bisogna alternare: tagliare, pulire il coltello, tagliare, pulire il coltello (progress → consolidate → progress → consolidate). Vista da lontano, la traiettoria a zig-zag appare come una crescita simultanea di feature e opzioni. 1
- L'asimmetria di visibilità: le feature sono visibili e "leggibili" (nel senso di Seeing Like a State): utenti e stakeholder le vedono e festeggiano. I futures sono invisibili e difficili da contabilizzare: nessuna specifica chiede "e questo renderà il software più facile da cambiare in futuro", e per Beck un software "finito" che nessuno vuole più cambiare è un fallimento, mentre il vero successo è un software che ispira nuove idee. Vedi anche Decisioni Sottrattive e Focus e Opportunity Cost. 1
Massimizzare l'apprendimento: Ward Cunningham spegne il computer
Darsi un ritmo tra una feature e l'altra serve a formare comprensione (vedi LLM come strumento e Pensare in Grande con l'AI). Beck sintetizza la sua regola d'oro:
Il miglior software su cui abbia lavorato è quello in cui ho cercato di massimizzare l'apprendimento, producendo software come effetto collaterale — anziché cercare di produrre software e imparare qualcosa solo per caso quando combino un guaio. 1
Chi massimizza l'apprendimento ha abitudini e ritmi diversi, e non ha paura di buttare via il codice quando diventa confuso. Beck racconta l'episodio che gli accese la lampadina a inizio carriera lavorando con il suo mentore Ward Cunningham (inventore del Wiki): a fine pomeriggio avevano scritto del codice che faceva ciò che volevano, ma lasciava entrambi un po' perplessi; Ward allungò la mano e spense fisicamente il computer, distruggendo il lavoro non salvato. Beck tornò a casa furioso, ma la mattina dopo reimplementarono in 15 minuti tutto il lavoro del pomeriggio precedente, in modo cristallino e comprendendolo fino in fondo. 1
Nella dark factory agentica, al contrario, non si impara nulla — se non, alla fine, quanto sia inaffidabile il genio (un tema affine al rischio di delega cognitiva discusso da Mister RIP). 1
Vedi anche: Kent Beck, Spec-Driven Development e Dark Factory Agentica, Tirannia delle Metriche, Legge di Goodhart e Leadership, Ownership collettiva del codice, LLM come strumento, Pensare in Grande con l'AI, Decisioni Sottrattive, Agenti per la Potatura