Mittarit ja tieto testauksen tehostamisen ja kehittämisen tukena Henri Grönblom
Pohjoismaisen konsernin resurssit, ketterä paikallinen kumppani 1700 asiantuntijaa Ruotsissa, Suomessa, Norjassa, Tanskassa, Venäjällä ja Virossa Konsernin liikevaihto (MEUR) 110 145 150 180 220 Suomessa yli 20vuoden kokemus lähes200 asiantuntijaa 2007 2008 2009 2010 2011 Knowit on listattu Tukholman OMX-pörssissä
Kilpailukyvyn kehittäjä Projektien läpimeno nopeammin ja pienemmin kustannuksin paremmalla laadun hallinnalla ja ketterällä tekemisellä Parempia päätöksiä tarkempaan ja ymmärrettävämpään tietoon perustuen Enemmän myyntiä, vaikuttavampaa viestintää ja parempaa yhteistyötä edistyksekkäillä web ja mobile ratkaisuilla Lisää tuottavuutta tehokkailla työkaluilla ja ratkaisuilla
Mitä testaus on? Toimintaa, jolla tuodaan esiin tärkeää tietoa päätöksenteon tueksi; tietoa jolla voidaan paremmin tietää missä ollaan ja millaisia päätöksiä pitäisi pyrkiä tekemään Jatkuvaa, järjestelmällistä epäilemistä Monimutkaisen järjestelmän vertaamista näkymättömään tavoitteeseen Odottamattoman odottamista tapahtuvaksi Kehittäjän tuki, autetaan näkemään virheet ennen kuin muut näkevät niitä Mukana järjestelmäkehityksen jokaisessa vaiheessa - ainakin jossain muodossa 4
Miksi testaamme? Only cowards do testing. The brave roll it out! (H. Schaefer) Riskien ehkäisemiseksi - Tuotannon häiriöt - Sopimuksiin sisältyvien vaatimusten täyttäminen - Aineelliset ja ihmishenkien menetykset Yrityksen laatumaineen ylläpitämiseksi tai kasvattamiseksi - Asiakkaan laatukokemus vs. yrityksen imago - Valittu tuotesegmentti (Lada vs. Mersu) - Negatiivinen näkyvyys mediassa Tavoitteena virheiden löytäminen ja korjaaminen Ennustettavuuden lisäämiseksi - Toimituskyky - Ajoitus 5
Tietojohtaminen Wikipedia: Tietojohtaminen tarkoittaa periaatteita, tekniikoita, prosesseja ja käytäntöjä, joiden mukaan tiedon ja tietämyksen luominen, haku, levittäminen ja hyödyntäminen organisaatiossa, organisaatioiden välillä ja organisaation toiminta- ja yhteistyöverkostoissa on järjestetty. 6
Tiedolla johtaminen Määritelmä Kattokäsite, johon kuuluu informaation hallintaa (information management), tietämyksenhallintaa (knowledge management), aineetonta pääomaa ja sen johtamista (intellectual capital, intellectual capital management) sekä liiketoimintatiedon hallintaa (business and competitive intelligence) Kattaa pääsääntöisesti tiedon, teknologian ja johtamisen rajapintoja käsitteleviä teemoja Lähtökohta Tiedolla johtamisen lähtökohtana on luoda (tieto)malli, joka tukee strategisten muutosten pitkän aikavälin simulointia, ennustamista ja seurantaa Tavoitteena työkalu ja toimintatapa ylimmän johdon käyttöön, joka tukee päätöksentekoa kertomalla tilanteen nykyhetkestä ja tulevasta huomioon ottaen eri skenaarioiden vaikutukset toimintaan ja kustannuksiin
Testauksen laatu Laatu on hyvin abstrakti, monitahoinen ja subjektiivinen asia Suhteellinen käsite joka muuttuu: tuotteen elinkaaren aikana käyttäjän tarpeiden mukaan teknisten mahdollisuuksien mukaan dokumentaation ja asiakastuen toiminnan mukaan Testauksen tehtävänä on toimia laadun mittarina Mutta mitä on testauksen laatu? 8
Laadukas testaaminen Testaus on tilannesidonnaista toimintaa Sen sisältö riippuu: Testattavasta järjestelmästä / tuotteesta Tuotteen elinkaaren vaiheesta Käytettävissä olevasta budjetista ja aikataulusta Testaajien ammattitaidosta ja kokemuksesta Käyttöympäristöstä Jne. Tavoitteena on siis tehdä riittävä määrä juuri oikeanlaista testaamista, jolla voidaan varmistaa asetettujen laatutavoitteiden saavuttaminen 9
Testauksen tehokkuus Tehokkuus vs. tuottavuus Mitä testaus tuottaa? Testaussuunnitelmia Testitapauksia Testiraportteja Virheraportteja Tietoa Tehokkuus, kuten muutkin laatuominaisuudet on yksilöllinen ominaisuus 10
Testauksen tuotto Vaihtoehtoiset kustannukset, eli jos emme testaa, niin mitä kustannuksia toteutunut riski aiheuttaa meille? Korvaukset asiakkaalle toimittamattomista ominaisuuksista sopimusrikkomus, takuukorvaukset Negatiivinen näkyvyys mediassa menetetty liikevaihto Mahdolliset voitot, eli mitä voimme saavuttaa, kun suoritamme testauksen hyvin? Yrityksen laatuimagon parantaminen Positiivinen näkyvyys mediassa merkittävä vaikutus massamarkkinoihin (esim. Applen tuotteet) 11
Laatukustannusten PAFF-malli (Feigenbaum) Laatukustannukset ovat kaikki ne kustannukset, jotka häviäisivät, jos kaikki tehtäisiin ensimmäisellä kerralla oikein. Investoinnit Ennaltaehkäisyn kustannukset Kustannukset, joilla pyritään estämään virheiden syntyminen. Laatujärjestelmät Menetelmät Koulutus Asiakkaan odotusten selvittäminen Koodikatselmoinnit Valvontakustannukset Kustannukset, jotka syntyvät yrityksen laatutason ylläpitämisestä. Testauksen suunnittelu ja suorittaminen Testauksen johtaminen Testauksen tilat ja välineet Kulut ja sakot Sisäiset virhekustannukset Kustannukset, jotka johtuvat virheistä, jotka löydetään ennen tuotteen toimittamista asiakkaalle. Virheiden etsintä (debuggaus) Virheiden korjaus Uusintatestaus Ulkoiset virhekustannukset Kustannukset, jotka seuraavat virheellisen tuotteen tai palvelun toimittamisesta asiakkaalle. Takuukustannukset Hinnanalennukset Tuotteiden takaisin kutsuminen ja hävittäminen PAFF = Prevention costs, Appraisal costs, Failure costs (internal), Failure costs (external) 12
Laadun kokonaiskustannukset 13
Laatukustannukset (Boehm) 14
Mitä testaus maksaa? Kiinteät kustannukset Testausorganisaation palkat Liiketoimintalinjan jyvitetyt kiinteät kulut, mm.: Vuokrat (työtilat ja laboratoriot) Sähkö- ja tietoliikennekustannukset IT-kustannukset (tietokoneet, sähköposti, intranet, yms.) Hallinnon kustannukset Testausympäristöt (palvelimet ja lisenssit) Testausohjelmistojen lisenssit Mittalaitteet Muuttuvat kustannukset Testaukseen osallistuvien asiantuntijoiden palkat (ohjelmistokehittäjät, liiketoiminnan asiantuntijat, konsultit, yms.) Väliaikaiset välinevuokrat Väliaikaiset tilavuokrat (testaustilat, koulutustilat, yms.) Kouluttautuminen (kirjat, seminaarit, yms.) Testattavat laitteet (projektin testaukseen, beta-testaukseen, yms.) Johdon tuki 15
Sisäinen tehokkuus vs. ulkoinen tehokkuus Sisäinen tehokkuus (efficiency) Kykyä toimia tehokkaasti Läpimenoaika, hukka, tuottavuus Testaus: Testien suorittaminen Välineet ja automaatio Prosessin parantaminen Riskit: Asiakkaan unohtaminen Tehdään tehokkaasti, mutta väärää asiaa Työ rutiininomaista ja tylsää Ulkoinen tehokkuus (effectiveness) Kykyä tyydyttää asiakkaan tarpeet tehdä oikeita asioita Toimituskyky, laatu, asiakastyytyväisyys, joustavuus Testaus: Testien ja testauksen suunnittelu Testaustekniikat Virheiden ennalta ehkäiseminen Tutkiva testaus Riskit: Toimintatavan ylikorostuminen Vaatii runsaasti asiantuntemusta sovellusalueesta ja testaamisesta Hankala johtaa 16
Testauksen mittaristo Testauksen tuottamat mittarit Projektin etenemisen mittarit Suunniteltujen testien määrä Suoritettujen testien määrä Tuotteen laadun mittarit Raportoitujen virheiden määrä Virheiden määrä vakavuuksittain Julkaisukypsyyden mittarit Avoinna olevien virheiden määrä Testauksen kattavuus osaalueittain Testaukseen kohdistetut mittarit Testauksen laadun mittarit Testauksessa löydetyt virheet vs. julkaisun jälkeen löydetyt virheet (DDP) Löydettyjä virheitä per testitapaus/testisessio Testauksen kattavuus Testauksen tehokkuuden mittarit Löydettyjen virheiden määrä per käytetty työmäärä Suoritettujen testien määrä per käytetty työmäärä Testausympäristöjen käyttöaste 17
Tiedon jatkokäsittely ja esittäminen Kollaboraatio Verkkoyhteisö, sisällönhallinnan työkalu, virtuaalinen työtila, mobiiliteetti Hyödyntäminen päätöksenteossa Datan sisältö: Tarpeellinen tieto Raportointi Analytiikka Visualisointi Tietovarastointi Sähköisessä muodossa oleva tallenne tai syöte ERP Testaus MUUT 18
Esimerkki: Testauksen mittareiden käyttäminen liiketoiminnan johtamisen tukena Projektille asetetut tavoitteet: Luoda yksinkertainen menetelmä liiketoimintastrategian jalkautumisen seurantaan ja hallintaan Käyttää olemassa olevia prosesseja ja välineitä liiketoimintastrategian tavoitteiden linkittämiseen tuotekehitysprojektien toteutukseen Hyödyntää mittaamisessa organisaatiossa jo käytössä olevia testauksen perusmittareita 19
Strategisten tavoitteiden mittaaminen Liiketoimintastrategia Strategiset tavoitteet Järjestelmän liiketoimintavaatimukset Järjestelmäkehitysprosessi Järjestelmävaatimukset Testitapaukset ST 1 ST 2 ST 3 ST 4 1. Vaatimus 2. Vaatimus 3. Vaatimus 4. Vaatimus 5. Vaatimus 1. Vaatimus 2. Vaatimus 3. Vaatimus 4. Vaatimus 5. Vaatimus 6. Vaatimus 7. Vaatimus Testitapaus Testitapaus Testitapaus Testitapaus Testitapaus Testitapaus Varmistetaan strategian mukaisuus Raportointi strategisia tavoitteita vasten Valmius Etenemä Laatu Knowit Confidential Testauksen perusmittarit Testien suunnittelun tila Testien suorituksen tila Passed / Failed suhde
Laatutavoitteet Laatu 100% laatu Tavoiteltu laatu Testien tavoitemäärä 100% testauskattavuus Testien määrä 21
Kolme mittaria jokaiselle strategiselle tavoitteelle Valmius = Suunniteltujen testitapausten määrä Testitapausten tavoitemäärä (arvio) Valmius kyseisen strategisen tavoitteen jalkautumisen mittaamiseksi Suoritettujen testitapausten määrä Edistyminen = Suoritettujen testitapausten tavoitemäärä Strategisen tavoitteen jalkautumisen edistyminen Laatu = Läpäistyjen testien määrä Suoritettujen testitapausten määrä Strategisen tavoitteen jalkautumisen laatu 22
Strategianmukaisuus Tuotekehitysprojektin strategianmukaisuutta varmistettiin kehitysprosessin eri vaiheissa Onko jokaiselle strategiselle tavoitteelle määritelty liiketoimintavaatimuksia? ST 1 ST 2 ST 3 ST 4 ST 5 ST 6 ST 7 ST 8 40 % 30 % 20 % 10 % 0 % 10 % 20 % 30 % 40 % 50 % Onko jokaiselle strategiselle tavoitteelle määritetty järjestelmävaatimuksia? Ovatko strategisten tavoitteiden painoarvot oikein? Business requirements System requirements 23
Esimerkki pilottiprojektista - toteutusvaihe Valmius ST 1 ST 2 ST 1 ST 3 ST 2 ST 4 ST 3 ST 5 ST 6 ST 4 ST 7 ST 5 ST 8 ST 6 0% 20% 40% 60% 80% ST 7 100% Laatu ST 8 Edistyminen ST 1 0% 20% 40% 60% 80% 100% ST 2 ST 3 ST 4 ST 5 ST 6 ST 7 ST 8 Passed Failed 0 % 20 % 40 % 60 % 80 % 100 % 24
Johdon yhteenveto Jokaiselle mittarille määritellään raja-arvot, milloin liikennevalon tulee näyttää vihreää ja milloin punaista Milloin esim. valmiusasteen tulisi olla 50% ja koska 100%? Mikä on laadun tavoitearvo? Jne. Strateginen tavoite Valmius Edistyminen Laatu ST 8 ST 1 ST 2 Readiness Progress Quality ST1 0 % 0 % 0 % ST 2 52 % 22 % 69 % ST 3 57 % 46 % 81 % ST 4 97 % 52 % 94 % ST 5 100 % 0 % 0 % ST 6 0 % 0 % 0 % ST 7 0 % 0 % 0 % ST 8 21 % 0 % 0 % ST 7 ST 6 ST 5 ST 4 ST 3 25
Strategiset tavoitteet projektisalkun hallinnassa Järjestelmäkehitys Infra-kehitys Organisaation kehittäminen Strategiset tavoitteet Liiketoiminta ST 1 Järjestelmä Projekti 1 Järjestelmä Projekti 2 Infra Projekti 1 Infra Projekti 2 Keh. Projekti 1 Keh. Projekti 2 R P Q R P Q R P Q R P Q R P Q R P Q Liiketoiminta ST 2 Liiketoimintastrategia Liiketoiminta ST 3 Liiketoiminta ST 4 Liiketoiminta ST 5 Liiketoiminta ST 6 Teknologia ST 1 Teknologia ST 2 Organisaatio Knowit Confidential ST 1 Organisaatio ST 2 26
Menetelmän hyödyt Paljastaa mahdolliset puutteet strategisten tavoitteiden siirtämisessä liiketoiminnan johdolta projekteille Konkretisoi selkeästi asetut strategiset tavoitteet tuotekehitysprojektin jäsenille Tuottaa tiivistetyn yhteenvedon strategian toimeenpanosta sekä yksittäisen projektin että projektisalkun näkökulmista On helposti toteutettavissa eikä välttämättä vaadi uusien mittausprosessien tai - välineiden käyttöönottoa Auttaa vaatimusmäärittelyn kattavuuden arvioinnissa On riippumaton yrityksen toimialasta, tuotekehitysprosessista tai kehitettävästä tuotteesta 27
Henri Grönblom henri.gronblom@knowit.fi