28.10.2014 Views

Tarkastukset ja katselmoinnit laadunhallinnassa (pdf) - Joensuu

Tarkastukset ja katselmoinnit laadunhallinnassa (pdf) - Joensuu

Tarkastukset ja katselmoinnit laadunhallinnassa (pdf) - Joensuu

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Tarkastusmenettelyt <strong>ja</strong><br />

katselmukset<br />

tSoft<br />

Vesa Tenhunen<br />

4.2.2004<br />

http://cs.joensuu.fi/tSoft/<br />

Johdanto<br />

■ Yksi tärkeimmistä tekijöistä laadukkaiden ohjelmistojen<br />

tuottamisessa on puutteiden aikainen havaitseminen<br />

● vaatimusmäärittelyssä olleen puutteen kor<strong>ja</strong>aminen valmiista<br />

tuotteesta on n. 50 kertaa kalliimpaa kuin kor<strong>ja</strong>aminen heti<br />

määrittelyvaiheessa<br />

■ Puutteiden aikaisen havaitsemisen on <strong>ja</strong>tkuttava koko<br />

ohjelmiston elinkaaren a<strong>ja</strong>n<br />

■ <strong>Tarkastukset</strong> <strong>ja</strong> <strong>katselmoinnit</strong> ovat - oikein käytettynä -<br />

tehokkaita tapo<strong>ja</strong> puutteiden havaitsemiseen<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 2


Tarkastusmenettelyt<br />

■ Varsinaiset tarkastusmenettelyt ovat enemmän tai<br />

vähemmän formaale<strong>ja</strong> menettelyjä, joissa yksi tai useampi<br />

vertaistarkasta<strong>ja</strong> perehtyy tulokseen<br />

■ Tarkastusmenettelyillä on useita tavoitteita:<br />

1. löytää puutteet<br />

2. varmistua siitä, että kaikki ymmärtävät asiat samoin<br />

3. <strong>ja</strong>kaa tietoa muille samanlaista työtä tekeville<br />

4. todentaa, että työ on ennalta asetettujen vaatimusten mukainen<br />

5. antaa muodollinen päätös työvaiheelle<br />

6. tuottaa (mitattavissa olevaa) tietoa tuloksesta<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 3<br />

Erilaisia tarkastusmenettelyjä<br />

■ Tarkastusmenettelyjen mahdollisia laje<strong>ja</strong> ovat<br />

● Tarkastus (inspection)<br />

◆ muodollinen prosessi, jossa osallistujilla tietyt roolit, käytetään<br />

tarkastuslisto<strong>ja</strong> <strong>ja</strong> pidetään pöytäkir<strong>ja</strong>a<br />

● (Tekninen) katselmus ((technical) review)<br />

◆ epämuodollisempi prosessi<br />

● Hallinnollinen katselmus (administrative review)<br />

◆ hallinnollisen asiakir<strong>ja</strong>n katselmus, jossa ei etsitä virheitä vaan pohditaan<br />

ongelmia <strong>ja</strong> niihin ratkaisu<strong>ja</strong><br />

● Läpikäynti (walkthrough)<br />

◆ epämuodollisin prosessi, jossa pääpaino on tarkastettavan materiaalin<br />

läpikäynnillä<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 4


Läpikäynti<br />

■ Tarkoitus: puutteiden havaitseminen, vaihtoehtojen<br />

miettiminen, oppiminen<br />

■ Suositeltava osallistu<strong>ja</strong>määrä: 2-7<br />

■ Päätöksenteko: tekijä<br />

■ Tiedon keruu: ei välttämätöntä<br />

■ Raportointi: läpikäyntiraportti<br />

■ Tietokanta: ei välttämätöntä<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 5<br />

Hallinnollinen katselmus<br />

■ Tarkoitus: etenemisen varmistus, kor<strong>ja</strong>avien toimintojen<br />

suosittelu, resurssien allokoinnin varmistus<br />

■ Suositeltava osallistu<strong>ja</strong>määrä: kaksi tai enemmän<br />

