Rote-automatisering var det i fjor: AI presser mer intelligens inn i programvareutvikling

0
15
sankai/Getty Images

Vil kunstig intelligens (AI) bidra til å flytte DevOps-innsatsen fra skjør til smidig? Det er spekulasjoner på tvers av industrien om at AI kan akselerere ikke bare kodegenerering for programvare, men alle detaljene som følger – inkludert spesifikasjoner, dokumentasjon, testing, distribusjon og mer. 

AI har blitt brukt i flere år i sin operasjonelle og prediktive form, og jobber bak kulissene for å automatisere arbeidsflyter og planlegging. Nå omfavner IT-ledere og fagfolk potensialet til generativ AI. 

Også: Smidig utvikling kan låse opp kraften til generativ AI – her er hvordan

I løpet av de neste tre årene vil antallet plattformingeniørteam som bruker kunstig intelligens for å øke livssyklusen for programvareutvikling sannsynligvis øke fra 5 % til 40 %, ifølge en analyse publisert av et team av Gartner-analytikere ledet av Manjunath Bhat. 

På tvers av IT-bransjen er det bemerkelsesverdig optimisme om den potensielle økningen AI gir til DevOps og tilhørende smidige praksiser. “Kombinering av DevOps- og AI-domenene kan være komplementært ved å forbedre alle faser av programvareutviklingens livssyklus og gjøre det mulig for programvare å sendes til markedet raskere, pålitelig og mer effektivt,”" Billy Dickerson, hovedprogramvareingeniør i SAS, fortalte ZDNet.  

Også: 3 måter å akselerere generativ AI-implementering og -optimalisering

Det foregår mye aktivitet rundt generativ AI og DevOps-prosessen. Omtrent alle (97 %) av de 408 teknologisjefene i en undersøkelse utgitt av automasjonsspesialisten Stonebranch indikerte at de er “interessert i å inkorporere generativ AI i automatiseringsprogrammene sine.” Disse fagfolkene “ser på genAI som et sentralt verktøy for å koble sammen et mer mangfoldig sett med verktøy og styrke et bredere spekter av brukere”," undersøkelsens forfattere påpeker. 

AI øker DevOps, men DevOps øker også AI-applikasjonsutviklingen, viser Stonebranch-undersøkelsen. Minst 72 % av respondentene har omfavnet maskinlæringspipelines for å drive sine generative AI-initiativer.

Selv om det har vært mye oppmerksomhet rundt bruk av generativ AI for å lage eller endre programvarekode, er dette bare en brøkdel av utviklingsprosessen. Det er på tide å se på hvordan AI kan hjelpe IT-fagfolk og ledere på andre måter. 

"Utviklere bruker i gjennomsnitt hvor som helst mellom 10 % og 25 % av tiden sin på å skrive kode," Gartners Bhat og hans medforfattere skrev. "Resten av tiden går med til å lese spesifikasjoner, skrive dokumentasjon, gjøre kodegjennomganger, delta på møter, hjelpe medarbeidere, feilsøke eksisterende kode, samarbeide med andre team, klargjøre miljøer, feilsøke produksjonshendelser og lære tekniske og forretningskonsepter – – for bare å nevne noen."

Integrering av AI med “alle faser av DevOps-tilbakemeldingssløyfen — planlegging, kodegjennomgang og utvikling, bygg, test, distribuer overvåk, mål — øker samarbeidet i team og forbedrer resultatene positivt”," SAS' Dickerson påpekte. Med planlegging kan "AI gjøre prosjektledelsesprosessen mer effektiv ved å autogenerere krav fra brukerforespørsler, oppdage ikke-justerte tidslinjer og til og med identifisere ufullstendige krav."

Dickerson sa at AI også kan håndtere de tunge løfteprosessene i kodegjennomgang og utvikling: “AI kan ikke bare tilby utviklere forslag til autogenerering av kjelekode, den kan også bidra til kodegjennomgangsprosessen. Denne tilnærmingen forsterker samarbeidet mellom teamene og kan føre til mer innovasjon, raskere time-to-market og bedre samsvar med forretningsmålene."

