Tekoäly on tullut pysyväksi osaksi ohjelmistokehitystä. Tästä väittämästä on enää vaikea pyristellä perustellusti eroon. Ohjelmistokehittäjille suunnatussa Stack Overflow -kyselyssä 84% vastaajista käytti tai suunnitteli käyttävänsä AI-työkaluja kuluvan vuoden aikana. Vastaajista lähes puolet (47%) käytti AI työkaluja päivittäin. Samaisessa kyselyssä 52% vastaajista totesi, että työkalut ovat positiivisesti vaikuttaneet tuottavuuteen. Huomioiden työkalujen vahvan kehityksen kuluvan vuoden aikana, uskon, että tuo luku on huomattavasti korkeampi ensi vuoden kyselyssä.
Edellä mainitun kyselyn vastaajat ovat pitkälti Stack Overflow -sivuston aktiivisia käyttäjiä, mikä saattaa hieman vääristää kyselytuloksia. Sivusto on ollut paljon uutisissa viime vuosina lähinnä siitä, että tekoäly on syönyt sen kävijämäärät ja tämä voi heijastua myös kyselyn vastauksissa. Vastaajista osa on varmasti vankkumattomia Stack Overflow’n käyttäjiä.
Hyötyjä irti tekoälystä
Nyt, kun olemme päässeet yhteisymmärrykseen, että tekoäly on tullut välttämättömäksi osaksi ohjelmistokehitystä, voimme keskittyä siihen, miten saamme siitä mahdollisimman paljon hyötyjä irti. Ensimmäisenä meidän pitää huolehtia, että koodareilla on riittävästi tietoa ja taitoa käyttää tekoälyä tehokkaasti. Voimme taklata tätä ongelmaa monella eri tavalla, mutta tärkeintä on saada kehittäjät kokeilemaan erilaisia työkaluja avoimin mielin. Adafyssa järjestämme AI Code Camp -nimellä kulkevaa päivän mittaista koulutusta, jossa keskitymme nimenomaan vahvistamaan positiivisia kokemuksia tekoälytyökaluista. Koulutuksessa opetetaan toki LLM-mallien perusteet, MCP-työkalujen hyödyntäminen, kontekstin hallinta jne., mutta tärkeintä on saavuttaa avoin ja positiivinen asenne.

