Skip to main content
To the homepage of Knowit

ARTIKKELI

Ennakoitu laatu – tunne teknologiasi

Jotta ohjelmistokehityksen lopputuloksena syntyvän ohjelmiston laatua olisi mahdollista ennustaa, on tunnettava siihen vaikuttavat osatekijät.

Ennakoitu laatu – tunne teknologiasi

Lopputuloksen laatuun vaikuttavia tekijöitä ovat liiketoiminnan tavoitteiden ja asiakastarpeiden tunnistaminen, ohjelmistokehityksen toimintatavat, ihmisten osaaminen sekä ratkaisun rakentamiseen käytetyn teknologian tunteminen. Laadun ennustettavuutta on käsitelty yleisellä tasolla aikaisemmissa artikkeleissamme Ennakoitu laatu tuo laadunhallinnan omiin käsiin ja Automaatiolla ja tekoälyllä tehokkuutta laadun ennakointiin. Nyt syvennämme aihetta teknologian ja erityisesti pilviteknologian tuntemisen tärkeyteen ja hyötyihin.

Pilviteknologiat nykyaikaisten digitaalisten palvelujen alustana

Nykypäivän digitaaliset palvelut rakennetaan lähtökohtaisesti erilaisille pilvialustoille. Palvelun rakentaminen pilvialustalle houkuttelee, koska alustat tarjoavat kustannustehokkaan tavan tarjota skaalautuvia palveluja sekä yrityksen asiakkaille että sen sisäisille käyttäjille. Lisäksi pilvialustat tarjoavat runsaasti palvelun toteuttamiseen soveltuvia valmiita rakennuspalikoita, joita aiemmin on jouduttu hankkimaan kolmansilta osapuolilta, metsästämään avoimen lähdekoodin yhteisöiltä tai pahimmassa tapauksessa koodaamaan itse. 

Hiiren klikkauksilla kasattavat kokonaisuudet antavat palvelun rakentajalle helposti kuvitelman, että valmiita komponentteja käyttämällä ei palvelun testaukseen tarvitse kiinnittää niin paljoa huomiota, vaan laatu syntyy palveluun vähän niin kuin itsestään. Vastaavanlainen kuvitelma syntyy, kun esimerkiksi ERP- tai CRM-järjestelmää toteutetaan hyödyntämällä valmiita low-code tai no-code ratkaisuja. Vaikka liiketoimintaprosessi ja sen tueksi hankittava ohjelmistoratkaisu olisivatkin yleiskäyttöisiä, ovat käytettävyys ja palvelun asiakkaalle tuottama arvo subjektiivisia. Palvelun toteuttajan tehtävänä on arvioida ratkaisun soveltuvuutta käyttäjän ja/tai asiakkaan tarpeeseen ja se tapahtuu viimekädessä palvelun tai järjestelmän ominaisuuksia kokeilemalla, eli testaamalla. 

Laatu ei ole itsestäänselvyys pilvimaailmassakaan

Digitaalisen palvelun laadunhallinnan näkökulmasta pilvialustan haaste on se, ettei käytetyn teknologian kehittyminen ja muuttuminen ole omissa käsissä. Komponenttien kehittäminen, ja erityisesti kehittämättä jättäminen, on täysin alustan tarjoajan päätettävissä. Erityisesti aloitettaessa uuden ratkaisun rakentamista on tärkeää arvioida kriittisesti vaihtoehtoisia komponentteja ja eri toteutuksen vaihtoehtoja. Vaikka väärin valittu komponentti voi olla monesti teknisesti helppo vaihtaa, vaatii se aina palvelun uudelleen suunnittelun ja testauksen, jotta pysytään samassa tavoitellussa laatutasossa. 

Toinen pilvialustojen tuoma haaste on juuri erilaisten ratkaisujen toteuttamisen ja vaihtamisen helppous. Pikaisesti kasattu kokonaisuus voi johtaa monimutkaiseen ratkaisuun, jossa on hankala toteuttaa käyttäjälle loogisia toiminnallisuuksia ja jota on vaikea ylläpitää. Tästä syystä monimutkainen arkkitehtuuri johtaa usein myös kasvavaan tietoturvariskiin. 

Palvelun skaalautuminen, elastisuus ja suorituskyky ovat perinteisiä pilviteknologioiden myyntivaltteja. Pilvi tarjoaa palvelun toteuttajalle lähes rajattomat skaalautumisen mahdollisuudet, kunhan sen mahdollistamat komponentit on määritelty oikein ja palvelun taso asetettu laatutavoitteen mukaiseksi. Syksyinen Black Friday osoitti taas vääräksi kuvitelman, ettei pilveen rakennetun palvelun suorituskykyä tarvitse testata. Nykypäivän merkittävimmät verkkokaupat, on toteutettu pilviratkaisuina. Silti muutaman tunnetun verkkokaupan suorituskyky ja palvelutaso jäi selvästi alle odotusten, mikä näkyi käyttäjälle jonottamisena, sivujen hitaana latautumisena ja epäonnistuneina kauppoina. On periaatteessa eri asia, jos palvelusta kiinnostuneiden asiakkaiden määrä yllättää palvelun liiketoimintaomistajan ja verkkokaupan palvelutaso on siksi määritelty väärälle tasolle, kuin että odotettu asiakasmäärä on ollut tiedossa, mutta palvelutasoa ei ole teknisesti osattu säätää oikealle tasolle tai se on jäänyt testauksella varmistamatta. Asiakkaan näkökulmasta lopputulos on toki sama, mutta jälkimmäinen harmittaa palvelun liiketoimintaomistajaa usein enemmän. 

Laadunvarmistuksen painopisteet

Kun liiketoiminnalle kriittisiä järjestelmiä tai palveluja rakennetaan pilveen, on liiketoiminnan tarpeiden ja asiakasvaatimusten varmistaminen testaamalla edelleen oleellinen osa ratkaisun laadunvarmistusta. Lähes yhtä tärkeään rooliin raa’an testaamisen rinnalle nousee kuitenkin käytetyn alustateknologian osaaminen ja kehittymisen seuraaminen. Pilvialustatoimittajat tarjoavat osana palveluaan ohjeistusta ja erilaisia valmiita viitekehyksiä (Well-Architected framework) ratkaisun arkkitehtuurisuunnittelun tueksi. Näiden työkalujen tunteminen ja hyödyntäminen on tärkeä osa laadukkaan digitaalisen palvelun kehitystä. 

Toimiva ja tehokas (=automatisoitu) testaus on ehdoton työkalu, kun joudutaan päivittämään tai vaihtamaan ratkaisun pilvialustan komponentteja ja toistamaan samoja testejä uudestaan ja uudestaan. Ja vaikka pilvialustat tarjoavat usein erittäin hyvän tuen palvelujen suorituskyvylle ja tietoturvalle, on niiden testaaminen edelleen oleellinen osa liiketoimintakriittisen palvelun testausta. Testaus ei pysty tuottamaan laatua, mutta se pystyy osoittamaan sen mahdollisen puuttumisen. 

Tutustu myös Tommi Marjomaan blogitekstiin KESTÄÄKÖ VERKKOKAUPPASI SESONKIEN KÄYTTÄJÄRUUHKAN VAI KERÄÄKÖ KILPAILIJA RAHASI?

Henri Grönblom

Head of Offering, Principal Consultant

Knowit Solutions Oy