Ricerca nel sito web

L’automazione meccanica è così lo scorso anno: l’intelligenza artificiale spinge più intelligenza nello sviluppo del software


È stata prestata molta attenzione all'utilizzo dell'intelligenza artificiale generativa per creare o modificare il codice software. Ora è il momento di esaminare in che modo l'intelligenza artificiale può assistere i professionisti e i manager IT in altri modi.

L’intelligenza artificiale (AI) aiuterà a trasformare gli sforzi DevOps da fragili ad agili? Nel settore si ipotizza che l'intelligenza artificiale possa accelerare notevolmente non solo la generazione di codice per il software, ma tutti i dettagli che seguono, comprese specifiche, documentazione, test, implementazione e altro ancora.

L’intelligenza artificiale viene utilizzata da diversi anni nella sua forma operativa e predittiva, lavorando dietro le quinte per automatizzare i flussi di lavoro e la pianificazione. Ora, i manager e i professionisti IT stanno abbracciando il potenziale dell’intelligenza artificiale generativa.

Entro i prossimi tre anni, secondo un'analisi pubblicata da un team di analisti Gartner guidati da Manjunath Bhat, entro i prossimi tre anni il numero di team di ingegneria delle piattaforme che utilizzano l'intelligenza artificiale per aumentare il ciclo di vita dello sviluppo software aumenterà probabilmente dal 5% al 40%.

In tutto il settore IT c’è un notevole ottimismo riguardo al potenziale impulso che l’intelligenza artificiale fornisce a DevOps e alle pratiche Agile associate. "La combinazione dei domini DevOps e AI può essere complementare migliorando tutte le fasi del ciclo di vita dello sviluppo del software e consentendo al software di essere immesso sul mercato in modo più rapido, affidabile ed efficiente", ha dichiarato a ZDNET Billy Dickerson, principale ingegnere software di SAS.

Molte attività si stanno svolgendo attorno all’intelligenza artificiale generativa e al processo DevOps. Quasi tutti (97%) dei 408 manager tecnologici in un sondaggio pubblicato dallo specialista di automazione Stonebranch hanno indicato di essere “interessati a incorporare l’intelligenza artificiale generativa nei loro programmi di automazione”. Questi professionisti "vedono la genAI come uno strumento fondamentale per connettere un insieme più diversificato di strumenti e potenziare una gamma più ampia di utenti", sottolineano gli autori del sondaggio.

L’intelligenza artificiale potenzia DevOps, ma DevOps stimola anche lo sviluppo di applicazioni AI, come mostra il sondaggio di Stonebranch. Almeno il 72% degli intervistati ha adottato pipeline di machine learning per potenziare le proprie iniziative di intelligenza artificiale generativa.

Sebbene sia stata prestata molta attenzione all’utilizzo dell’intelligenza artificiale generativa per creare o modificare il codice software, questa è solo una frazione del processo di sviluppo. È tempo di esaminare in che modo l'intelligenza artificiale può assistere i professionisti e i manager IT in altri modi.

"Gli sviluppatori in media trascorrono tra il 10% e il 25% del loro tempo scrivendo codice", hanno scritto Bhat di Gartner e i suoi coautori. "Il resto del tempo è dedicato alla lettura delle specifiche, alla scrittura della documentazione, alla revisione del codice, alla partecipazione alle riunioni, all'aiuto dei colleghi, al debug del codice preesistente, alla collaborazione con altri team, al provisioning degli ambienti, alla risoluzione dei problemi di produzione e all'apprendimento di concetti tecnici e aziendali -- per citarne solo alcuni."

L'integrazione dell'intelligenza artificiale con "tutte le fasi del ciclo di feedback DevOps - pianificazione, revisione e sviluppo del codice, creazione, test, distribuzione, monitoraggio, misurazione - aumenta la collaborazione nei team e migliora positivamente i risultati", ha sottolineato Dickerson di SAS. Con la pianificazione, "l'intelligenza artificiale può rendere il processo di gestione del progetto più efficiente generando automaticamente i requisiti dalle richieste degli utenti, rilevando scadenze non allineate e persino identificando requisiti incompleti".

Dickerson ha affermato che l'intelligenza artificiale può anche gestire i processi più pesanti nella revisione e nello sviluppo del codice: "Non solo l'intelligenza artificiale può offrire agli sviluppatori suggerimenti per la generazione automatica del codice boilerplate, ma può anche contribuire al processo di revisione del codice. Questo approccio amplifica la collaborazione tra i team e può portare a maggiore innovazione, time-to-market più rapido e migliore allineamento con gli obiettivi aziendali."

