“On meilläkin laatujärjestelmä, muttei se ole minun työtäni paljoakaan haitannut.” Tämän tyyppisen sutkautuksen olemme joskus kuulleet asiakkailtamme.
Vaikka laatu useimmiten mielletään positiiviseksi ja tavoiteltavaksi asiaksi, siihen liittyvät käytänteet mielletään usein etäisiksi ja monimutkaisiksi. Laatu on monitulkintainen asia. Jokainen mieltää laadun hieman eri tavoin: auton ostaja painottaa tuotteen virheettömyyttä, talon rakentaja arvostaa prosessin sujuvuutta sekä suunnitelmien ja budjetin pitävyyttä. IT-kehityksessäkin painotukset vaihtelevat hankkeesta toiseen. Esimerkiksi sairaalajärjestelmissä lopputuotteen on ehdottomasti oltava virheetön, kun taas lakimuutoksiin liittyvissä hankkeissa kriittisin laatutekijä saattaa olla vaikkapa aikataulu.
Mitä on laatu?
Tyypillisesti laatua jäsennetään kolmesta eri näkökulmasta:
Laadunhallinnaksi kutsutaan yleisesti ottaen kaikkea asiakastyytyväisyyden ja kannattavuuden parantamiseen sekä kilpailukyvyn säilyttämiseen liittyvää toimintaa. Laadunhallinta sisältää koko organisaation kattavan strategisen lähestymistavan laadun ylläpitämiseen ja parantamiseen. Usein puhutaan yrityksen laatujärjestelmästä.
Osana laadunhallintaa suoritetaan laadunvarmistusta virheitä ennalta tunnistavana ja niitä ehkäisevänä toimintana, sekä laadunvalvontaa virheitä havaitsevana ja niitä korjaavana toimenpiteenä.
Millä laadun voi varmistaa kehittämisessä?
Kehittämishankkeiden onnistuminen riippuu monesta tekijästä. Yksi merkittävimmistä tekijöistä näissäkin tekijöissä on laatu eri muodoissaan. Laatu ei liity pelkästään tuotteen tai palvelun lopputulokseen, vaan se ulottuu projektin kaikkiin vaiheisiin ja osa-alueisiin. Kehityshankkeissa harvoin kuitenkaan törmää puheeseen yrityksen laatujärjestelmästä ja kytkentä yrityksen laajuiseen laadunhallintaan jää helposti ohueksi.
Mitä laatu sitten merkitsee kehittämisessä ja miten sen voi varmistaa? Olemme huomanneet, että kun asiakkaamme ovat meihin yhteydessä IT-kehittämisen laadun haasteisiin liittyen, ensin on syytä käydä läpi, mitä laadulla siinä yhteydessä tarkoitetaan.
Huono laatu ilmenee esimerkiksi virheinä kehitettävässä tuotteessa, viivästyksinä aikataulussa, tuotteen teknisenä epävakautena tai huonona käytettävyytenä. Nämä erityyppiset laatupoikkeamat laitetaan helposti yhteen laariin ja syyllinen yritetään löytää mahdollisimman läheltä virhettä. Poikkeamat muodostavat kuitenkin usein varsin monimutkaisia vaikutusketjuja.
Laadun kolme näkökulmaa kehittämisessä
Sovellettaessa aiemmin esitettyjä kolmea laadun näkökulmaa kehittämiseen, yhtymäkohdat voidaan löytää helposti. Lähestymme tässä asiaa kolmen esimerkkiskenaarion avulla.
Laadunhallinta kehittämisessä
“Asiakas on epäonnistunut tavoitteidensa kommunikoinnissa IT-toimittajalle, joka puutteellisten vaatimusten vuoksi on toteuttanut ratkaisun parhaaksi katsomallaan tavalla ja saa ratkaisusta ja sen huonosta laadusta syyt niskoilleen.”
Tämä on perusesimerkki, jossa laadunhallinta on pettänyt jo projektin alkuvaiheessa ja vaikutukset ovat kauaskantoiset. Juurisyyitä voi olla moninaisia: yhteisen toimintatavan puute, vajavainen kommunikaatio liiketoiminnan kanssa tai osaamattomuus tai huolimattomuus vaatimusmäärittelyssä.
Kehittämisen laadunhallinnan tavoite on luoda projektille toimintatavat ja mekanismit (kehittämisen malli), joilla tämän kaltaiset tilanteet vältetään. Avainasioita tässä ovat malliin sitoutuminen, sidosryhmien kytkeminen malliin, avoin kommunikaatio ja reagointikyky muutostilanteissa.
Laadunvarmistaminen kehittämisessä
“Järjestelmän teknisistä katkoksista syytetään sen ylläpitäjää, vaikka juurisyyt löytyvät ohjelmakoodin puutteellisesta testauksesta jo kehitysaikana.”
Tässä esimerkissä laadunvarmistus on epäonnistunut jo kehittämisvaiheessa ja tuotantoon on päässyt virhe, joka ilmenee vasta ajan saatossa. Kyse voi olla testien puutteellisesta kattavuudesta, huolimattomuudesta sen suorittamisessa tai tietoisesti tehdystä päätöksestä oikaista testivaiheessa projektin aikataulupaineen takia.
Kehittämisessä laadunvarmistamisen tehtävä on estää laatupoikkeaminen eteneminen kehitysprosessissa. Avainasia laadunvarmistuksessa on, että se ei ole vain loppuvaiheessa tehtävä toteava testi. Sen pitäisi olla koko kehittämisprosessin aikainen toiminto lähtien liiketoiminnan tavoitteisiin kytketystä testausstrategiasta aina yksittäisen testitapauksen suorittamiseen ja korjaavaan toimenpiteeseen.
Laadunvalvonta kehittämisessä
“Tuotannossa olevaan järjestelmään tehdään tietoturvapäivityksiä, jonka seurauksena järjestelmä käyttäytyy epävakaasti. Ennen siirtoa vastaava konfiguraatio on kuitenkin testattu onnistuneesti testiympäristöissä. Ympäristöjen automaatiotestit eivät kuitenkaan ole ajan tasalla, eivätkä ole siten havainneet poikkeamaa.”
Tämä esimerkki on klassinen tapaus siitä, että testausympäristöt eivät vastaa tuotantoympäristöä. Laadunvalvonnan mekanismien olisi pitänyt havaita virhe konfiguraatiossa ennen tuotantoon siirtoa tai viimeistään tuotannossa. Automaattiset triggerit ja valvonnat tuovat kehitysputkeen parhaimmillaan rutkasti tehoa ja luotettavuutta. Niiden oikeellisuuden ja ajantasaisuuden varmistaminen on kuitenkin ehdottoman tärkeää – sitä saat, mitä mittaat.
Selkeytä vastuita laadun kolmen näkökulman avulla
Kolme yleistä laadun näkökulmaa ovat siis suoraan sovellettavissa kehittämisen laatuun. Erilaisten monimutkaisten syy-seuraussuhteiden takia ne menevät usein kuitenkin sekaisin kehittämisprojekteissa.
Kehittämisen laatunäkökulmien jäsentäminen näiden kolmen näkökulman avulla voi kuitenkin selkeyttää monimutkaisen asian käsittelyä sekä vastuiden jakamista kehittämisen laadun osalta.