7. 7.1. Johdanto Tämä luku perustuu kirjaan C. Wohlin et al., Experimentation in Software Engineering, An Introduction, Kluwer Academic Publishers, 2000. ISBN 0-7923-8682-5. Tähän asti olemme käsitelleet empiirisen ohjelmistotutkimuksen lakeja, mutta 1. luvun esittelyn lisäksi emme ole ottaneet kantaa, miten näitä lakeja pitäisi validoida. Tämän luvun tarkoituksena on antaa lyhyt johdatus lakien validointiin: eot:n tekoon. 1 Ohjelmistotekniikka on hyvin laaja tietojenkäsittelytieteen osa-alue. Se lähes kaikkea mahdollista alkaen hyvin teknisistä asioista, kuten tietokannat ja päättyen hyvin ihmisläheisiin asioihin, kuten projektinhallinnan henkilöhallinta. Tästä huolimatta kaikkea ohjelmistotekniikkaa pitää tutkia, ei pelkästään helposti formuloitavia kysymyksiä. 2 Ohjelmistotekniikan tutkimusmenetelmät Voidaksemme tehdä tutkimusta, meidän on tiedettävä mitä menetelmiä on tarjolla, milloin menetelmiä voidaan käyttää ja mitä rajoituksia menetelmillä on. Tietojenkäsittelytieteen ns. kovat tutkimusmenetelmät sopivat joihinkin ohjelmistotekniikan alueisiin, mutta myös pehmeitä menetelmiä tarvitaan. 3 Ohjelmistotekniikan tutkimusmenetelmät 2 Basili (1993) ja Glass (1994) ovat esittäneet neljä ohjelmistotekniikan tutkimusmenetelmää: Järjestelmällinen menetelmä (scientific method) Insinöörimenetelmä (engineering method) Empiirinen menetelmä (empirical method) Analyyttinen menetelmä (analythical method) 4 Järjestelmällinen menetelmä Järjestelmällisessä menetelmässä rakennetaan havaintoihin perustuva (rakennus)malli tutkittavasta kohteesta. Mallin avulla tutkittavasta kohteesta selvitetään sen ominaisuuksia. Malli voi olla esimerkiksi simulaattori. Järjestelmällistä menetelmää käytetään mm. tietoliikenneverkkosimulaattoreissa Insinöörimenetelmä Insinöörimenetelmässä nykyjärjestelmistä saatujen tulosten perusteella esitetään järjestelmien parannusehdotuksia. Sovittujen parannusten vaikutukset evaluoidaan järjestelmistä. Insinöörimenetelmä on yleisin ohjelmistotutkimuksen menetelmä. Ns. best practices ovat insinöörimenetelmää 5 6 1
Empiirinen menetelmä Analyyttinen menetelmä Empiirisessä menetelmässä rakennetaan malli (hypoteesi), joka evaluoidaan empiirisesti, kuten tapaustutkimuksilla tai ohjatuilla kokeilla. Empiiristä menetelmää käytetään sosiaalitieteissä ja psykologiassa - ja tietenkin tällä kurssilla. 7 Analyyttisessa menetelmässä tutkittavasta asiasta esitetään formaali teoria, matemaattinen malli, jota verrataan havaintoihin. Analyyttinen menetelmä on laskennallisen tietojenkäsittelytieteen menetelmä. Ohjelmistotekniikassa sitä käytetään esim. lasilaatikkotestaustutkimuksessa. 8 Menetelmien käyttö 7.2. Empiiriset menetelmät Vaikka tämä kurssi käsittelee empiiristä menetelmää, myös muille menetelmille on käyttöä ohjelmistotekniikassa. Menetelmät eivät myöskään ole toisiaan poissulkevia. Samassa tutkimuksessa voidaan käyttää montaa menetelmää. Joskus sama tulos voidaan validoida usealla menetelmällä. Esim. jotkut lait on validoitu myös insinöörimenetelmällä 9 Empiirinen tutkimus on joko kvalitatiivista (qualitative) tai kvantitatiivista (quantitative). Kvalitatiivinen tutkimus pyrkii tulkitsemaan ilmiön merkityksen saamiensa kuvausten/selitysten avulla. Tutkimuksessa hyväksytään, että ilmiö voidaan tulkita monella tavalla. Jokainen perusteltu tulkinta voi olla oikea. 10 Kvantitatiivinen tutkimus Kvantitatiivinen tutkimus pyrkii kuvaamaan jonkin suhteen numeroina tai vertaamaan kahta tai useampaa ryhmää. Tutkimuksessa pyritään löytämään syyseuraussuhde ilmiölle ja sen selitykselle. Kvalitatiivista tutkimusta pidetään yleensä oikeana empiirisenä tutkimuksena, sillä vain siinä voidaan käyttää tilastollisia menetelmiä analyysin apuna. 11 Kvalitatiivinen ja kvantitatiivinen tutkimus Kvalitatiivinen ja kvantitatiivinen tutkimus eivät ole toisiaan poissulkevia. Niillä tutkitaan eri asioita. Kvantitatiivinen tutkimus pyrkii selittämään, mitä vaikutusta tutkittavalla ilmiöllä on. Kvalitatiivinen tutkimus pyrkii selittämään, miksi vaikutus on sellainen kuin se on. Menetelmiä voidaan käyttää rinnakkain. Kvantitatiivisella tutkimuksella saadaan lukuarvoja, kvalitatiivisella selitysehdotus. 12 2
Menetelmätyypit Menetelmätyypit ja tutkimustyypit Empiiriset menetelmätyypit on käsitelty 1. luvussa havainnoinnin yhteydessä: (Projektissa voidaan kerätä mittaustietoja.) Kyselytutkimuksella (survey) selvitetään tietyn populaation käytöstä. Tapaustutkimuksessa (case study) projektia tarkkaillaan ulkopuolelta. Ohjatussa kokeessa ([field] experiment) selvitetään ohjatusti syy-seuraussuhdetta. Strategia Kyselytutkimus Tapaustutkimus Ohjattu koe Kvalitatiivinen / kvantitatiivinen Molemmat Molemmat Kvantitatiivinen Ohjatut kokeet ovat puhtaasti kvantitatiivisia, sillä niissä mitataan muuttujien arvoja. Muut tyypit voivat olla joko kvalitatiivisia tai kvantitatiivisia. 13 14 Kyselytutkimus Kyselytutkimuksen teko Kyselytutkimukset ovat helpoin eot:n tutkimustapa. Niillä selvitetään pääasiassa subjektiivisia mielipiteitä. Tavoitteena kyselytutkimuksella on valita otoksella vastaajat ja myöhemmin yleistää tulos laajempaan populaatioon. Kyselytutkimukset ovat suosittuja selvitettäessä ison populaation suhtautumista johonkin asiaan. 15 Kyselytutkimus tehdään seuraavissa vaiheissa: 1. Selvitetään, mitä populaation ominaisuutta halutaan evaluoida. 2. Valitaan otos populaation jäsenistä. 3. Kehitetään aihetta käsittelevä kyselylomake, jonka otokseen valitut täyttävät. Lomakkeen kysymykset liittyvät suoraan haluttuun evaluointiin. 16 Kyselytutkimuksen teko 2 Kyselytutkimuksen ominaisuuksia 4. Annetaan otokseen valittujen vastata kyselyyn haastatteluna ja/tai täyttämällä kyselylomake. 5. Kerätään kyselystä saadut tiedot ja analysoidaan ne sopivin tilastollisin menetelmin. 6. Kootaan tulokset ja esitellään ne. Kyselytutkimus antaa onnistuessaan tilannekatsauksen nykytilanteesta. 17 Kyselytutkimus kohdistuu lähes aina populaation otokseen. Tuloksia pyritään yleistämään koko populaatioon. Kyselyillä saadaan kerättyä paljon tietoa, mutta hyvä kysely pyrkii minimoimaan kerättävän tiedon määrän. Kysymysten laatu ratkaisee, ei määrä! Yhdellä kyselyllä voidaan tutkia useita keskenään sukua olevia asioita. 18 3
Kyselytutkimusten tavoite Kyselytutkimusten tavoite on jokin kolmesta vaihtoehdosta: Kuvaava tavoite: pyritään selvittämään otoksella jonkin ilmiön yleinen jakauma. Selittävä tavoite: pyritään antamaan selitys jollekin populaation ominaisuudelle. Tutkiva tavoite: käytetään kyselytutkimusta esitutkimuksena aihetta syvällisemmin luotaavalle tutkimukselle. Tapaustutkimus Tapaustutkimuksessa tarkkaillaan yksittäistä kohdetta tai ilmiötä valitun aikajakson yli. Aikajakson aikana tapaustutkimuksen tekijä kerää kohteesta tai ilmiöstä yksityiskohtaista tietoa. Tietojen keruussa pyritään häiritsemään kohdetta mahdollisimman vähän. 19 20 Tapaustutkimusten piirteitä Vertaava tapaustutkimus Tapaustutkimusten hyvä puoli on niiden suunnittelun ja toteutuksen helppous. Tutkimukseen osallistujien ei tarvitse valmistautua. Riittää, että kukin toimii tavalliseen tapaan. Tapaustutkimusten huono puoli on tulosten kehno skaalautuvuus. Tuloksia on vaikea yleistää, sillä tapaustutkimuksista puuttuu ohjaus. 21 Tapaustutkimus voidaan tehdä vertaavana, jossa tutkittavaa ilmiötä verrataan ennalta määrättyyn vertailukohtaan (baseline). Vertailukohta vastaa tutkimuksessa nollatilaa. Esimerkiksi uuden ohjelmointikielen hyvyyttä tutkittaessa vertailukohta voisi olla sopiva vanhalla kielellä tehty ohjelmisto. 22 Vertaava tapaustutkimus 2 Keräävä tapaustutkimus Vertaava tapaustutkimus muistuttaa ohjattua koetta, sillä molemmissa on testattava ryhmä ja verrokkiryhmä (vertailukohta). Erona on valvonta ja tutkittavat muuttujat. Tapaustutkimuksia ei valvota, ja niiden muuttujien arvoja ei voida juurikaan asettaa etukäteen. 23 Tapaustutkimus voi olla myös keräävä. Tällöin mitataan useaa samankaltaista ilmiötä, ja pyritään mittausten avulla vetämään johtopäätöksiä myös vastaaviin tarkkailemattomiin ilmiöihin. Siinä missä vertaava tapaustutkimus muistuttaa ohjattua koetta, keräävä tapaustutkimus muistuttaa kyselytutkimusta. 24 4
Tapaustutkimuksen etuja Tapaustutkimuksen haittoja Tapaustutkimuksen etuja: Tutkimuksilla voidaan tutkia todellisia projekteja todellisissa ympäristöissä. Tutkimukset voivat olla mittakaavaltaan huomattavasti ohjattuja kokeita suurempia. Koska tutkimuksia ei valvota, niissä voi sattua odottamattomia tapahtumia. Nämä antavat tutkijoille sellaista tietoa, jota ei saada millään ohjatuissa kokeissa. 25 Tapaustutkimuksen haittoja: Pienet tapaustutkimukset ovat yleensä arvottomia skaalautumisongelman takia. Tulokset ovat satunnaiset, eikä niitä voida yleistää isoihin projekteihin. Pienissä tapauksissa kannattaa käyttää hallitumpaa ohjattua koetta. Tapahtumien syyt saattavat jäädä hämärään, jos tutkittavaan ilmiöön liittyy paljon samankaltaisia parametreja. 26 Ohjattu koe Ohjattuja kokeita käytetään, kun tutkimuksessa halutaan minimoida satunnaisuus. Ohjatussa kokeessa tarkkaillaan kahta tai useampaa ryhmää satunnaisesti valittuja ryhmäläisiä. Yksi ryhmistä on verrokkiryhmä (baseline group), johon muiden ryhmien tuloksia verrataan. Ryhmien valinta Ryhmät valitaan sellaisiksi, että ne eroavat toisistaan vain yhdellä parametrilla. Esimerkiksi jos ohjattu koe käsittelee uuden ohjelmointikielen hyvyyttä, verrokkiryhmässä on tietyn ohjelmoijan vanhalla ohjelmointikielellä tehdyt ohjelmat, ja toisessa ryhmässä ovat uudella ohjelmointikielellä tehdyt saman ohjelmoijan samat ohjelmat. 27 28 Ohjattujen kokeiden käyttö Ohjatun kokeen parametrit Ohjattuja kokeita voidaan käyttää validoimaan teoreemia, validoimaan yleisesti tunnettuja asioita, tutkimaan olioiden välisiä suhteita, validoimaan mallien oikeellisuutta, validoimaan mittauksia. Ohjatulla kokeella voidaan selvittää, millä ehdoilla testattava väite on tosi. 29 Ohjatussa kokeessa tutkittavilla ryhmillä on kahdenlaisia parametreja. Riippumattomat parametrit ovat niitä, joita ryhmille voidaan asettaa vapaasti. Jokin tai jotkin riippumattomista parametreista asetetaan kullekin ryhmälle eri arvoihin. Muut parametrit pysyvät ryhmissä samoina Riippuvat parametrit ovat niitä, joiden arvo riippuu riippumattomien parametrien arvoista. Kokeessa tarkkaillaan näitä. 30 5
Ohjatun kokeen työvaiheet Ohjatun kokeen työvaiheet ovat: 1. Kelpoisuusselvitys: Selvitetään, onko ohjattu koe oikea lähestymistapa ongelman validointiin. 2. Määrittely: Kuvataan ongelma, hypoteesi ja tavoite. Nämä asettavat ohjatun kokeen omat reunaehdot. 3. Suunnittelu: Selvitetään parametrit. Valitaan ryhmät ja ryhmien osallistujat. Suunnitellaan koetapahtuma. 4. Toiminta: Toteutetaan koetapahtuma. Tarkkaillaan. 5. Analyysi ja tulkinta: Analysoidaan ja tulkitaan tulokset 6. Esitys ja yhteenveto: Esitetään tulokset ja tehdään niitä kuvaava yhteenveto. Menetelmien työvaiheiden havaintoja Ohjatun kokeen työvaiheet käyvät myös vertaavien tapaustutkimusten työvaiheiksi. Vastaavasti kartoituksen työvaiheet käyvät keräävien tapaustutkimusten työvaiheiksi. 31 32 Menetelmien vertailua Mittauksesta Kontrollissa Kartoitus Ei Tapaustutkimus Ei Ohjattu koe Kyllä Kaikissa menetelmissä on oleellista päättää, mitä mitataan, Mitattavissa Ei Kyllä Kyllä mitattavat suureet ovat kokeen parametreja miten mitataan, Kustannus Matala Keski Korkea mittaus ei saa häiritä koetta mihin asteikkoon mittaukset sijoittuvat ja Toistettavuus Korkea Matala Korkea miten mittauksia tulkitaan. tulkintakeinot (tilastotiede) riippuvat asteikosta 33 34 Asteikot Asteikot 2 Kaikille mitattaville suureille ei voida tehdä kaikkia matemaattisia operaatioita. Esimerkiksi jos mitataan suureen arvoille ei ole määrätty etäisyyttä, arvoista ei voida laskea aritmeettista keskiarvoa. Mitä vahvempaan asteikkoon mitattava suure sopii, sitä vahvempia operaatioita siihen voidaan käyttää. Asteikot ovat heikoimmasta vahvimpaan Nominaaliasteikko (Nominal scale) alkioilla ei ole suuruusjärjestystä. Ordinaaliasteikko (Ordinal scale) alkioilla on järjestys, mutta ei etäisyyttä. Intervalliasteikko (Interval scale) alkioilla on etäisyys, mutta ei nollapistettä. Suhdeasteikko (Ratio scale) alkioilla on etäisyys ja nollapiste. 35 36 6