Connect with us

Assistenza di codice AI vs. Architettura umana: Perché la supervisione vince ancora

Leader di pensiero

Assistenza di codice AI vs. Architettura umana: Perché la supervisione vince ancora

mm
A photorealistic split-view image showing a young developer typing on a glass keyboard with glowing code interfaces on the left, and a senior female architect reviewing a structural system diagram on a white wall to the right. Both are in a modern, high-rise office overlooking a city at dusk.

L’AI sta accelerando notevolmente i processi in numerose aree. Una di queste è lo sviluppo software. E non si tratta solo di una dichiarazione di vanità: un esperimento di ricerca ha scoperto che gli sviluppatori hanno completato i compiti circa il 55,8% più velocemente utilizzando assistenti di codice AI. Le analisi del settore dimostrano inoltre che l’AI generativa può migliorare notevolmente la produttività nell’ingegneria del software e oltre.

Questi esempi segnalano un cambiamento emergente nel modo in cui vengono costruiti i prodotti digitali, poiché l’AI può essere un fattore chiave di opportunità per ridurre il tempo di sviluppo. Tuttavia, il tempo risparmiato non si traduce sempre direttamente in qualità. Lo sviluppo accelerato con l’AI evidenzia una preoccupazione crescente: man mano che i team costruiscono architetture più veloci, aumenta la probabilità di prendere decisioni scadenti.

I team devono assicurarsi che ciò che viene costruito sia coerente, sicuro e allineato con gli obiettivi a lungo termine. Ciò sottolinea la necessità di una supervisione durante lo sviluppo del codice, rendendolo una pratica indispensabile.

Cosa ottimizzano effettivamente gli assistenti di codice AI

Gli assistenti di codice AI come ChatGPT e Claude sono molto efficaci nel migliorare la velocità di esecuzione. Le loro forze risiedono in:

  • Generazione di codice boilerplate
  • Suggerimento di funzioni e implementazioni
  • Assistenza alla creazione di test
  • Accelerazione dei cicli di prototipazione
  • Supporto per linguaggi o framework poco familiari

Gli sviluppatori possono spendere meno tempo sul lavoro ripetitivo e più tempo avanzando le funzionalità.

Tuttavia, questa efficienza può stagnare. Gli strumenti AI ottimizzano per output immediati; non valutano necessariamente come quegli output interagiscano attraverso i sistemi o come le decisioni possano accumularsi nel tempo. Quando lo sviluppo del software si affida troppo all’automazione, iniziano ad accumularsi rischi.

Il rischio nascosto: output più veloce, architettura più debole

Il principale problema di affidarsi ciecamente all’AI è che gli sviluppatori ripongono troppa fiducia nel codice che può influenzare le organizzazioni a livello di scala.

La ricerca sugli assistenti di codice AI mostra che mentre questi strumenti possono migliorare la produttività degli sviluppatori, possono anche introdurre rischi inaspettati. Gli sviluppatori che utilizzano l’AI per ottenere un maggiore controllo sulla stesura del codice erano più propensi a produrre codice insicuro e a credere che le loro soluzioni fossero sicure.

Lo studio trova che gli sviluppatori meno esperti tendono a fidarsi più facilmente dei risultati generati dall’AI. Nel frattempo, coloro che hanno interagito in modo più critico, raffinando i prompt e regolando i parametri, erano più propensi a produrre risultati sicuri.

Lo studio ha anche portato alla luce modelli di fallimento più sottili. In diversi casi, il codice generato dall’AI sembrava corretto a prima vista, ma non riusciva a gestire importanti casi limite. Ad esempio, quando si lavorava con percorsi di file, gli output dell’AI spesso controllavano se un percorso iniziava con una directory sicura (ad es. “/safedir”), ma non canonicalizzavano correttamente il percorso, lasciandolo aperto a potenziali sfruttamenti.

Gli sviluppatori che hanno prodotto soluzioni sicure erano più propensi a riconoscere questa lacuna, sia attraverso la conoscenza precedente che consultando risorse esterne, mentre i partecipanti con l’assistenza dell’AI erano meno propensi a farlo.

Senza supervisione, questi modelli possono essere riprodotti a livello di scala, portando a una graduale erosione architettonica, sistemi frammentati, modelli incoerenti e debito tecnico. Spesso, questi problemi si manifestano solo in un secondo momento attraverso problemi di prestazioni o costosi refactoring.