■ Päätöksenteko: johtoryhmä kartoittaa toimintatavat,<br />

päätökset tehdään kokouksessa tai suositusten perusteella<br />

■ Tiedon keruu: käytäntöjen, standardien tai suunnitelmien<br />

mukaisesti<br />

■ Raportointi: hallinnollisen katselmuksen raportti<br />

■ Tietokanta: aikataulumuutokset vietävä projektin<br />

seurantatietokantaan<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 6


(Tekninen) katselmus<br />

■ Tarkoitus: varmistetaan määritysten <strong>ja</strong> suunnitelmien<br />

noudattaminen, varmistetaan muutosten eheys<br />

■ Suositeltava osallistu<strong>ja</strong>määrä: kolme tai enemmän<br />

■ Päätöksenteko: katselmuksen tekijät jättävät suosituksensa<br />

teknisestä toteutuksesta vastaavalle<br />

■ Tiedon keruu: ei välttämätöntä<br />

■ Raportointi: katselmusraportti<br />

■ Tietokanta: ei välttämätöntä<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 7<br />

Tarkastus<br />

■ Tarkoitus: puutteiden havaitseminen <strong>ja</strong> tunnistaminen<br />

■ Suositeltava osallistu<strong>ja</strong>määrä: 3-6<br />

■ Päätöksenteko: ennalta asetettu: puutteet on poistettava<br />

■ Tiedon keruu: pakollista<br />

■ Raportointi: lista puutteista <strong>ja</strong> niiden yhteenveto,<br />

tarkastusraportti<br />

■ Tietokanta: puutteiden määrä, laatu <strong>ja</strong> vakavuus sekä<br />

tarkastustilaisuuden tiedot<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 8


Roolit<br />

■ Muodollisimmassa versiossa tarkastusmenettelyyn<br />

osallistuvilla henkilöillä on seuraavat roolit:<br />

● Valvo<strong>ja</strong><br />

◆ huolehtii tarkastusprosessin sujumisesta<br />

● Tekijät<br />

◆ tarkastettavan työn tehneet henkilöt<br />

● Tarkasta<strong>ja</strong>t<br />

◆ etsivät virheitä<br />

● Luki<strong>ja</strong><br />

◆ käy tarkastustilaisuudessa läpi tarkastettavan työn<br />

● Kirjuri<br />

◆ pitää tarkastustilaisuudessa pöytäkir<strong>ja</strong>a <strong>ja</strong> kerää tiedot<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 9<br />

Vaiheet<br />

■ tarkastusmenettely koostuu (vähintään) kolmesta vaiheesta:<br />

1. valmistelu<br />

2. tarkastustilaisuus<br />

3. jälkihoito<br />

jotka voidaan tarvittaessa <strong>ja</strong>kaa vielä tarkempiin osavaiheisiin<br />

●<br />

valmistelu<br />

tarkastus<br />

●<br />

aloitus-<br />

●kokous<br />

tutustuminen<br />

tarkastustilaisuus<br />

kor<strong>ja</strong>us<br />

■ Kullekin vaiheelle on varattava riittävästi aikaa<br />

jälkihoito<br />

seuranta<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 10


Esimerkki: kevyt katselmus<br />

■ Kaksi henkilöä: tekijä <strong>ja</strong> tarkasta<strong>ja</strong><br />

■ Koodin läpikäynti<br />

■ Valmistelu:<br />

● tekijä toteaa kirjoittamansa koodin valmiiksi<br />

● tekijä lähettää työn kollegalleen tarkastettavaksi<br />

● tarkasta<strong>ja</strong> käy koodin läpi, kir<strong>ja</strong>a ylös puutteet <strong>ja</strong> lähettää tiedot<br />

tekijälle<br />

■ Jälkihoito:<br />

● tekijä käy läpi tarkasta<strong>ja</strong>n merkinnät <strong>ja</strong> tekee tarvittavat kor<strong>ja</strong>ukset<br />

● jos virheitä oli paljon, tekijä lähettää työn uudelle<br />

