Blogi

Uutta tempoa ohjelmistobisnekseen tekoälyn avulla

Joonas Pajunen Bisnes Teknologia

Joonas Pajunen pohtii tekoälyasioita tietokone sylissö Joonas Pajunen pohtii tekoälyä tietokone sylissä

Tekoäly lisää vauhtia softakehitykseen. Vauhdin mukana tulee muutoksia, halusit tai et. Mitä voit saada aikaiseksi ja miten?

Softakehitystä voi nopeuttaa monella eri tapaa (lue lisää). Pelkät uudet työkalut eivät silti riitä järkevän kokonaisuuden luomiseen. Yhdistämällä turbogeneroitua koodia 2010-luvun toimintamalleihin, luot pullonkauloja ja pahaa mieltä. Skeptisyyttä ja jälkiviisauksia.

Juttelin aiheesta Pekka Koskisen kanssa (katso webinaaritallenne), ja rakensin sen pohjalta kolmiteräisen oppaan:

  1. Määritä uusi nopeampien iterointien kehitysrytmi
  2. Tasapainota softakehityksen prosessit tukemaan tekoälyn tuomia mahdollisuuksia
  3. Kannusta uuteen tekoälypositiiviseen mielentilaan

Liiketoiminnan uusi rytmi

Tekoäly voi generoida koodia puolestamme. Tämä mahdollistaa nopeamman kehittämisen tahdin, mikäli prosessit on kunnossa. Uusia toiminnallisuuksia ja ideoita voi testata nopeammin ja konkreettisemmin kuin koskaan aiemmin.

Kun uusia ideoita testataan kuvien ja puolitoimivien fasaadien sijaan käytännössä osana omaa palvelua, voi idean järjellisyyden varmistaa todenmukaisemmin. Tällöin kehitysjonoon päätyy validoituja ideoita arvauksien sijaan.

Tämän seurauksena softakehittäjien aika kuluu oikeisiin asioihin. Koska kehittäjät voivat käyttää samoja tai lähes samoja tekoälytyökaluja, voivat he rakentaa tai iteroida puolivalmiit kokeilut nopeammin tuotantokypsiksi kokonaisuuksiksi.

Liiketoiminnan uusi rytmi muotoutuu siis nopeammista iteraatioista ja loppukäyttäjää lähempänä tehtävistä kokeiluista. Tämä mahdollistaa ketterämmän ja relevantimpaan dataan pohjautuvan päätöksenteon.

Ennen kuin ei-kehittäjät alkavat rakentaa (lue: vibakoodata) omia virveleitään, tulisi lähdekoodi täysin eriyttää yrityksen yleensä sensitiivisestä datasta. Tämä on normaali käytäntö, mutta korostuu tekoälytyökalujen ja nopeiden kokeilujen aikana.

Ohjelmistokehittäjien aika sen sijaan painottuu jatkossa vähemmän itse koodaukseen.

Softakehityksen uusi muoto

Ohjelmistokehitys saavuttaa uuden abstraktiotason. Kehitys on jatkossa vähemmän syntaksin näpyttelyä editoriin, ja enemmän kaikkea koodauksen ympärillä tapahtuvaa työtä.

Muutama ennuste työnkuvan muutoksesta:

  1. Työ on tekoälytyökalujen resurssiallokaatiota. Kun työkalujen käyttäminen maksaa suoritusperusteisesti ja vie normaalia vähemmän aikaa, täytyy kehittäjän manageroida näiden resurssien käyttöä.
  2. Resurssien käyttö perustuu suunnitteluun ja arkkitehtuuriin, ja toteutuksen ohjaamiseen niiden mukaisesti.
  3. Arkkitehtuurisuunnitelma perustuu yhdessä liiketoiminnan kanssa käytyyn kommunikaatioon ja liiketoiminnan tarpeisiin. Tähän tarvitaan entistä enemmän tiimityöskentelytaitoja ja liiketoimintaymmärrystä.
  4. Tekoälytyökalujen luoman materiaalin täytyy kulkea normaalin laadunhallintaprosessin läpi. Code review -käytännöt korostuvat entisestään. Näillä käytännöillä varmistetaan myös tietoturvan kunto.
  5. Tekoälytyökalujen joutuessa umpikujaan, tarvitaan edelleen syntaksin ymmärtämistä ja sen kirjoittamista. Ns. debug-kyvykkyydet ja kriittinen ajattelu korostuvat tulevaisuudessa. Työmarkkinan paradoksi on, että näitä kyvykkyyksiä rakentuu parhaiten koodia kirjoittamalla.