La revisione e la supervisione umana stanno diventando sempre più cruciali per salvaguardare le architetture che bilanciano la velocità con la struttura.

Perché l’architettura è una funzione di governance

L’architettura è spesso inquadrata come una disciplina tecnica. In realtà, funziona come un sistema di governance. Regola:

  • Vincoli
  • Interfacce
  • Diritti decisionali

Mentre l’automazione riduce i costi di esecuzione, il costo delle cattive decisioni potrebbe aumentare.

La ricerca sull’efficienza dell’architettura del software mostra che i sistemi ben progettati possono ridurre notevolmente:

  • I costi a lungo termine
  • Migliorare la manutenibilità
  • Aumentare la stabilità operativa

Tuttavia, quando l’architettura è implementata male o evolve senza supervisione, può introdurre inefficienze che possono aumentare i costi a lungo termine.

Questi rischi sono amplificati in ambienti veloci e supportati dall’AI. Le organizzazioni stanno iniziando a formalizzare il loro approccio alla gestione dei rischi legati all’AI. Framework come il NIST AI Risk Management Framework sottolineano l’importanza di incorporare fiducia, valutazione e governance nella progettazione e nella distribuzione dei sistemi AI.

Mentre lo sviluppo si accelera e l’AI introduce nuovi rischi, la governance deve essere applicata in modo continuo.

Il punto cieco commerciale: quando la velocità rompe il modello di tempo e materiale

Per anni, il modello di tempo e materiale (T&M) è stato il modello predefinito nello sviluppo del software. Questo è l’assunto che lo sforzo e il valore sono correlati. Tuttavia, l’AI disturba questo assunto.

Mentre lo sviluppo diventa più veloce e più automatizzato, la relazione tra sforzo e output diventa sempre più non lineare. I team possono consegnare di più in meno tempo, ma i modelli di fatturazione tradizionali spesso non possono tenere conto di questo cambiamento.

Ciò crea una tensione strutturale nei modelli T&M. I tempi di consegna più lunghi portano spesso a ricavi più alti, mentre una maggiore efficienza riduce le ore fatturabili. Anche quando i team di consegna operano in buona fede, il modello stesso non ricompenserà sempre l’ottimizzazione.

L’AI introduce anche nuove richieste:

  • Maggiori controlli
  • Maggiori convalide
  • Governance architettonica più solida

Il risultato è una crescente disallineazione tra come viene eseguito il lavoro e come viene misurato il valore, il che può essere critico per le strutture di fatturazione basate sul tempo. Quando lo sviluppo diventa automatizzato, il valore non può essere misurato solo in ore. Deve essere governato attraverso i risultati.

Le verifiche come livello mancante nello sviluppo supportato dall’AI

Mentre l’AI aumenta sia la velocità che il volume dell’output del software, le verifiche diventano significativamente più importanti.

Le verifiche forniscono una valutazione strutturata e indipendente dei sistemi, concentrandosi su aree spesso trascurate in ambienti veloci:

  • Coerenza dell’architettura
  • Qualità e manutenibilità del codice
  • Vulnerabilità di sicurezza
  • Rischi di prestazioni e scalabilità
  • Allineamento con i requisiti aziendali

Un processo di verifica completo inizia generalmente con un’analisi dello stato attuale dell’architettura, del codice, dei test e dei flussi di lavoro. Ciò è seguito da un rapporto dettagliato che elenca i rischi e fornisce raccomandazioni operative, insieme a una roadmap per correzioni immediate e miglioramenti a lungo termine.

Le verifiche fanno più che semplicemente spuntare le caselle che gli sviluppatori hanno revisionato tutto; supportano anche una migliore presa di decisioni. Aiutano le organizzazioni a capire dove si trovano, quali rischi affrontano e come priorizzare i miglioramenti all’interno dei vincoli definiti.

In ambienti supportati dall’AI, dove l’output cresce, ma l’attenzione può diventare sottile, questo livello di valutazione strutturata diventa essenziale.

Caso di studio: quando la velocità dell’AI richiede controllo

Uno studio di caso accademico ha esplorato come i sistemi supportati dall’AI possano essere sviluppati in modo efficace mantenendo il controllo sulla qualità e sui risultati.

