Laadunvarmistus on valhe, joka tuhoaa projekteja

Oletko ajatellut miksi ohjelmistohankkeita on niin helppoa ajaa isosti metsään? Saamme yhtenään todeta uutisistakin, miten erityisesti suurimmat hankkeet karauttavat kalliisti kiville. Tyypillisesti projektin budjetti pettää mahdotottomaksi realisoituviin aikatauluihin tai lopputuote on niin huono, että kukaan ei halua käyttää sitä.

Toimiva laadunvarmistusprosessi on yhteistä myös jokaiselle pieleen menneelle hankkeelle. Laatuun laitetaan systemaattisesti rahaa ja investoinnin summatkin ovat korkeita. Mutta mikä sitten epäonnistuu?

Vastaus on ihminen. Tai tarkemmin sanottuna ihmisessä syvällä piilevä kaipuu kokea varmuuden ja hallinnan tunteita. Ohjelmistoalan ammattilaisilla on jopa oma sana kuvaamaan työlajia, joka tähtää näiden tunteiden tuottamiseen. Sen nimi on laadunvarmistus, eli quality assurance.

Ranskankielinen kantasana asseurer viittaa vakuutuksiin, lupauksiin, turvallisuuteen ja varmuuteen. Kiinnostavaa on, että sanaan on aikojen saatossa liitetty myös negatiivisia merkityksiä, jotka liittyvät olettamuksiin ja ylimielisyyteen.

Varmuuden tuottaminen on kyllä lopputulos muiden joukossa. Laadunvarmistuksessa tuotetaan varmuutta siitä, että toimiihan kehitettävä järjestelmä yhä kuten ennenkin. Se on hallinnan tunteen välikappale, sillä tarkoituksena on tuottaa todisteita ohjelmiston toimivuudesta.

Laadunvarmistukselle on olemassa vastavoima. Sen tarkoitus on hävittää varmuuden tunnetta osoittamalla mistä järjestelmän määritykset, arkkitehtuuri ja toteutus eivät vielä toimi. Erityisen tehokkaasti tuo vastavoima tuhoaa valheellisia varmuuden tunteita.

Vastavoimalla on nimikin. Sitä kutsutaan testaukseksi.

Erityisesti julkisen sektorin tietojärjestelmähankkeissa tämä on helppoa unohtaa täydellisesti. Määritykset, arkkitehtuuri ja toteutus heilauttavat haastamatta kohti laadunvarmistusta. Epäonnistuminen on alusta asti varmaa, kun toiminta tähtää kohti valheellista varmuuden tunnetta.

Oikea testaus parantaa merkittävästi ohjelmistohankkeiden onnistumisen edellytyksiä. Kuitenkin tuota elintärkeää työlajia on mahdotonta tehdä, jos pinnistelemme pitääksemme testausta osana laadunvarmistuksen käsitettä.

Siksi ehdotankin tulevia suomalaisia tietojärjestelmähankkeita silmällä pitäen seuraavaa:

Suunnitelkaa laadunvarmistus ja testaus toisistaan erillisinä työlajeina. Upeat onnistumiset saattavat olla yllättävänkin lähellä.