Tekoälytyökalut ovat useimmissa yrityksissä jo ohjelmistokehittäjien arkipäivää ja käytössä koodaamisen tukena, mutta siirtymä kohti aidosti agenttivetoista kehitystä ottaa markkinalla ensimmäisiä askeleitaan.
Agenttivetoisella ohjelmistokehityksellä tarkoitamme tässä tilanteessa toimintamallia, jossa agenteille annetaan vapautta ja vastuuta suorittaa työnkulkuja ja tehtäviä entistä autonomisemmin, ja agentit tuottavat suurimman osan koodista itse.
Fraktion tammikuun webinaarissa vieraanamme oli Dealfrontin CTO Herkko Kiljunen, joka kertoi, kuinka Dealfrontilla on onnistuttu agenttiavusteisessa kehityksessä, millaisia tuloksia he ovat saaneet ja mitä oppeja on kertynyt matkan varrella.
Poimimme tärkeimmät oivallukset kehitysmatkasta ja mitä yrityksen kannattaa ottaa huomioon, kun toiveena ja tavoitteena on oikeasti agenttivetoisen kehityksen hyödyntäminen.
AI-avusteinen kehitys on nopeaa, mutta todellinen hyöty on laajempi
Tekoälyn käytössä nostetaan useimmiten esiin tehokkuus ja ajansäästö. Myös koodaamisen kohdalla tämä on usein yleinen argumentti. Dealfrontilla kehittäjät säästävät keskimäärin 6 tuntia viikossa, jotkut jopa 8 tuntia, sen jälkeen kun AI-agenttien rooli on kasvanut osana kehitystiimiä. Ajansäästö ei tarkoita pelkästään nopeampaa koodaamista, vaan sitä, että kehittäjillä on aikaa keskittyä olennaiseen, kuten abstraktimpaan ylätason suunnitteluun.
Dealfrontilla agenttivetoinen kehitys on parantanut myös koodin laatua. Bugien määrä oli vähentynyt ja kehittäjille jää enemmän aikaa koodikatselmointiin ja laadunvarmistukseen. Tekoälyn tuottamassa koodissa hyvänä puolena saattaa olla myös se, että sitä on helpompi tarkastella kriittisesti ja objektiivisemmin. Omalle koodille sokeutuu nopeasti ja kynnys kommentoida kaverin tuotosta voi olla korkeampi.
Vaikka agenttien nopeudesta puhutaan paljon, kehitysprojektien todellinen pullonkaula harvemmin kuitenkaan on koodin tuottamisen nopeus, vaan kaikki sen ympärillä. Siksi agenttista kehittämistä kannattaa hyödyntää läpi ohjelmistokehityksen elinkaaren aina määrittelystä suunnitteluun ja tuotannosta ylläpitoon.
Legacy-koodi tai vanhentunut teknologia eivät ole enää esteinä
Vain puoli vuotta sitten oli alalla yhteinen näkemys, että monimutkainen legacy-koodi oli liian hankala tekoälylle. Kehitys on ollut kuitenkin niin nopeaa, että jo nyt, kuten Dealfrontin Herkko totesi, tämä ei enää pidä paikkaansa.
Kun koodipohjaan lisätään laadukasta dokumentaatiota ja ohjeistusta, voi tekoäly toimia yhteen myös vanhemman koodin kanssa. Tämä avaa paljon uusia mahdollisuuksia palvelujen modernisointiin ja refaktorointiin, kun kynnys legacy-koodin muutoksiin madaltuu.
Agenteilla ei myöskään ole ennakkoluuloja, vaan ne kohtelevat koodia sellaisena kuin se on. Agentti lukee koodin objektiivisesti ja työskentelee sen kanssa ilman turhautumista, kun taas ihmiselle vanha teknologia voi tuntua ärsyttävältä tai tunteiden pohjalta voidaan refaktoroida koodia enemmän kuin olisi tarpeen.
Legacy-koodin lisäksi vanhentuneet teknologiat, joille ei löydy enää osaajia, voivat hyötyä isosti agenttisesta kehittämisestä. Esimerkiksi pankki- ja vakuutuusmaailmassa käytetyn COBOLin osaajat ovat eläköitymässä, eikä uusia kouluttaudu. Agenttien avulla voidaan ymmärtää vanhaa koodia ja muuttaa se uudempaan teknologiaan. Vielä tosin ei olla tasolla, jossa kriittiset järjestelmät voivat tehdä modernisoinnin pelkästään agenttien avulla, mutta kehityssuunta on selvä.
Kehittäjästä agenttien orkestroijaksi
Suurimman muutoksen agenttivetoisessa ohjelmistokehityksessä kokee kehittäjien rooli. Perinteinen koodin kirjoittaminen rivi riviltä vähenee ja tilalle tulee agenttien ohjaaminen.
Kehittäjät toimivat orkestroijina, jotka jakavat ohjeita ja voivat hallinnoida useampiakin agentteja rinnakkain. Kehittäjän vastuulla on varmistaa, että lopputulos on tavoitteiden mukainen ottaen huomioon mm. laatu- ja arkkitehtuurivaatimukset, asiakkaan tarpeet sekä tietosuoja- ja turvakriteerit.
Koodaamisen osaamisesta ei kuitenkaan voida luopua. Jokaisen kehittäjän pitää ymmärtää, millaista koodia agentit ovat tuottaneet, millaisia ratkaisuja tehneet ja onko ne parhaiden käytäntöjen mukaisia.
Kaikille kehittäjille muutos ei ole mieluinen. Osa ihmisistä voi olla innoissaan, toiset voivat kokea muutoksen hankalana tai harmillisena, jos koodin kirjoittaminen on ollut mieluinen osa työtä. Monelle kehittäjälle kontrollin menetys koodin tyylistä voi tuntua erityisen kurjalta. Työntekijöiden asenteet ja valmius muutokselle ovat yritykselle tärkeitä näkökulmia huomioida. Kyse on kuitenkin lopulta aina ihmisistä, miten muutos onnistuu.
Miten onnistua AI-vetoisessa kehityksessä?
Työkalujen valinta on vain pieni osa muutosta. Suurin työ tehdään yrityksen sisällä: millainen strategia valitaan, kuinka uusia toimintamalleja mahdollistetaan ihmisille, kuinka heitä kuunnellaan ja miten käyttöönotossa sekä osaamisen kehittämisessä tuetaan. Tässä muutamia parhaita käytäntöjä.
Valitse työkalut yhdessä työntekijöiden kanssa
Yrityksen kannattaa valita muutama työkalu, joita se pääsääntöisesti käyttää, jolloin lisenssiviidakkoa ja käytön tukemista on helpompi hallinnoida. Valinta kannattaa kuitenkin tehdä työntekijöitä kuunnellen, jolloin vältetään toivottavasti suurin varjokäyttö. (eli se, kun kehittäjät käyttävät omia työkalujen virallisten ohjeiden ohitse, joka on usein riski vastuu- ja tietosuojakysymyksissä.)
Tunnista siis, mitkä työkalut ovat työntekijöiden suosiossa ja miksi. Jos jokin työkalu saa sisäisesti paljon kannatusta, sen käyttöönotto on paljon helpompaa. Muutama hyvin tuettu työkalu on parempi kuin kymmenen puoliksi käytössä olevaa.
Rakenna ohjeistukset, koodikäytännöt ja dokumentaatio
Tekoäly toimii sitä paremmin, mitä paremmat ohjeet sillä on. Asiallinen dokumentaatio auttaa sekä konetta että ihmistä ymmärtämään projektia. Kattavan dokumentoinnin luominen muodostaa aina ylläpidettävyyden taakan, eli materiaalin ylläpitämiseen täytyy käyttää aikaa, koska päivittämätön dokumentaatio kohottaa hämmennyksen riskiä. Tämä vaatii aikaa ja resursseja, mutta kannattaa.
Kun yksi kehittäjä tuottaa tekoälyn avulla enemmän koodia lyhyemmässä ajassa, syntyy uusi ongelma: muistaako hän enää puolen vuoden päästä, miten kaikki toimii? Kun omistajuus itsekirjoitetusta koodista puuttu, siitä ei jää samaa vahvaa muistijälkeä, miten kokonaisuus toimii. Hyvin dokumentoitu koodi tukee silloin myös kehittäjää.
Panosta laadunvarmistukseen
Koodin laadun varmistaminen on ratkaisevassa osassa agenttivetoisessa kehityksessä. Tekoälyn käytössä tukevat systemaattiset koodikatselmukset ja laajat testit. Muuten sen hyödyntäminen on riskialtista. Vahvat koodikäytännöt varmistavat, että tekoäly ei lähde sooloilemaan.
Arvioi uudelleen
Tekoälytyökalut kehittyvät nopeasti. Puoli vuotta sitten toimimaton ominaisuus saattaa olla nyt erinomainen. Siksi on tärkeää, että yrityksessä joko tiimi tai vastuutetut henkilöt seuraavat kehitystä ja jakavat tietoa. Työkalujen käyttöä ja uusien arviointia kannattaa tehdä ainakin tietyin väliajoin, kuten puolivuosittain.
Haluatko sparrata tekoälyn hyödyntämistä omassa organisaatiossasi? Laita meille rohkeasti viestiä. Katso myös webinaaritallenne sivuiltamme.