Il problema: i sistemi AI stanno diventando sempre più in grado di gestire più compiti. Tuttavia, ciò rende difficile assicurarsi che i loro output siano affidabili e non allucinazioni, in particolare in applicazioni complesse e reali.

Il metodo: lo studio ha esaminato l’impatto degli strumenti AI sullo sviluppo del software conducendo sondaggi tra lavoratori di R&D, principalmente sviluppatori, analisti di test e proprietari di prodotti. I sondaggi includevano domande su:

  • Quanto frequentemente utilizzavano gli strumenti AI
  • Quali strumenti stavano utilizzando
  • Quali vantaggi percepivano (aumento della produttività, qualità del codice più alta)
  • L’impatto complessivo sul loro lavoro
  • Sfide che affrontavano e svantaggi dell’uso degli strumenti AI

Il risultato: lo studio ha dimostrato che combinare l’accelerazione dell’AI con una forte supervisione architettonica ha abilitato:

  • Aumento della produttività del 75%
  • Riduzione del 63% del tempo speso in compiti ripetitivi, mostrando come l’AI possa accelerare i processi di codifica
  • L’86% ha riferito di aver guadagnato esperienza nello sviluppo delle proprie competenze professionali, poiché la semplificazione del processo ha loro permesso di praticare nuove pratiche di codifica

Tuttavia, il principale takeaway è stato le sfide e i limiti dell’AI, tra cui:

  • La necessità di una revisione costante per assicurarsi che il codice generato non includesse allucinazioni
  • Una mancanza di comprensione del contesto del progetto, che ha portato a suggerimenti che non sempre si allineavano con gli obiettivi interni
  • La dipendenza eccessiva dall’AI ha portato i professionisti a fidarsi del codice di prompt, quindi a correggerlo, sollevando preoccupazioni sulla mancanza di capacità di risoluzione dei problemi e di pensiero critico in un ambiente professionale.

Lo studio sottolinea come l’AI funzioni meglio quando guidata da strutture ben definite e utilizzata come strumento per ulteriormente sviluppare le competenze professionali.

Verso modelli di consegna orientati ai risultati

Mentre sia la tecnologia che i flussi di lavoro evolvono, i modelli di consegna stanno cambiando anche loro. Gli approcci stanno diventando più allineati con gli incentivi e i risultati.

Un modello combina confini finanziari fissi con un ambito flessibile, consentendo ai team di adattare le priorità mantenendo la prevedibilità dei costi.

Nello sviluppo supportato dall’AI, questa struttura offre diversi vantaggi:

  • Incentiva la priorizzazione disciplinata
  • Allinea gli incentivi tra le parti interessate
  • Converte i guadagni di efficienza in valore di prodotto aumentato
  • Supporta l’iterazione continua senza espandere i budget

Piuttosto che premiare il tempo trascorso, questi modelli premiano la presa di decisioni efficace e il progresso misurabile.

Ciò pone un’enfasi maggiore sulla governance, assicurando che l’ambito rimanga flessibile piuttosto che fisso per il successo operativo.

Il futuro è l’AI con responsabilità

Il vincolo nello sviluppo del software moderno sta passando dalla produzione di codice all’assicurazione che ciò che viene prodotto sia coerente, sicuro e allineato con gli obiettivi a lungo termine.

I team che avranno successo non saranno quelli che adottano l’AI più velocemente, ma quelli che l’integreranno nel modo più efficace. Ciò comporta la combinazione dell’automazione con la governance, della velocità con la struttura e dell’output con la responsabilità. Nell’era del codice generato dall’AI, la supervisione non è più una salvaguardia; è il nuovo sistema.

Sylwia è il Chief Strategy Officer di Polcode, dove guida le iniziative di crescita a livello aziendale e la pianificazione strategica a lungo termine. Con più di 15 anni di esperienza nei servizi IT e nel settore bancario, ha ricoperto ruoli senior in Netguru, 10Clouds e BNP Paribas, gestendo team globali e guidando la strategia commerciale in mercati negli Stati Uniti, in Europa e in Medio Oriente. La sua esperienza spazia dalla strategia di lancio sul mercato alla crescita dei ricavi e alla trasformazione organizzativa, supportata da una comprovata capacità di costruire team ad alte prestazioni e di scalare le operazioni attraverso decisioni basate sui dati.