Un sondaggio Sonar del 2026 mostra che l'88% degli sviluppatori afferma che il codice generato dall'IA sta aumentando il debito tecnico, e i sostenitori dello sviluppo guidato dalle specifiche (spec-driven development) sostengono che una fase di specifica disciplinata possa arrestare questa deriva.
Perché il problema è importante
Quando un essere umano riceve un ticket vago, pone domande di chiarimento. Un agente IA, al contrario, colma le lacune con la sua migliore supposizione e consegna codice che appare plausibile. L'illusione di correttezza è costosa: lo stesso sondaggio Sonar riferisce che più della metà degli intervistati ha visto codice superare i controlli di base pur nascondendo difetti sottili. Questi difetti si accumulano sotto forma di debito tecnico, costringendo a successivi refactoring, rallentando il rilascio di nuove funzionalità e gonfiando i budget di manutenzione.
Come si presenta lo sviluppo guidato dalle specifiche
Lo sviluppo guidato dalle specifiche (SDD - Spec-driven development) inverte l'ordine attuale. Invece di fornire un prompt a un modello IA basato su una breve user story, il team scrive una specifica dettagliata ed eseguibile dagli agenti, che risiede nello stesso sistema di controllo versione del codice. La specifica diventa l'unica fonte di verità: registra l'intento, i casi limite (edge cases), le aspettative di performance e qualsiasi vincolo che il modello IA debba rispettare.
Il processo non sostituisce il lavoro di progettazione umana; lo codifica. Spostando le decisioni dalla memoria di uno sviluppatore in un documento concreto, sia gli umani che i futuri agenti IA possono tracciare il motivo per cui un frammento di codice si comporta in un certo modo. Redigere una specifica richiede uno sforzo iniziale, ma il debugging di output IA ambigui costa molto di più in seguito.
Cambiare il flusso di lavoro
Product backlog – Mantieni le voci brevi, catturando solo l'intento e i criteri di accettazione di alto livello. Questo elenco continua a guidare la prioritizzazione.
Sprint planning – I team discutono l'obiettivo generale e concordano su uno Sprint Goal, ma rimandano l'implementazione dettagliata finché la specifica non è pronta.
Durante lo sprint – La persona che prende in carico il task scrive una specifica precisa e leggibile dalle macchine. La specifica elenca i formati di input, gli output attesi, la gestione degli errori e tutti i requisiti non funzionali. Poiché la specifica è sottoposta a controllo versione, i revisori possono commentare, suggerire modifiche e approvare i cambiamenti proprio come se fosse codice.
Definition of Done – Aggiungi "Specifica revisionata e approvata" al quality gate. Nessun codice è considerato completo finché la specifica non supera gli stessi standard di revisione dell'implementazione.
Adattamento Kanban – Inserisci due nuove colonne: “Spec Drafted” e “Spec Approved”. Le attività ora fluiscono da backlog → Sprint Goal → Spec Drafted → Spec Approved → In Progress → Done. Questo cambiamento visivo rende esplicito il passaggio di coordinamento precedentemente invisibile.
Strumenti che già impongono le specifiche
Piattaforme come GitHub Spec Kit e AWS Kiro hanno introdotto dei gate che richiedono un documento dei requisiti prima dell'inizio di qualsiasi generazione di codice tramite IA. Non sostituiscono il modello IA; allineano gli agenti letterali con l'intento umano. Rendendo la specifica un prerequisito, questi strumenti automatizzano la transizione senza interrompere le pipeline CI/CD esistenti.
Possibili resistenze
I critici sostengono che scrivere una specifica aggiunga attrito a una cadenza agile già molto veloce. La controargomentazione: il tempo impiegato per redigere una specifica è solitamente una frazione del tempo che verrà successivamente speso per il debugging di codice prodotto dall'IA a partire da un prompt ambiguo.
Un'altra preoccupazione è che le specifiche possano diventare obsolete man mano che i requisiti evolvono. L'integrazione con il controllo versione risolve il problema: ogni modifica alla specifica crea un nuovo commit, avvia una revisione e costringe il team a rivalutare il codice associato. In pratica, trattare le specifiche come codice mantiene la documentazione aggiornata.
Cosa osservare in futuro
L'adozione è ancora nelle fasi iniziali, ma il momentum è evidente. Man mano che i generatori di codice IA diventano più capaci, la necessità di un intento preciso e leggibile dalle macchine non farà che aumentare.
In sintesi: Trasformare prompt vaghi in specifiche concrete e revisionate può sembrare un passaggio extra, ma converte le congetture in decisioni responsabili.