Tuttavia, i manager e i professionisti della tecnologia devono prestare attenzione a non spingersi troppo oltre con DevOps alimentati dall’intelligenza artificiale e altre pratiche Agile. "L'eccessivo affidamento comporta dei rischi", ha detto a ZDNET Ian Ferguson, direttore senior di SiFive ed ex vicepresidente del marketing presso Lynx Software Technologies.

"Senza una comprensione di come una piattaforma di intelligenza artificiale autonoma sia arrivata a una decisione, perdiamo la responsabilità", ha affermato Ferguson. "Senza trasparenza nel ragionamento di un'intelligenza artificiale, rischiamo di accettare ciecamente i risultati senza la capacità di metterli in discussione o convalidarli. Ci troviamo di fronte a un futuro in cui un insieme molto limitato di aziende può creare sistemi complicati, oppure assistiamo a una riduzione della qualità dei sistemi. "

Ferguson ha esortato a promuovere "una dinamica collaborativa tra gli esseri umani e l'intelligenza artificiale in DevOps. L'intelligenza artificiale può gestire la codifica meccanica mentre gli esseri umani devono possedere la definizione di una serie completa di requisiti e comportamenti di sistema", ha spiegato.

Dickerson ha inoltre consigliato cautela quando si procede con DevOps basato sull'intelligenza artificiale: "Poiché l'intelligenza artificiale può automatizzare molte attività nel ciclo di feedback DevOps, l'ideale sarebbe avere una supervisione umana per garantire che l'intelligenza artificiale prenda le corrette decisioni automatizzate. La migliore pratica è garantire che l'intelligenza artificiale l'approvazione di ogni importante decisione aziendale."

Nel loro rapporto per Gartner, Bhat e i suoi coautori hanno affermato che l'applicazione dell'intelligenza artificiale a una parte del ciclo di vita dello sviluppo del software "può comportare cambiamentipiuttosto che risparmiare sforzi, creando un falso senso di risparmio di tempo. Ad esempio, il tempo risparmiato durante la codifica può essere compensato da un aumento del tempo dedicato alle revisioni del codice e al debug."

Ci sono, tuttavia, motivi per essere entusiasti dell’impatto dell’intelligenza artificiale su DevOps. Le prove suggeriscono che l’intelligenza artificiale può essere applicata per assistere o accelerare le fasi successive del processo DevOps. Quando si tratta della fase di creazione e test del software, ad esempio, "l'intelligenza artificiale può valutare gli input e gli output del processo di creazione e cercare modelli di errore per aiutare a ottimizzare nel frattempo il ripristino", ha affermato Dickerson.

Inoltre, "con la sua capacità di analizzare grandi quantità di dati e fare previsioni, l'intelligenza artificiale può anche aiutare ad analizzare i risultati dei test. Ciò può aiutare a identificare i modelli dei test più impattanti e inaffidabili per aiutare a ottimizzare il processo di test".

Nella fase di implementazione, "l'intelligenza artificiale può automatizzare il provisioning, la configurazione e la gestione delle risorse infrastrutturali comuni. A sua volta, ciò può innescare implementazioni che utilizzano questi artefatti generati automaticamente, che possono quindi consentire agli ingegneri di dedicare più tempo a implementazioni complesse", ha affermato Dickerson. .

Per il monitoraggio e la misurazione, "poiché le implementazioni aziendali possono produrre una grande quantità di dati, i team DevOps possono avere difficoltà a digerire le informazioni necessarie per risolvere i problemi che si presentano", ha affermato Dickerson. "Per assistere in questo sforzo, l'intelligenza artificiale può analizzare parametri e registri in tempo reale per rilevare i problemi molto prima e consentire una risoluzione più rapida. Analizzando dati e modelli continui, l'intelligenza artificiale può prevedere potenziali colli di bottiglia, identificare aree di miglioramento e assistere nell'ottimizzazione tutte le fasi del ciclo di vita DevOps."

Ferguson ha affermato che con la supervisione umana “l’intelligenza artificiale può rafforzare approcci come DevOps e Agile”. Ha affermato che la combinazione efficace di intelligenza artificiale e esseri umani attraverso il ciclo di vita del software può aumentare la produttività e l’innovazione: “Dobbiamo però modellare in modo proattivo questo futuro, attraverso la trasparenza, la creazione di fiducia, la riprogettazione del flusso di lavoro e la formazione delle competenze”.

Articoli correlati