Laatu ohjelmistotyössä
Laatuongelmia Budjetin ylitys Aikataulun viivästyminen Bugit lopputuotteessa Sädehoitokone Asiavirheet sisällössä Ylläpito-ongelmat Dokumentointi Arkkitehtuuri Sisäiset kustannukset - kilpailukyky
Laadun määritelmiä 1/2 Deming Crosby Ishikawa Wesselius PIMS -tietokanta Oxford dictionary Asiakkaalle tärkein tuote Täyttää vaatimukset Asiakastyytyväisyys Laatu = objektiivisesti arvioitavissa oleva komponentti + subjektiivisesti arvioitavissa oleva komponentti + kokonaan arvioimattomissa oleva komponentti. Laatu: hintaa lukuun ottamatta kaikki muut ostopäätökseen vaikuttavat attribuutit Erinomaisuuden aste
Laadun määritelmiä 2/2 ISO Kauppamiehen aksiooma Weinberg Tuotteen tai palvelun kaikki piirteet ja ominaisuudet, joilla tuote tai palvelu täyttää sille asetetut tai oletettavat vaatimukset Asiakastyytyväisyys on tärkeintä. Tyytyväiset asiakkaat ostavat uudestaan ja kertovat muillekin hyvästä tuotteesta. Hyvä tuote tarkoittaa parempaa kuin kilpailijoilla. Laatu on arvoa (value) jollekin henkilölle
Laatu eri näkökulmista Johto Aikataulu Budjetti Tehokkuus Laatu Asiakas Vaatimukset Virheettömyys Aikataulu Budjetti Työntekijä Virheettömyys Speksit
Laadun erittely 1. Tuotoksen laatu - Virheettömyys (aika) - Vaatimukset - Speksit - Ylläpidettävyys - Dokumentaatio 2. Prosessin laatu - Laadukas prosessi tuottaa laatua? - Aikataulu ja budjetti - Sisäiset kustannukset resurssien kulutus 3. (Resurssilaatu) - Kehittäjien osaamisella vaikutus tekokkuuteen ja tuotteen laatuun
Laadunhallintakeinot Tuotoksen laatu Testaus Katselmoinnit/katselmukset Verifiointi ja validointi Prosessin laatu Laatujärjeselmät CMM SPICE
Katselmoinnit (review) Katselmointi Tekninen katselmointi Tarkastus Läpikäynti Katselmointi: Tarkoitus etsiä tuotoksesta virheitä lukemalla tuotosta (vrt. testaus)
V-malli Vaatimukset komponenttitestaus komponenttitestaus Katselmointi Arkkitehtuuri komponenttitestaus Katselmointi Katselmointi Komponenttisuunnittelu Katselmointi komponenttien Koodaus
Virheen suhteellinen kustannus (Boehm 1983) 40-1000X Virheen korjaamisen suhteellinen kustannus 1 3-6X 10X 15-40X 30-70X (82X IBM keskiarvo) Vaatimusmäärittely Suunnittelu Koodaus Kehitys- Testaus Hyväksymis- Testaus Käyttöönotto, Ylläpito
Tarkastus Tarkasti määritelty kokouskäytäntö katselmoinnin toteuttamiseen Fagan 1976, IBM Ei ole sama miten katselmointi toteutetaan: IBM totesi 23% tehokkuuden nousun jo ensimmäisissä kokeiluissa (Fagan 1976). Hewlet-Packardilla säästetty 25 miljoonaa dollaria (Grady & Slack 1994) Ericsonin projektissa 40 % työajasta tarkastuksiin -> 70 % parannus tuottavuudessa ja 100% testauksessa 22 % vaatimusmäärittelyssä syntyneistä virheistä jäi löytämättä, vaikka käytettiin tarkastuksia. Schneider, Martin & Tsai (1992)
Tarkastus (Gilb & Graham 1993) Tarkastuksella on johtaja, joka orgnisoi tilaisuuden Ei tuotoksen tekijä eikä esimies Ryhmän kokosuositus 3-6 henkilöä Eri roolit tärkeitä: Eri osaamisalueet Sama dokumentti näkökulmista Jaetaan dokumentti osiin Tarkastus on luonnollinen osa tuotantoprosessia, ei minkään erillisen laatuyksikön asia Vie 5-15 % työajasta
Tarkastusprosessi (1/8) Vaatimus tarkastuksen järjestämisestä Aloitus Suunnittelu Käynnistyskokous Itsenäinen tarkastus Kirjauspalaveri Korjaus ja seuranta Lopetus
Vaatimus tarkastuksen järjestämisestä Tuotoksen tekijä esittää vaatimuksen tarkastuksen järjestämisestä, kun hänen mieleestään esiehdot on täytetty Tarkastuksen tulisi olla vapaaehtoista?!? Valitaan tarkastuksen johtaja Tuotos tarkastuksen johtajalle
Tarkastusprosessi (2/8) Vaatimus tarkastuksen järjestämisestä Aloitus Suunnittelu Käynnistyskokous Itsenäinen tarkastus Kirjauspalaveri Korjaus ja seuranta Lopetus
Aloitus Tarkastuksen johtaja käy läpi aloituskriteerit Jos aloituskriteerejä ei ole täytetty, on turha tuhlata tarkastajien aikaa Aloituskriteerit yleisiä nopeasti tarkastettavia, esim. Dokumentiontiohjeita noudatettu Kaikki vaadittu tehty Voidaanko käytännössä peruuttaa? > aloitukriteerit käytännössä ehkä tekijää varten
Tarkastusprosessi (3/8) Vaatimus tarkastuksen järjestämisestä Aloitus Suunnittelu Käynnistyskokous Itsenäinen tarkastus Kirjauspalaveri Korjaus ja seuranta Lopetus
Suunnittelu Tarkastuksen johtaja suunnittelee tarkastuksen läpiviennin Useampi kierros? Tarkastajien valinta ja roolitus Aikataulu, tilavaraukset Materiaalin jakelu tarkastajille
Tarkastusprosessi (4/8) Vaatimus tarkastuksen järjestämisestä Aloitus Suunnittelu Käynnistyskokous Itsenäinen tarkastus Kirjauspalaveri Korjaus ja seuranta Lopetus
Käynnistyskokous Ei välttämättä järjestetä voidaan ohjeistaa tarkastajat muulla tavalla Tarkastajien koulutusta ja motivointia varten Varmistetaan, että jokainen tietä roolinsa Tuotoksen tekijä voi esitellä tuotosta, jotta tarkastajat pääsevät siihen helpommin sisälle
Tarkastusprosessi (5/8) Vaatimus tarkastuksen järjestämisestä Aloitus Suunnittelu Käynnistyskokous Itsenäinen tarkastus Kirjauspalaveri Korjaus ja seuranta Lopetus
Itsenäinen tarkastus Tarkastajat etsivät itsenäisesti tuotoksista virheitä Ilman tätä vaihetta on mahdollista, että löydetään vain 10% virheistä verrattuna hyvin toteutettuun tarkastukseen. (Gilb & Graham 1993) Tarkastaja käy dokumentin läpi tarkistuslistan avulla ja kirjaa löytämänsä virheet ylös
Tarkastusprosessi (6/8) Vaatimus tarkastuksen järjestämisestä Aloitus Suunnittelu Käynnistyskokous Itsenäinen tarkastus Kirjauspalaveri Korjaus ja seuranta Lopetus
Kolme tarkoitusta Kirjauspalaveri Kirjataan ylös kaikki mahdolliset virheet, jotka on havaittu itsenäisessä tutustumisessa Suoritetaan tarkastus ryhmässä, jotta voidaan löytää ja kirjata ylös vielä uusia virheitä Kirjataan ylös tarkastettavaan tuotokseen liittyviä kehitysehdotuksia ja kysymyksiä tuotoksen tekijälle Lisäksi voidaan kerätä erikseen prosessinkehitysehdotuksia
Kirjauspalaveri Aivoriihimäinen, suositaan vapaata ajatuksenjuoksua Rajoitetaan keskustelua, ettei kaikki aika kulu siihen Parannusehdotuksia ja kysymyksiä saa esittää, mutta ne ainoastan kirjataan ylös Ratkaisujen pohdinta jätetään korjaajalle Maksimiaika 2 tuntia -> tarkastuksen johtajalla tärkeä rooli ohjata ajankäyttöä oleellisiin asioihin Tuloksena lista virheistä, prannusehdotuksista ja kysymyksistä
Kirjauspalaverin huoneentaulu (Haikala & Märijärvi 2001) Puheenjohtaja: Hillitse selittelyä Huolehdi aikataulussa pysymisestä Estä rönsyily ja liika ideointi Tekijä Älä selittele Alä tuo keskeneräistä tuotetta Kaikki osallistujat Valmistaudu huolellisesti Ole ystävällinen, varo loukkaamasta tekijää Pysyttele teknisissä asioissa arvioi tuotosta, älä tekijää Anna myös positiivisia kommentteja Osoita ongelmat, älä esitä korjausehdotuksia Anna korjaukset pikkuvirheisiin kirjallisesti Tee kysymyksiä
Tarkastusprosessi (7/8) Vaatimus tarkastuksen järjestämisestä Aloitus Suunnittelu Käynnistyskokous Itsenäinen tarkastus Kirjauspalaveri Korjaus ja seuranta Lopetus
Korjaus ja seuranta Korjaaja (tuotoksen tekijä?) käy kirjauspalaverissa luodun listan läpi Virheiden luokittelu ja lopullinen kirjaus Virheiden korjaus Tarvittaessa korjauspyyntö lähdedokumenttiin Kolme tapaa edetä: Uusi tarkastus Tarkastuksen johtaja hyväksyy korjaukset Korjaaja vahvistaa itse korjaukset tehdyksi
Tarkastusprosessi (8/8) Vaatimus tarkastuksen järjestämisestä Aloitus Suunnittelu Käynnistyskokous Itsenäinen tarkastus Kirjauspalaveri Korjaus ja seuranta Lopetus
Lopetus Tarkastuksen johtaja tarkistaa lopetuskriteerit Kriteerejä esim. Kaikki vaaditut dokumentit tehty Vaaditut korjaukset tehty Yleinen hyväksyttävä virhetaso saavutettu
Tarkastuksen merkitys organisaatiolle (Gilb 2000) 1/3 1. Prosessin läpimenoajan lyhentäminen 2. Dokumentin laadun mittaaminen 3. Dokumentteja tuottavan prosessin laadun mittaaminen 4. Jäljellä olevien virheiden määrän arvioinnin mahdollistaminen 5. Virheiden tunnistaminen (ennaltaehkäisy) 6. Virheiden poistaminen 7. Ylimääräisten prosessin loppuvaiheen virheiden ennaltaehkäisy poistamalla olemassa olevat virheet
Tarkastuksen merkitys organisaatiolle 2/3 8. Dokumentteja tuottavan prosessin kehittäminen 9. Tarkastusprosessin kehittäminen 10. Katselmoijien työn kautta oppiminen 11. Tiimin johtajan koulutus 12. Tiimin johtajan sertifiointi 13. Työntekijöiden motivointi 14. Johtajien motivointi 15. Tuotoksen tekijän auttaminen
Tarkastuksen merkitys organisaatiolle 2/3 16. Standardoitumisen vahvistuminen 17. Asiantuntijatiedon kerääminen ja uudelleenkäyttö 18. Kustannuksien pienentyminen 19. Tiimin rakennus 20. Se on hauskaa sosiaalinen tapahtuma
Yhteenveto tarkastuksen merkityksestä Ei käytetä tarkastusta ainoastaan virheiden karsimiseen, vaan lisäksi ainakin: Koulutukseen Prosessin kehittämiseen Virheiden ennalta ehkäisyyn Tarkastuksia voidaan käyttää myös laadun mittaamiseen
Tarkastuksen ongelmat Vaatii paljon resursseja varsinkin pienissä projekteissa ei voida toteuttaa kovin oikeaoppisesti. Kannattavuutta on vaikea mitata ja siksi myös vaikea perustella kehitettäessä. -> kehitettävä pikkuhiljaa pitkäkestoisena projektina Vaatii, että moni ihminen on samaan aikaan samassa paikassa
Virtuaalinen tarkastus Pidetään tarkastusprosessi suunnilleen samanlaisena, mutta ei vaadi henkilökohtaista kontaktia Kirjauspalaveri siirretään verkkoon esim. wwwpohjaisen työkalun avulla. Toiminnalle on kuitenkin selkeät ohjeet ja tiukasti määritelty aikataulu Palaveri voidaan pitää verkon välityksellä samaan aikaan tai osallistujat voivat antaa omat kommenttinsa vapaasti jonkin tietyn ajanjakson sisällä.
Tarkastusprosessi laajemmin Prosessin kehitys Organisaatiotaso Katselmointiprosessin määritys, muutos määrityksiin Organisointi Katselmointien kehitys Koulutus Katselmoinneissa kerätystä tiedosta muodostetut metriikat kehitysehdotukset Resurssien allokointi Katselmointien vetäjät Mahdolliset tarkastajat Toteutus Katselmoinnista kerätty tieto (käytetty aika, löytyneet virheet ym.) Ohjeiden tuki prosessille Työkalun tuki prosessille Tieto Ohjeet ja muu tukimateriaali Työkaluohjelmisto Tietämyskanta