tarkastuskierrokselle<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 11<br />

Esimerkki: kevyt katselmus<br />

tarkastettava<br />

dokumentti<br />

Tarkastus<br />

Jälkihoito<br />

lopullinen<br />

dokumentti<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 12


Esimerkki: muodollinen tarkastus<br />

■ Viisi henkilöä: valvo<strong>ja</strong>, kirjuri, tekijä, luki<strong>ja</strong> <strong>ja</strong> kaksi<br />

tarkasta<strong>ja</strong>a<br />

■ Vaatimusmäärittelydokumentin tarkastus<br />

■ Valmistelu:<br />

● tekijä <strong>ja</strong> hänen esimiehensä päättävät, että tulos on valmis<br />

tarkastettavaksi, sopivat tarkastuksen tavoitteista <strong>ja</strong> tarvittaessa<br />

<strong>ja</strong>kavat tavoitteet tarkastajien kesken<br />

● määrätään osallistu<strong>ja</strong>t; tekijän tulee hyväksyä valvo<strong>ja</strong>n valinta;<br />

valvo<strong>ja</strong> valitsee muut<br />

● valmistellaan tarvittavat materiaalit (vaatimusmäärittely, työn<br />

määrittelevät dokumentit, noudatetut ohjeistot, tarkastuslomakkeet)<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 13<br />

Esimerkki: muodollinen tarkastus<br />

● pidetään aloituskokous, jossa valvo<strong>ja</strong> kuvaa lyhyesti tarkastuksen<br />

kohteen <strong>ja</strong> tavoitteet sekä <strong>ja</strong>kaa materiaalin<br />

● kukin tarkasta<strong>ja</strong> käy itsekseen läpi materiaalin <strong>ja</strong> kir<strong>ja</strong>a<br />

käyttämänsä a<strong>ja</strong>n sekä havaitsemansa virheet <strong>ja</strong> epäselvyydet <strong>ja</strong><br />

toimittaa nämä tiedot valvo<strong>ja</strong>lle, joka toimittaa kopiot edelleen<br />

tekijälle<br />

● tekijä perehtyy tarkastajien huomautuksiin <strong>ja</strong> valmistelee niihin<br />

vastaukset<br />

● kokemus on osoittanut, että noin 3/4 virheistä löytyy valmistelun<br />

aikana<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 14


Esimerkki: muodollinen tarkastus<br />

■ Tarkastustilaisuus:<br />

● valvo<strong>ja</strong> varmistaa, että kaikki tarkasta<strong>ja</strong>t ovat jättäneet raporttinsa<br />

<strong>ja</strong> tekijä on valmistellut vastauksena; jos valmistelu on<br />

puutteellista, tarkastustilaisuus on siirrettävä myöhemmäksi<br />

● toinen tarkastajista käy luki<strong>ja</strong>na läpi tarkastettavaa työtä<br />

● tarkasta<strong>ja</strong>t esittävät huomionsa kohteliaasti, keskittyvät työhön,<br />

välttävät tyylikysymysten käsittelyä (paitsi silloin kun tyyli on<br />

ohjeistettu) <strong>ja</strong> antavat kiitosta hyvistä kohdista<br />

● tekijä selittää, onko kyse virheistä vai ei <strong>ja</strong> tarvittaessa pyytää<br />

tarkastajilta lisäselvityksiä<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 15<br />

Esimerkki: muodollinen tarkastus<br />

● kirjuri kir<strong>ja</strong>a virheistä paikan, lyhyen kuvauksen <strong>ja</strong> virheen luokan<br />

sekä virheen syyn, jos se on helposti nähtävissä<br />

● käydään läpi mahdolliset muut sekavuutta tai huolta aiheuttavat<br />

kohdat<br />

● koko a<strong>ja</strong>n valvo<strong>ja</strong> pitää huolen siitä, että virheitä vain etsitään <strong>ja</strong><br />

paikannetaan, mutta niitä ei ryhdytä kor<strong>ja</strong>amaan<br />