Likevel må teknologiledere og fagfolk utvise forsiktighet når det gjelder å gå for langt med AI-drevne DevOps og annen smidig praksis. "Overtillit utgjør risiko," Ian Ferguson, seniordirektør i SiFive, og tidligere visepresident for markedsføring i Lynx Software Technologies, fortalte ZDNet. 

Også: Generativ AI er teknologien IT føler mest press for å utnytte

“Uten en forståelse av hvordan en autonom AI-plattform kom til en beslutning, mister vi ansvarlighet. Uten åpenhet i en AIs resonnement, risikerer vi blindt å akseptere resultater uten muligheten til å stille spørsmål ved eller validere dem. Vi står overfor en fremtid der et svært begrenset sett med selskaper kan lage kompliserte systemer eller vi ser en reduksjon i kvaliteten på systemene."

Ferguson oppfordret til å fremme “en samarbeidsdynamikk mellom mennesker og AI i DevOps” . AI kan håndtere utenadgående koding mens mennesker må eie definisjonen av et grundig sett med systemkrav og atferd," forklarte han. 

Dickerson anbefalte også å være forsiktig når du fortsetter med AI-drevne DevOps: “Siden AI kan automatisere mange oppgaver i DevOps-tilbakemeldingssløyfen, ville det være ideelt å ha menneskelig tilsyn for å sikre at AI tar de riktige automatiserte beslutningene. Den beste praksisen er å sikre menneskelig godkjenning av alle viktige forretningsbeslutninger."  

I sin rapport for Gartner sa Bhat og hans medforfattere at bruk av AI på én del av programvareutviklingslivssyklusen “kan føre til en endring” i stedet for  xA0;sparende innsats, skaper en falsk følelse av tidsbesparelse. Tid som spares under koding kan for eksempel kompenseres av økt tid for kodegjennomgang og feilsøking."

Også: AI-virksomheten blomstrer: ChatGPT Enterprise har nå 600 000+ brukere

Det er imidlertid grunn til å være begeistret for virkningen av AI på DevOps. Bevis tyder på at AI kan brukes for å hjelpe eller akselerere senere stadier av DevOps-prosessen. Når det gjelder programvarebygging og teststadiet, for eksempel, kan “AI evaluere inngangene og utgangene til byggeprosessen og se etter feilmønstre for å hjelpe til med å optimalisere mellomtiden til gjenoppretting”," Dickerson sa. 

I tillegg, “med sin evne til å analysere enorme mengder data og lage spådommer, kan AI også hjelpe til med å analysere testresultater. Dette kan bidra til å identifisere mønstre for de mest virkningsfulle og upålitelige testene for å hjelpe til med å optimalisere testprosessen."

På distribusjonsstadiet kan “AI automatisere klargjøring, konfigurasjon og administrasjon av vanlige infrastrukturressurser. I sin tur kan dette utløse distribusjoner som bruker disse autogenererte artefaktene, som deretter kan tillate ingeniører å bruke mer tid på komplekse distribusjoner," sa Dickerson.

For overvåking og måling, "fordi bedriftsimplementeringer kan produsere en stor mengde data, kan DevOps-team slite med å fordøye den nødvendige informasjonen for å løse problemer som oppstår," sa Dickerson. "For å hjelpe til med denne innsatsen kan AI analysere beregninger og logger i sanntid for å oppdage problemer mye tidligere og gi raskere løsning. Ved å analysere kontinuerlige data og mønstre kan AI forutsi potensielle flaskehalser, identifisere forbedringsområder og bistå med å optimalisere alle faser av DevOps-livssyklusen."  

SiFive's Ferguson sa at med menneskelig tilsyn kan “AI styrke tilnærminger som DevOps og Agile.” Han sa at den effektive kombinasjonen av AI og mennesker på tvers av programvarens livssyklus kan øke produktiviteten og innovasjonen: “Vi må imidlertid proaktivt forme denne fremtiden gjennom åpenhet, tillitsbygging, omstrukturering av arbeidsflyt og ferdighetstrening.” p>