ARTIKKELI
Automaatiolla ja tekoälyllä tehokkuutta laadun ennakointiin
Laadun ennakoiminen on askel eteenpäin laadun suunnittelusta. Ennakoidun laadun tavoitteena on mahdollistaa digitaalisen ratkaisun, esimerkiksi tietojärjestelmän, sovelluksen tai sähköisen palvelun laadun kehittymisen seuranta ja lopputuloksen ennustamisen jo ratkaisun kehitysprosessin aikana. Automaatio ja tekoäly lisäävät tehokkuutta laadun seurantaan ja mahdollistavat riittävän tiedon ennusteiden laatimiseksi.
Automaatio ja tekoäly laatutyön apuna
Digitaalisia palveluja kehitettäessä lopputuloksen laadun ennustettavuutta voidaan lisätä tukemalla ohjelmistokehitystä automaatiolla. Työn tehostumisen lisäksi automaation käyttö lisää ohjelmistokehitysprosessin selkeyttä ja toistettavuutta ja siten vähentää prosessissa tehtävien virheiden määrää. Ennustettavuuden näkökulmasta automaatio siis parantaa ohjelmistokehityksen ja laadunvarmistuksen tehtävien toistettavuutta ja luotettavuutta. Tehtävien automatisoiminen mahdollistaa myös nopean palautteen ohjelmiston laadusta, joka on edellytys ennusteen toteutumisen seuraamiselle ja uudelleen arvioinnille.
Tarvittaessa käsitys toteutuksen laadullisesta tilanteesta ja sen kehitystrendeistä suhteessa tavoitteisiin voidaan muodostaa vaikka päivittäin, tarpeen mukaan useamminkin. Trendeistä voidaan tunnistaa esimerkiksi järjestelmän komponentteihin vähitellen kerääntyvä tekninen velka, joka pitkällä tähtäimellä voi muodostua työlääksi ja hyvinkin kalliiksi korjattavaksi. Ominaisuudeksi, jota liiketoiminta ei varmasti ole ohjelmistoonsa tilannut.
Nykypäivänä koneoppimista voidaan hyödyntää useissa ohjelmistokehityksen tehtävissä ja vaiheissa tehostamaan tehtävän suorittamista ja parantamaan lopputuloksen laatua. Tyypillisesti esimerkiksi ohjelmistojen laadunvarmistukseen liittyvät älykkäät ratkaisut ovat yksittäisiä ominaisuuksia yksittäisissä työkaluissa ja niiden tehtävänä on tukea jonkin tietyn tehtävän suorittamista. Esimerkiksi testattavien kohteiden tunnistaminen, testien generointi käsiteltävän datan perusteella tai testiautomaatiotyökalun parantunut kyky sietää muutoksia sovelluksen käyttöliittymässä.
Haasteena datan riittävyys
Myös laadun ennakointiin voidaan hyödyntää koneoppimista. Esimerkiksi tekoäly voi tunnistaa järjestelmästä virhealttiita komponentteja, joihin voidaan sitten tarvittaessa kohdistaa enemmän testaamista ja tarkempaa suunnittelua.
Suurimmaksi tekoälyn hyödyntämisen esteeksi lopputuloksen laadun ennustamisessa muodostuu kuitenkin riittävän ja hyvänlaatuisen datan kerääminen. Ohjelmistokehitys ja laadunvarmistus sisältävät vielä paljon käsin suoritettavia tehtäviä, joista on vaikea tai jopa mahdotonta kerätä sopivaa dataa älykkään algoritmin hyödynnettäväksi. Esimerkiksi tutkivan testauksen suorittaminen tai havaintojen raportointi ovat ketterän ohjelmistokehityksen perustehtäviä, joiden dokumentoinnin taso riippuu täysin tekijästä ja kulloisestakin tilanteesta. Tällaisten tehtävien tuloksena syntyvä data ei ole kelvollista, eikä sitä kerry riittävästi oppivan algoritmin tarpeisiin.
Riittämättömän datan lisäksi haasteena on myös se, että moniin laadun ennustettavuuteen liittyvien osatekijöiden arviointiin tarvitaan edelleen ihmisen kykyä ymmärtää kokonaisuuksia ja arvioida eri tekijöiden vaikutuksia. Tekoälyä saatetaan hyödyntää esimerkiksi yksittäisen asiantuntijan osaamisen ja kyvykkyyden arvioinnissa, mutta esimerkiksi koko kehitystiimiin kyvykkyyden arviointi tai tiimille optimaalisen toimintatavan valinta on vielä tällä hetkellä tekoälylle, jollei mahdotonta niin ainakin todella haastavaa. Siksi laadun ennustamisessa tarvitaan myös inhimillistä kykyä soveltaa tietoa ja tehdä monimutkaisia päätelmiä myös kvalitatiivisten havaintojen perusteella.
Henri Grönblom
Head of Offering, Principal Consultant
Knowit Solutions Oy