Kokonaisvaltainen mittaaminen ohjelmistokehityksen tukena Mittaaminen ja ohjelmistotuotanto seminaari 18.04.01 Matias Vierimaa 1
Miksi mitataan? Ohjelmistokehitystä ja lopputuotteen laatua on vaikea arvioida ilman mittareita Ohjelmiston laatuun vaikuttavat monet tekijät Subjektiivinen näkemys ei välttämättä ole oikea Mittareilla saadaan ohjelmistokehitys näkyväksi Mittarit antavat selkeän kuvan tilanteesta Mittarit mahdollistavat ohjelmistokehityksen seurannan ja kontrollin jo projektin aikana 2
MIKKO-projekti Projektin tavoitteena on kehittää kokonaisvaltainen mittauskehikko, joka tukee ohjelmistoprosessin ja tuotteen mittausta sekä projekti että organisaatiotasoilla Projekti alkoi elokuussa 1999 ja päättyy vuoden 2001 kesäkuussa Työmäärä n. 60 htkk ja kustannukset n. 4,2 mmk Projekti tarjoaa mittausten määrittämiseen, keräämiseen, hyödyntämiseen ja paketointiin tuen prosessi-, menetelmä-, ja työkalutasolla Päätuloksina mittauskäsikirja ja kehikkoa tukeva työkalu 3
MIKKO-projektin osapuolet VTTElektroniikka Tekes Case yritykset Nokia Mobile Phones NetHawk Oy Alihankkijat Fraunhofer instituutti, Saksa Glasgowin yliopisto, Skotlanti Seuraajayritykset ABB Substation Automation CCC Yhtiöt Elektrobit Metso Automation Networks Nokia Research Center 4
MIKKO lähtökohdat 1 Mittauksen tulee palvella sekä organisaatiota että projekteja Organisaatiotasolla kehitetään ohjelmistoprosessia saadun mittaustiedon perusteella Projektitasolla mittaukset tukevat projektin suorittamista Mittauksen tulee olla systemaattista Mittaukset tulee valmistella huolellisesti Ei kertaluontoista mittaamista 5
MIKKO lähtökohdat 2 Mittausta tulee tukea työkaluilla Työkalut vähentävät manuaalista työtä Pienentävät virheiden mahdollisuutta Mittausten hyödyntäminen etusijalle Mittauksella ei ole itsearvoa Mittauksia tulisi kerätä vain jos tiedetään miten mittauksia hyödynnetään Vaarana tiedon hautausmaat 6
Mittauskehikon vaatimukset Räätälöitävyys Tuki erilaisille prosesseille, menetelmille ja työkaluille Oppiminen Mittauksilla tulee olla lisäarvoa Jatkuvuus Mittauksia tulisi suunnitella pitkällä aikataululla Tuki Tarjoaa ratkaisuja ja tukee suorittamista Joustavuus Varautuminen muutoksiin 7
Mittauskehikko Exploit Characterise Analyse Define Implement 8
Exploit Modelling results Experience packages Characterise Feedback reports Analysis results MIKKO framework results Current status Organisational and project needs Analyse Define Target for measurement Measurement plan Analysis plan Metrics sets Utilisation plan Implement 9
Mittausten nykytilan selvitys Vastaa mm. seuraaviin kysymyksiin Mitä mittauksia on käytössä? Minkälaisia tarpeita mittaamiselle on? Tukevatko työkalut mittaamista? Sen perusteella... Tiedetään miten mittauksia halutaan hyödyntää Mittaukselle asetetaan tavoitteet Saadaan organisaation ja projektien tarpeet selville Ei valmista referenssiä olemassa 10
Mittausten määrittäminen Mittausten täytyy olla räätälöitävissä projektin tarpeisiin.mutta myös vertailukelpoisia organisaatiotasolla Mittaukset tulee suunnitella huolellisesti Mikä on käyttötarkoitus, miten kerätään, kuka kerää Alkuvaiheessa hyvä aloittaa vain muutamalla mittarilla, kuten työmäärät, aikataulu ja virheiden seuranta Käyttäen tunnettuja menetelmiä, kuten GQM Vältettävä turhia mittauksia 11
Mittausten keruu Mittaukset tulisi kerätä automaattisesti aina kuin mahdollista Mittaukset tulisi kerätä manuaalisesti vain jos Mittausten keruu tapahtuu harvoin tai Manuaalisen työn määrä on vähäinen tai Kerättävä tieto on tärkeä Mittausten validointi on tärkeää 12
Mittausten käyttö projektissa Projektin aikainen mittaaminen Mittauksilla voidaan seurata projektin etenemistä Mittauksilla pyritään ennustamaan tulevaa kehitystä Mittaukset antavat tukea päätöksentekoon Mittaukset projektin päätyttyä Projektin tuloksia voidaan analysoida projektin jälkeen, jotta saadaan mitattavaa tietoa hyvin ja huonosti menneistä asioista Projektista saadaan tietoa talteen muita projekteja varten 13
Mittaukset osana projektin toimintaa Mittaukset eivät ole erillinen lisä tai välttämätön paha, ne ovat osa projektin toimintaa Mittaukset tulee sitoa projektin vaiheisiin Esim. kuukausittaiset tapaamiset, joissa mittausten käsittely yhtenä osana Jos projektissa erityisiä checkpointteja, niin mittaukset mukaan niihin Mittaamisesta tulee olla suoraa hyötyä mitattavalle projektille 14
Mittaukset projektin seurannassa Reported vs. closed defects 15
Mittausten käyttö organisaatiossa Erilaisten mallien muodostus Päätöksenteon tukemiseen Ennusteiden laadintaan Projektin tavoitteiden seuranta Eri projektien/osastojen/toimipisteiden välinen vertailu Kehittämistoimenpiteiden seuranta Prosessien kypsyyden arviointi mittaamalla 16
Mittaukset organisaatiossa 60 50 40 Limit Value Average 30 20 10 Reported vs. closed defects 0 M0 M1 M2 M3 17
Mittausten avulla vertailu Mittauksilla voidaan verrata esim. projekteja, osastoja tai toimipisteitä keskenään Vertailun tuloksia voidaan hyödyntää: Miksi joku projekti on mittausten perusteella laadukkaampi kuin toinen? Hyväksi havaittuja käytöntöjä tulee levittää laajempaan käyttöön 18
Mittausten avulla vertailu 90 80 70 Project A 60 Project B 50 Project C 40 30 20 10 0 Requirements Design Implementation Testing Reviews Version Mana Change Mana Project Mana 19
Yhteenveto Mittaukset ovat välttämättömiä projektin hallitsemiseksi ja käytäntöjen parantamiseksi. Mittaukset tekevät prosessin ja tuotteen paremmin näkyväksi, ennustettavaksi ja hallittavaksi Mittaukset ovat osa nykyaikaista ohjelmistokehitystä 20