Parhaimmillaan tekoäly voi hoitaa kehittäjän tylsiksi kokemat työt. Nämä vaihtelevat henkilökohtaisesti, mutta voivat sisältää asioita kuten testien kirjoittaminen, dokumentaation ylläpito, projektien alustus, CRUDit (eli käytännössä lomakkeiden rakentaminen) tai saavutettavuus-, tietoturva- ja muut kevyet auditoinnit. Ihmisen tulee silti valvoa ja validoida kaiken tekoälyn tuottavan materiaalin oikeellisuutta. Tämä lienee ensimmäinen varsinainen pullonkaula teknologian kehittyessä.

Väitän että kaikkien tietotyöläisten työnkuva muuttuu, mutta ohjelmistokehitys muuttuu ensimmäisenä. Avoimen lähdekoodin saatavuuden takia kielimalleja on voitu kouluttaa valtavilla datamäärillä.

Ironisesti, tutkimustyön ja ohjelmistokehityksen myötä tapahtunut suuri muutos vaikuttaa ensimmäisten alojen joukossa juuri itseensä. Ohjelmistokehityksen ja -bisneksen alalla työskentelevät tarvitsevat uusia ajattelutapoja.

Ajattelutavan muutos

Aloitetaan hyväksymällä muutos ja sen tuoma lievä paniikki, tai vähintään huolet ja epävarmuus tulevaisuudesta. Kaikki ovat enemmän tai vähemmän samassa tilanteessa.

Ehkä et ole enää ensimmäisten joukossa luomassa AI-wräppereitä. Valtaosa väestöstä ei ole kuitenkaan edes kokeillut kielimalleja, ja moni niitä kokeillut, ei käytä niitä aktiivisesti. AI:n käyttö on myös hyvin vaihtelevaa. Vielä siis ehtii mukaan.

Pyri ymmärtämään kielimallien ja tekoälyn toimintaa hieman pintaa syvemmälle. Kokeile erilaisia tyylejä ja toimintamalleja. Tässä muutama esimerkki:

  • Kielimalli antaa vain niin hyvää tulostetta kuin mitä syötettä sille on annettu. Se ei osaa taianomaisesti lukea ajatuksiasi.
  • Mitä geneerisempi pyyntö, sitä geneerisempi vastaus. Määritä konteksti ja haluamasi sisällön tyyli.
  • Iteroi, eli kysy tekoälyltä uudelleen. Tiedä milloin lopettaa, mikä on tarpeeksi hyvää.
  • Käsittele kielimallia enemmän assistenttina kuin kaikkitietävänä velhona.
  • Kielimalli on kuin ihmiskunnan historian indeksirahasto. Poimi tästä valtavasta kokemuksestasi tarvittava rooli, konteksti, vastauksen muoto ja tarkastelukulma.

Sinulta ja organisaatioltasi vaaditaan prosesseja ja kuria, sekä sopivaa riskinottokykyä. Etenkin laajojen kielimallien käyttö tapahtuu yleensä "jossain muualla" (pilvi vs oma laite), ja sen takia on olemassa teoreettinen vaara datan joutumisesta vääriin käsiin. 

Huolehdi tietosuojasta; eriytä data ja lähdekoodi - kuten tavallisiin hyviin käytäntöihin kuuluu. Huolehdi tekijänoikeuksista ja muista asiaan liittyvistä lainopillisista seikoista. Pyydä tarvittaessa apua, mutta älä jätä vaikeuden takia yrittämättä.

Ennen pitkää riski olla käyttämättä tekoälyä ja sen tuomien etujen ulkopuolelle jääminen kasvaa liian suureksi. Kannusta tekoälyn käyttöön, kenties jopa velvoita siihen.

Tekoälyn käyttöönotto

Tekoälyn käyttö ja ennusteet tulevasta aiheuttavat innostusta, pelkoa, skeptisyyttä ja inhoa. Toistaiseksi, sen käyttö on ollut keskimäärin vapaaehtoista. On kuitenkin merkkejä ja tornareita sen käytön muuttumisesta pakolliseksi eri rooleissa. 

Älä sooloile tekoälyn kanssa. Pitäkää terve maalaisjärki mukana tekoälyn käyttöönotossa ja sopikaa käytännöistä. Aloittakaa toistuvista ja riittävän pienistä kokonaisuuksista. Jatkokehittäkää ja laajentakaa. Varokaa antamasta tekoälylle liikaa oikeuksia tai pääsyjä kaikkeen mahdolliseen yrityksen tai henkilökohtaiseen dataan.

Pakollisuuden sijaan, näyttäkää esimerkkiä ja kannustakaa AI:n käyttöön. Tekoälyn avulla työ voi muuttua merkityksellisemmäksi ja vaikuttavammaksi, kun toistuvaa manuaalista työtä tarvitsee tehdä vähemmän.