Onko tekoälytyökaluista oikeasti hyötyä ohjelmistokehityksessä?
Tähän kysymykseen on tällä hetkellä vaikea vastata, koska mitattua ja tutkittua tietoa on vielä todella vähän käytössä. Asian tutkimista vaikeuttaa myös merkittävästi se, että työkalut kehittyvät jatkuvasti hurjaa vauhtia. Esimerkiksi 2024 vuonna MCP-serveriä ei oltu vielä edes keksitty (julkaistiin marraskuussa 2024) ja tänä vuonna siitä on tullut jo de facto -ominaisuus moniin työkaluihin. Muuttuvaa kohdetta on todella vaikea mitata.
Olemassa olevista tutkimuksista voidaan kuitenkin löytää muutamia toistuvia teemoja. Ensimmäinen toistuva teema on, että kehittäjien mielestä tekoälytyökalut parantavat tehokkuutta. Esimerkkinä The Space of AI -tutkimuksessa todettiin että 90% vastaajista, jotka käyttivät tekoälyä säännöllisesti, kokivat, että tekoälyn käyttäminen teki heistä tehokkaampia. Toinen toistuva teema on ”mutta.” Lähes kaikissa lukemissani tutkimuksissa on todettu jonkinlainen ”mutta” -teema asiaan. Yleensä tämä teema liittyy siihen, paljonko tekoälyä käytetään ja mitkä ovat käyttäjän tekoälytaidot. Tämä erityisesti korostaa sitä, että tekoälyn ottaminen käyttöön ei maagisesti paranna tehokkuutta, ellei sen käyttöön ole riittävästi taitoja.
Uusilla työkaluilla on myös alkuun taipumusta heikentää tuottavuutta, koska työkalun tehokas käyttäminen vaatii totuttelua. Lyhyellä mittausjaksolla opetteluvaihe heikentää kokonaistuottavuutta ja näin ollen tutkimuksen tulokset vääristyvät ajatellen pitkää kuvaa. Tänä päivänä voidaan kuitenkin pitää lähes varmana sitä, että oikeilla taidoilla ja oikein hyödynnettynä tekoälytyökalut tehostavat ohjelmistokehitystä.
Tekoälytyökalujen mahdollisuudet ohjelmistokehityksessä
Jos oletamme (tutkimuksiinkin perustuen), että tekoälytyökalut parantavat merkittävästi tuottavuutta, tämä avaa monille yrityksille mielenkiintoisia mahdollisuuksia. Lähitulevaisuudessa räätälöityjen ohjelmistojen kehittämisen kustannukset saattavat pudota merkittävästi. Tämä tarkoittaa, että pienet ja keskisuuret yritykset, joille räätälöity ohjelmistokehittäminen tänä päivänä on liian kallista, on avautumassa mahdollisuus kehittää heidän prosesseihinsa kohdennettuna ratkaisuja. Miltä kuulostaisi omiin tarpeisiin täysin räätälöity CRM-järjestelmä tai itse kehitetty ERP-laajennos, joka sisältää kaikki teidän yrityksenne tarvitsemat ominaisuudet?
Tulevaisuudessa laajennettavuus ja räätälöinti tulee mahdollistamaan kilpailuedun saavuttamisen. Jos kuvitellaan, että kaikki alan toimijat käyttäisivät samaa tuotannonohjausjärjestelmää, niin sillä olisi vaikea erottautua kilpailijoista. Jos taas tähän järjestelmään olisi tehty juuri yrityksen tarpeisiin kohdistettu varastonhallintalaajennos, niin varasto-optimoinnin kautta kilpailijoista pystyttäisiin helpommin erottautumaan.
Omasta mielestäni tämän päivän ohjelmistohankinnoissa on tärkeä huomioida, mitä API-rajapintoja valmisohjelmisto tarjoaa. Kuinka helppo rajapintoja on hyödyntää, mitä ne maksavat ja kuinka laajasti ne on toteutettu. Otetaan esimerkkinä ERP-järjestelmä: ERP-järjestelmät tarjoavat tällä hetkellä melko vähän tekoälyyn liittyviä ominaisuuksia, ja jos esimerkiksi halutaan tehdä tekoälypohjainen ostolaskujen automatisoitu hyväksyminen, niin käytössä oleva toiminnanohjausjärjestelmä ei välttämättä tähän taivu. Jos taas ERP:stä löytyy riittävän hyvät rajapinnat, niin toiminto voidaan toteuttaa tekoälyavusteisen ohjelmistokehityksen avulla kohtuullisen nopeasti. Tällöin kilpailueduksi kehitetty ominaisuus ei ole edes toteutettu ERP-ratkaisun sisään, jolloin myöhemmin mahdollisesti tapahtuva ERP-järjestelmän vaihtaminen ei poista itse kehitettyä ratkaisua käytöstä. Hyödynnetään vain API-rajapintoja uudesta ERP-järjestelmästä.
Adafyn kehittämän automaatio- ja integraatioalustan tarkoituksena on mahdollistaa juuri järjestelmien vaihto ja eri järjestelmien välinen keskustelu. Integraatioalustan avulla ERP-järjestelmän rajapinnat voidaan tuoda keskitetysti tekoälyratkaisun saataville ja myöhemmin mahdollisesti tapahtuva ERP-järjestelmän vaihto kohdistuu vain integraatioalustaan, eikä kaikkiin toteutettuihin räätälöityihin ratkaisuihin.

Ohjelmistokehityksen tulevaisuus
Tulevaisuus tulee näyttämään, mihin tekoälytyökalut vielä pystyvät. Ohjelmointi on yksi parhaiten kielimalleille soveltuva kohdealue, joten ala tulee melko varmasti kokemaan isoja muutoksia vielä lähivuosina. Murtuuko valmissovellusten valta-asema? Romahtaako ohjelmistokehitysten kustannukset, kun ohjelmointia pystytään automatisoimaan? Onko tulevaisuuden ohjelmoija vain agenttilaumoja ohjaava operaattori? Tulevaisuuden osalta varmaa on vain epävarmuus, joka kasvaa sitä mukaa, kun kehitysvauhti kiihtyy. Epävarmuuteen ja suunnanmuutoksiin emme pysty vaikuttamaan, mutta pystymme mukailemaan niitä ja pysymään muutosten mukana. Pysymällä mukana säilytämme merkityksellisyytemme myös tulevaisuudessa.