● lopuksi valvo<strong>ja</strong> päättää tarvitaanko uusintatarkastus vai ei; syitä<br />

esim.<br />

◆ tarkastusprosessi poikkeaa normaalista: liian vähän/paljon aikaa tai<br />

löydettyjä virheitä työn laajuuteen nähden<br />

◆ löydettyjen virheiden <strong>ja</strong>kauma poikkeava: paljon pieniä <strong>ja</strong> vähän iso<strong>ja</strong>, liikaa<br />

iso<strong>ja</strong><br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 16


Esimerkki: muodollinen tarkastus<br />

◆ laatua on syytä epäillä: enemmän virheitä kuin mitä laatusuunnitelma sallii,<br />

virheitä löytyy <strong>ja</strong>tkuvasti uusintatarkastuksissakin<br />

◆ joku osallistujista pyytää uusintatarkastusta<br />

● mikäli löytyy paljon pieniä virheitä, kannattaa tarkastus keskeyttää<br />

koska muuten suuret ongelmat jäävät helposti huomaamatta<br />

■ Jälkihoito:<br />

● kirjuri viimeistelee pöytäkir<strong>ja</strong>n, toimittaa siitä kopiot osallistujille <strong>ja</strong><br />

vie tarvittavat tiedot laatutietokantaan<br />

● tekijä kor<strong>ja</strong>a havaitut virheet <strong>ja</strong> puutteet <strong>ja</strong> käy kor<strong>ja</strong>ukset läpi<br />

valvo<strong>ja</strong>n kanssa<br />

● valvo<strong>ja</strong> päättää, tarvitaanko uusintatarkastusta<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 17<br />

Esimerkki: muodollinen tarkastus<br />

tarkastettava<br />

dokumentti<br />

Valmistelu<br />

Tarkastus<br />

Huomautusten läpikäynti<br />

Tarkastustilaisuus<br />

Kor<strong>ja</strong>usten teko<br />

Seuranta<br />

lopullinen<br />

dokumentti<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 18


Roolien vaatimukset<br />

■ Muodollisimman version tarkastusmenettelyssä eri rooleissa<br />

olevilta vaaditaan tiettyjä ominaisuuksia:<br />

● Valvo<strong>ja</strong><br />

◆ ei ole tarkastettavan työn esimies<br />

◆ ymmärtää käsiteltävän aiheen<br />

◆ pätevä ihmissuhteiden hoita<strong>ja</strong><br />

● Tekijät<br />

◆ kaikkien tekijöiden on osallistuttava<br />

● Tarkasta<strong>ja</strong>t<br />

◆ yleensä teknisessä mielessä tekijöiden tasoisia<br />

◆ yleensä suoranaisessa tekemisessä tarkastettavan työn kanssa<br />

◆ elinkaaren vaiheesta riippuen myös asiakkaan edusta<strong>ja</strong> mukana<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 19<br />

Roolit<br />

● Luki<strong>ja</strong><br />

◆ voi olla yksi tarkastajista<br />

◆ on hyvin perillä tarkastettavasta työstä<br />

● Kirjuri<br />

◆ ymmärtää käytettävän käsitteistön<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 20


Huomioitavaa<br />

■ Virheiden löytymisprosentin arviointimenetelmiä:<br />

● capture-recapture: mitä suurempi osa tarkastuksessa löydetyistä<br />

virheistä on kaikkien tarkastajien löytämiä, sitä suurempi osa<br />

kaikista on löydetty<br />

● historiaan perustuva: kukin tarkasta<strong>ja</strong> löytää useimmiten suurin<br />

piirtein saman prosenttiosuuden kaikista<br />

■ Tarkastusmenettelyjen valinta <strong>ja</strong> niiden soveltamisen laajuus<br />

riippuu projektin suuruudesta <strong>ja</strong> siitä, mitä projektissa<br />

tehdään<br />

■ <strong>Tarkastukset</strong> eivät korvaa testausta, vaan täydentävät sitä<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 21<br />

Lisää huomioitavaa<br />

■ Muodollinen tarkastus vaatii keskittymistä<br />

