MIKKO-projekti ja mittausten automatisointi FiSMA-seminaari 11.12.00 Matias Vierimaa VTT Elektroniikka 1
MIKKO-projekti Projektin tavoitteena on kehittää mittauskehikko, joka tukee ohjelmistoprosessin ja tuotteen mittausta sekä projekti että organisaatiotasoilla Projekti on alkanut viime vuonna ja päättyy vuoden 2001 kesäkuussa Process Process support support MIKKO Framework Method Method support support Tool Tool support support Process and product measurement Project Project Organizational Level Level level level 2
MIKKO-projektin osapuolet VTT Elektroniikka Tekes Case yritykset Nokia Mobile Phones X-Net Oy Alihankkijat Fraunhofer instituutti, Saksa Glasgow yliopisto, Skotlanti Seuraajayritykset ABB Substation Automation CCC Yhtiöt Elektrobit Neles Automation Nokia Research Center 3
MIKKO-mittauskehikko: Mittauskehikko sisältää: Mittausprosessin ja työvaiheiden kuvaus Mittausten käytön ja hyödyntämisen kuvaus Esimerkkejä mittauksista ja hyödyntämisestä valituille tavoitteille Kuvaus menetelmistä, joilla mittauksia voidaan määrittää, kerätä, analysoida, antaa palautetta ja oppia Työkalutuki mittausten keruulle ja analysoinnille Tulokset dokumentoidaan mittauskäsikirjaan 4
MIKKO lähtökohdat Mittauksen tulee palvella sekä organisaatiota että projekteja Organisaatiotasolla kehitetään ohjelmistoprosessia saadun mittaustiedon perusteella Projektitasolla mittaukset tukevat projektin suorittamista Mittauksen tulee olla systemaattista Ei kertaluontoista Mittaamisella pitää aina olla jokin tavoite! Vaarana tiedon hautausmaat 5
Mittausten käyttö projektissa Projektin aikainen mittaaminen Mittauksilla pyritään hallitsemaan projektia paremmin Mittauksilla voidaan seurata projektin etenemistä Mittauksilla pyritään ennustamaan tulevaa kehitystä Mittaukset antavat näkyvyyttä projektin työlle Mittaukset projektin päätyttyä Projektin tuloksia voidaan analysoida projektin jälkeen, jotta saadaan mitattavaa tietoa hyvin ja huonosti menneistä asioista Projektin tuloksia voidaan verrata muihin vastaaviin projekteihin Projektista saadaan tietoa talteen tulevia projekteja varten 6
Mittaukset projektinhallinnassa 7
Mittaukset projektin seurannassa Reported vs. closed defects 8
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. säännölliset tapaamiset, joissa mittausten käsittely yhtenä osana Jos projektissa erityisiä checkpointteja, niin mittaukset mukaan niihin Palautteen antaminen mittauksista projektille hyvin tärkeää Mittaamisesta tulee olla suoraa hyötyä mitattavalle projektille 9
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 ja virheiden seuranta Käyttäen tunnettuja menetelmiä, kuten GQM Vältettävä turhia mittauksia 10
Miksi automatisoida? Mittaamisen hyödyt ohjelmistokehityksen ajantasainen seuranta ja hallinta tuotteen laadun seuranta ja hallinta Mittaustehtävien työläys ei resursseja tehdä usein => ei trendien seurantaa tärkeä voi jäädä mittaamatta työläyden takia Mittaustulokset vakiomuotoon vertailukelpoista tietoa Mittausten täysimittaisen hyödyntämisen edellytys laajamittaisessa ohjelmistokehityksessä 11
Mitä automatisoida? Automatisoi metriikat: joissa paljon käsiteltävää dataa joka muuttuu/kasvaa koko ajan, esim. työajan seuranta joita analysoidaan usein jotka ovat vakiintuneet käyttöön Tiedon oltava sähköisessä, formaalissa muodossa tietokannat, versionhallintatyökalut, jne 12
Automatisoinnin vaiheet 4. Mittausdatan kerääminen 5. Metriikoiden laskenta ja analyysigraafien muodostus 1. Automaattisen mittauksen suunnittelu 2. Automaattisen mittauksen toteutus 3. Mittausdatan kirjaaminen 6. Metriikoiden analysointi 7. Tulosten paketointi 13
Suunnitteluvaihe 1/2 Automatisoitavien metriikoiden valinta uusien metriikoiden määrittely esim. GQM-menetelmällä automatisoitavien valinta olemassaolevasta metriikkasetistä Kriteerit metriikan hyöty keräykseen käytetyn työkalun automatisointimahdollisuudet tietomäärä analysointitiheys automatisoinnin työmäärä 14
Suunnitteluvaihe 2/2 Määritellään: mitä tietoa tarvitaan missä tarvittava tieto sijaitsee tarkasti (tietokanta, taulu, kenttä) tiedon keräystiheys missä formaatissa kerätty tieto halutaan käsitellä analyysissä mitä pitää tehdä, että raakadatasta saadaan haluttu analyysiesitys Työkalutuen valinta tietojen keräämiseen tietojen käsittelyyn 15
Toteutusvaihe Toteutetaan tiedon keräykseen tarvittavat toiminnot yhteydet tietolähteisiin tiedon keräyksen automaattinen käynnistys Toteutetaan tiedon käsittelyyn tarvittavat toiminnot käsittelyn automaattinen käynnistys halutulla tavalla käsittely/laskenta esitystavan muodostus 16
Suoritusvaihe Mittausten keruu ja käsittely automaattisesti ajastettuna tapahtumana käyttäjän käynnistämänä Päivitetään automatisointia tarpeen mukaan uusia metriikoita ja esitystapoja poistetaan metriikoita ja esitystapoja muutoksia käsittelytiheyteen muutoksia tiedon lähteisiin 17
Työkaluvaatimukset Vapaa kerättävien metriikoiden määrittely Vapaa tarvittavan tiedon valinta Tiedon käsittely käyttäjän määrittelemällä tavalla Tiedon käsittelyn vapaa ajastus Automaattinen tiedon käsittely käyttäjän määrittelemällä tavalla ja aikataulussa Automaattinen esitysgraafien tuottaminen Epäkelvon datan käsittely 18
Esimerkkitoteutus Perustana MetriFlame työkaluympäristö Tuki suurelle osaa työkalutuen vaatimuksia Laajennuksia: Tiedon käsittelyn vapaa ajastus Automaattinen tiedon käsittely käyttäjän määrittelemällä tavalla ja halutussa aikataulussa 19
MetriFlame 1. Tietokantasovellukset * Vikatietokanta * Työajan seuranta * Koulutusrekisteri Koulutustiedot, vikatiedot, työajankäyttötiedot 2. 3. Joukko esitystapoja: WWW- Server Projektin hallintatyökalut * Resurssien allokointitiedot (suunniteltu/toteutunut) * Aikataulut (suunniteltu/toteutunut) Dokumenttien hallintatyökalut * Dokumenttitiedot ja hallinta * Informaation ja dokumenttien jakaminen ja jakelu Projektin hallintatiedot Dokumenttitiedot Tiedon keräys ja muuntaminen MetriFlame * Metriikoiden määrittely (GQM) * GQM suunnitelma * Metriikoiden laskenta * Tulosten esittäminen * Arvioinnin tuki Tiedon muuntaminen Number of 100 % 90% 80% 70%60%50% Weeks Versionhallintajärjestelmät * Muutosten hallinta * Dokumenttitiedot Versionhallintatiedot Muu mittaustiedon lähde * Katselmointitiedot * Testi raportit, jne. Muu mittaustieto Tietokanta: - Metriikkamäärittelyt - Metriikkadata - Metriikoiden tulokset - Historia 20
Mittausten käyttö prosessinkehittämisessä Kehittämistoimenpiteiden seuranta Laajempien tavoitteiden seuranta Eri projektien/osastojen/sijaintipaikkojen välinen vertailu Prosessien kypsyyden arviointi mittaamalla 21
Yhteenveto Mittaukset ovat välttämättömiä projektin hallitsemiseksi ja käytäntöjen parantamiseksi. Mittauksen tulee palvella sekä organisaatiota että projekteja Mittaamisesta tulee olla suoraa hyötyä mitattavalle projektille Työläät mittaustehtävät kannattaa automatisoida vähentää työtä => mittaus voidaan suorittaa useammin => trendien seuranta Työkalutuki on tärkeää voi ja kannattaa hyödyntää olemassa olevia työkaluja 22