STRATEGIE

AI, un nuovo approccio per ottimizzare il ciclo di vita del software

Automatizzare i processi di sviluppo delle applicazioni non è sufficiente, occorre istituire controlli efficaci per garantire performance, sicurezza e compliance del codice generato. Parla Riccardo Sanna, Head of DevOps Cloud Solution Consulting Europe di OpenText

Pubblicato il 18 Dic 2023

Riccardo Sanna, Head of DevOps Cloud Solution Consulting Europe di OpenText

C’è una profonda differenza tra automatizzare i processi e tentare di ottimizzarli in chiave end-to-end. L’affermazione è tanto più vera nel momento in cui si parla di applicazione dell’intelligenza artificiale generativa al ciclo di vita di produzione del software, uno degli ambiti in cui algoritmi e large language model riescono già a sprigionare un enorme potenziale.

Il punto non è (solo) riuscire ad accelerare, rendendolo sempre più efficiente, il time to value: in un mondo in cui gli utenti di business sono sempre più coinvolti nella creazione degli strumenti che i team aziendali saranno chiamati a utilizzare, mettere l’AI al servizio della produzione e delle fasi di test delle applicazioni (DevOps) significa prima di ogni altra cosa identificare l’outcome desiderato e reperire all’interno del mercato le skill e le soluzioni necessarie a ottenerlo.

Le opportunità (e i rischi) dell’AI applicata allo sviluppo del software

“Siamo ben oltre il concetto di low code: l’introduzione dell’AI generativa nel ciclo di produzione del software è un passo da gigante, una vera rivoluzione. Non si tratta più di avere a che fare con piattaforme che scrivono programmi al posto dell’utente, ma di soluzioni in grado di produrre codice sulla base dei requisiti che l’utente chiede ai sistemi di generare”, spiega Riccardo Sanna, Head of DevOps Cloud Solution Consulting Europe di OpenText.

Ma se l’AI sta introducendo un approccio semplificato alla produzione di applicazioni, rendendo più rapidi i cicli di sviluppo le incomprensioni che possono verificarsi tra chi commissiona le funzionalità di un software e chi lo sviluppa rimangono sempre un fattore di rischio, allo stesso modo cresce l’esigenza di avere controlli di qualità sempre più efficaci e puntuali.

“Nel momento in cui aumentano i ritmi di produzione del software, con gli utenti di business che sempre più spesso si affiancano agli sviluppatori all’interno del processo, si fa ancora più urgente la necessità di verificare che l’output sia performante, sicuro e compliant con le normative. Ecco perché è fondamentale premunirsi di procedure di quality assurance estremamente robuste”, conferma Sanna. Ed è qui che entrano in gioco le soluzioni di testing basate sulle tecnologie di intelligenza artificiale generativa.

L’importanza di un approccio end-to-end al processo

Come detto, però, automatizzare solo una parte del processo non è sufficiente, e l’AI dovrebbe essere inserita all’interno della catena del valore con cognizione di causa, avendo cioè piena consapevolezza degli obiettivi che si vogliono raggiungere e delle risorse che si hanno realmente a disposizione per perseguirli. Invece, non sono pochi i cio e gli IT manager convinti che l’intelligenza artificiale possa rappresentare la panacea per tutti i mali.

“Ecco perché chiedo sempre ai miei interlocutori se sono consci delle loro reali esigenze: basta implementare controlli basati sull’AI per accelerare il processo di produzione del software o i colli di bottiglia permarrebbero, perché mancano altri tipi di risorse?”, spiega Sanna.

“Alcune organizzazioni conoscono la risposta, altre sono meno preparate. In ogni caso, a prescindere dal livello di maturità e consapevolezza, esistono temi di governance che vanno indirizzati, sia rispetto ai risultati che si vogliono generare, sia dal punto di vista dei limiti di un processo di sviluppo affidato all’AI pura, senza dimenticare il profilo della conformità legale: se si sottovaluta quest’ultimo aspetto potrebbero anche insorgere problematiche relative all’effettiva proprietà del codice sviluppato dal Large language model utilizzato nel processo”.

Chi e utilizzando quali dati ha addestrato i modelli su cui è costruito l’engine? Quando viene adoperato per dare vita a un software, il software prodotto è di proprietà dell’utente che ha interrogato il sistema? Come si può essere sicuri che il risultato ottenuto non sia condiviso con un competitor?

Sono queste le domande che secondo Sanna bisognerebbe porsi prima di scegliere e utilizzare una piattaforma di AI. “In genere do due consigli a chi sta intraprendendo questo percorso. Il primo è quello di definire esattamente l’outcome desiderato, guardando al processo con un approccio end-to-end, e non solo a singole aree e operazioni, pena il rischio di incorrere in una sub-ottimizzazione che non porterà mai ai benefici attesi. Il secondo consiglio è quello di appurare che non sussistano blocchi legali o caratteristiche anche solo puramente tecniche della soluzione che mettano a rischio la sicurezza della catena del valore”.

Il copilot che OpenText mette a disposizione dei quality engineer (ma non solo)

Per semplificare l’inserimento degli strumenti di AI nei processi controllo del software, OpenText ha sviluppato una piattaforma ad hoc, un portfolio integrato di funzionalità che consentono ai test e ai quality engineer di avere la stessa tipologia di strumenti di cui oggi dispongono i loro colleghi sviluppatori.

“Si tratta di un copilota che permette di svolgere più in fretta le attività di check funzionale e prestazionale delle applicazioni grazie a componenti di artificial intelligence specificamente dedicate a queste figure professionali”, spiega Sanna.

“Lo strumento, Aviator, è integrato nella piattaforma Value Edge che fornisce as-a-service tutte le funzioni necessarie allo sviluppo del software con un’ottica end-to-end, includendo quindi anche moduli che supportano gli utenti nel definire la strategia, e a incanalare i macroobiettivi di business in stream progettuali suddivisi per fasi”.

In pratica la soluzione non si limita a ridurre i colli di bottiglia a livello di processo, ma identifica anche i gap infrastrutturali e di competenze, dando indicazioni puntuali sui passaggi su cui conviene intervenire (pure per migliorare le performance, centrali per garantire una user experience fluida e appagante).

“Essendo modulare e scalabile, con un design studiato per soddisfare tutte le metodologie di sviluppo (dal waterfall all’agile), la piattaforma permette di adottare un approccio graduale”, chiosa il manager di OpenText.

“Non serve quindi aver già implementato strumenti di AI per beneficiare dei vantaggi offerti dalla soluzione, che è in grado di supportare le diverse velocità a cui si muovono le differenti unità dell’organizzazione, la quale potrà disporre di una piattaforma unica per ridurre la complessità architetturale, diminuire i costi di gestione e mantenere coerenti le integrazioni dei flussi, superando così i limiti della logica a silos”.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2