Näin löydät oikeat laatumittarit

31.7.2019 / by Esko Hannula

Ohjelmistoprosessia on yleensä vaikeampi hallita ja optimoida kuin esimerkiksi teollisuuden tuotantoprosessia. Tällä ei kuitenkaan ole mitään tekemistä ohjelmistoon liitettävien niin kutsuttujen “älyllisten haasteiden” tai “perityn kompleksisuuden” kanssa. Syy löytyy siitä, että teollisuustuotannon historia on ohjelmistoja pidempi ja käytännöt vakiintuneempia. Lisäksi siinä käytettävät työkalut ja -prosessit ovat standardoidumpia, eikä mahdollisuus variaatioille ole yhtä suuri kuin ohjelmistoissa.

Liiketoiminta, joka on vain yhtä hyvää kuin sen taustalla toimivat ohjelmistot, voi pysyä kilpailukykyisenä jatkuvan ohjelmistoprosessien parantamisen ja  optimoinnin kautta. Tämä ei kuitenkaan tarkoita sitä, että mahdollisuutta uuden kehittämiseen ei olisi. Mitä parempi, nopeampi ja automatisoidumpi prosessi on, sitä enemmän jää tilaa myös innovointiin.

Ohjelmistoprosessi vaatii tarkkaa mittaamista. On kyettävä tunnistamaan, kehittyvätkö asiat parempaan vai huonompaan suuntaan. Tarvittaessa on myös onnistuttava löytämään riittävän nopeasti juuri ne vivut, joita voidaan säätää kun parannuksia tai korjauksia tarvitaan. Lähes kaikki koodista helpdeskiin sisältää työkaluja, jotka tuottavat runsaasti tietoa, mitä voidaan hyödyntää ohjelmiston rakentamisen, julkaisemisen ja laadun ymmärtämiseen, hallintaan, parantamiseen ja ennustamiseen.

Eri rooleissa toimivat henkilöt tarvitsevat samasta tiedosta erilaisia näkökulmia. Ohjelmistoprosessin ajaminen keskittymällä ainoastaan virheilmoituksiin on sama, kuin yrittäisi pyörittää liiketoimintaa tarkastelemalla pelkästään myyntisaamisia ja velkoja. Toisaalta, yritettäessä esimerkiksi hallita ja kehittää liiketoimintaa lukemalla pelkästään rahoituslaskelmia tai tilinpäätöksiä on yhtä tuhoon tuomittu ajatus. Rahoituslaskelmien tai tilinpäätösten analysoiminen siten, että lähtökohtana on kriittisten taloudellisten indikaattorien trendit ja talousarviot näihin perustuen on paljon hyödyllisempi lähestymistapa.

Ohjelmistojen mittaristojen tarkoituksena on fasilitoida parhaat mahdolliset päätökset oikeaan aikaan. Nykykirjallisuus tarjoaa lukuisia käteviä ohjelmistojen laatumittaristoja. Listaan seuraavaksi ne mittaristot, jotka ovat palvelleet minua parhaiten ohjelmistojen laadun johtamisessa:

  1. Testien pass/fail-tilastot
  2. Virhekertymät
  3. Virheiden havaitsemisprosentti
  4. Virheiden tiheyden jakautuminen ajallisesti
  5. Virheiden jakautuminen ohjelmiston arkkitehtuurissa
  6. Työn kertauksen kumulaatio
  7. Odotusajan kumulaatio
  8. Koodimuutokset päivässä/viikossa

Mutta tämä on vain jäävuoren huippu. Kattavan selvityksen siitä, miten saada mittaristot toimimaan omaksi hyödyksesi löydät tutustumalla englanninkieliseen whitepaperiin:

How DevOps Creates Value

Varoituksen sana on kuitenkin paikallaan: suurin osa ihmisistä vihaa heidän työnsä jatkuvaa arviointia. He eivät usko, että johdolla on pelkästään hyviä aikomuksia, kun puhutaan mittaamisesta. Tämän takia kaikki sellaiset mittausyritykset, jotka perustuvat ihmisten omaan manuaaliseen raportointiin, ovat tuomittuja epäonnistumaan. Siksi mittaaminen kannattaakin automatisoida.

Asenne mittaamista kohtaan tulee kuitenkin muuttumaan, kun opitaan ensin käyttämään mittaristoja ymmärryksen rakentamiseen ja vasta sen jälkeen ohjaukseen.

Lue loput blogisarjasta:

  1. Keskity riskeihin ja riippuvuuksiin
  2. Ota DevOps käyttöön oikein
  3. Näe IT-sijoitukset tuotteina projektien sijaan
  4. Testaaminen vasemmalle ja oikealle
  5. Automatisoi
  6. Mittaa

Aiheet: Testiautomaatio, Ohjelmistotestaus