Dorra Bartaguiz parte dalla promessa dell'IA: oltre l'80% degli sviluppatori ritiene che abbia aumentato la propria produttività individuale, secondo i DORA report 2024 e 2025. Ma la velocità comporta rischi. Il tempo di sviluppo si è ridotto, e il collo di bottiglia resta la code review. Nota che la lettura supera di gran lunga la scrittura: un rapporto superiore a dieci a uno secondo Robert C. Martin, con circa il 70% del tempo dedicato a comprendere il codice contro il 5% a modificarlo, secondo uno studio del 2015. L'IA accelera la generazione sintattica e aumenta l'onere della revisione.
Per verificare se ci si può fidare dei test generati, prende un caso reale: il calcolo della data di invito per uno screening medico a partire dal tipo di screening, dalla data di nascita e dalla data corrente, con regole di riprogrammazione per date non valide, passate, festive o nel weekend. Generato da un singolo prompt, il codice viene dichiarato coperto al 100%. Lei misura una coverage complessiva del 33%, del 95% sul dominio, segnala una serie di difetti (configurazione hardcoded, metodi statici, violazione del principio di responsabilità unica, fallimenti silenziosi, valori magici, accoppiamento stretto), e ottiene un punteggio di mutation testing del 13,82%. Test generati senza rigore validano gli errori dell'IA.
Definisce poi l'harness come tutto ciò che viene aggiunto attorno al modello per migliorare la generazione; un agente è un modello più un harness. Per rendere l'agente più deterministico, propone pratiche di craft e lo shift-left. Lo stesso caso viene ripreso passo dopo passo: richiedendo definizioni di dominio, scomponendolo in regole, identificando esempi e casi limite, scrivendo scenari Given/When/Then, generando test di accettazione e unitari, poi richiedendo un refactoring verso il clean code, l'architettura esagonale e i pattern tattici DDD. Con l'IA, il TDD diventa una pratica per controllare un agente imprevedibile; cita Kent Beck, secondo il quale i team che sanno testare si adattano meglio.
I baby steps non bastano: occorre lavorare sull'harness, in particolare attraverso le skill. I framework popolari, da Superpowers a Skraft in AXA, si basano su queste pratiche. Infine, la vita di un prodotto non si ferma al ciclo di sviluppo: strumentare solo il team di sviluppo crea un nuovo collo di bottiglia. Propone di strumentare l'intero ciclo del prodotto con agenti specializzati e guardrail contro i loop infiniti, e riassume le software factory come la combinazione di loop engineering, harness engineering e supervisione umana.