● tarkastustilaisuuden kesto enintään kaksi tuntia<br />

● tarkastettavan työn pituus ra<strong>ja</strong>ttava, esim. koodia korkeintaan 500<br />

riviä<br />

● kullekin osallistu<strong>ja</strong>lle vain yksi tarkastus päivässä<br />

■ Tiedon keruuta <strong>ja</strong> raportointia on syytä helpottaa kaikin<br />

keinoin<br />

● kannattaa automatisoida mahdollisimman pitkälle<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 22


Vielä lisää huomioitavaa<br />

■ Tarkastusmenettelyt ovat varsin kustannustehokkaita<br />

■ Tehokkuus riippuu käytetystä a<strong>ja</strong>sta <strong>ja</strong> työmäärästä<br />

● tarkastukset vaativat aikaa; jos siitä tingitään, hyöty jää vähäiseksi<br />

■ Tarkastuksien tehokkuus paranee osallistujien kokemuksen<br />

myötä<br />

■ Tehokkuus kuitenkin laskee, jos aikaa tai työmäärää<br />

käytetään yli optimimäärän<br />

● optimi riippuu sekä tuotteesta että tarkastajien taidoista <strong>ja</strong><br />

kokemuksesta<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 23<br />

Tarkastusten käyttöönotto<br />

■ AT&T Bell Labsin esimerkki:<br />

1. Valitse aloittamista varten yksi avainprojekti<br />

2. Esittele tarkastusmenettelyjen idea johdolle <strong>ja</strong> valituille<br />

henkilöstön edustajille<br />

3. Muodosta työryhmä yhden tai kahden projektin jäsenen<br />

kanssa<br />

● kartoita koulutusvaatimukset<br />

● luo tarvittavat lomakkeet <strong>ja</strong> toimintatavat<br />

● laadi aloitussuunnitelma<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 24


Tarkastusten käyttöönotto<br />

4. Toteuta 2-3 päivän valvo<strong>ja</strong>koulutus (jos koulutettu<strong>ja</strong> valvojia<br />

ei ole käytettävissä)<br />

5. Toteuta kahden päivän työpa<strong>ja</strong> suunnittelijoille<br />

● metodien esittely<br />

● muutosvastarinnan murtaminen<br />

6. Pidetään johdon seminaari, kun tarkastuksia on tehty<br />

muutaman kuukauden a<strong>ja</strong>n<br />

● tulosten tarkasteleminen<br />

● johdon <strong>ja</strong>tkuvan tuen turvaaminen<br />

7. Tarkastusohjelmaa arvioidaan säännöllisesti<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 25<br />

Yhteenveto<br />

■ Tarkastusmenettelyjen tarkoitus on parantaa<br />

ohjelmistotuotteiden laatua auttamalla suunnittelijoita<br />

löytämään <strong>ja</strong> kor<strong>ja</strong>amaan niiden puutteita<br />

■ <strong>Tarkastukset</strong> ovat varsin tehokkaita, joten niitä kannattaa<br />

käyttää ainakin tärkeimmissä prosesseissa kuten<br />

● määrittelyssä<br />

● suunnittelussa<br />

● toteutuksessa<br />

● testauksessa<br />

● ylläpidossa<br />

● dokumentoinnissa<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 26


Yhteenveto<br />

■ Tarkastusmenettelyjen perustavoitteina on<br />

● mahdollisimman varhainen puutteiden löytäminen<br />

● tekijöiden yhteisymmärryksen varmistaminen<br />

● varmistaa, että tuote on asetettujen kriteerien mukainen<br />

● työvaiheen muodollinen päättäminen<br />

● tuottaa tietoa tuotteesta sekä itse tarkastusmenettelyistä<br />

■ <strong>Tarkastukset</strong> täydentävät testausta<br />

■ Tarkastuksista ei ole hyötyä, jos niihin ei käytetä riittävästi<br />

aikaa <strong>ja</strong> työpanosta<br />

http://cs.joensuu.fi/tSoft/ 4.2.2004 27

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!