Automatisoinnilla tehokkuutta mittaamiseen Finesse seminaari 22.3.2000 Päivi Parviainen 1
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ä 2
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 3
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 4
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ä 5
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 6
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 7
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 8
Paketointivaihe Mittausohjelman tulosten muokkaaminen malleiksi, jotka ovat koko organisaation käytössä (esim. prosessikuvauksia, käsikirjoja jne.) Työkalutukea tarvitaan tietämyksen hallintaa tutkitaan TOTEM2000-projektissa 9
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 10
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 11
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 12
Scheduler 1/3 13
Scheduler 2/3 Käyttäjä voi määrittää metriikalle suoritustavan, ensimmäisen suorituskerran ajankohdan sekä laskentaintervallin ja valita toiminnot jotka metriikalle suoritetaan automaattisesti. datan päivitys, metriikan laskenta, kuvaajan tuottaminen, kuvaajan tallettaminen.jpg-muotoon, kuvaajan ja siihen liittyvän tiedon konvertointi HTML-muotoon, tuotettujen tiedostojen talletus. Kun käyttäjä on valinnut haluamansa toiminnot, ohjelma kirjaa tehtävän erillisessä tiedostossa sijaitsevaan tehtävälistaan (task list). 14
Scheduler 3/3 Ajastinohjelma tarkkailee tehtävälistaan merkittyjen pyyntöjen suoritukselle asetettuja ehtoja määräajoin. Kun käskyn suoritukselle asetetut ehdot täyttyvät, ajastin lähettää MetriFlamelle käskyn suorittaa metriikan laskenta ja kuvaajien päivittäminen. Päivitetyt kuvaajat siirretään käyttäjän määrittämään paikkaan, esim. ulkoiseen tietokantaan (external database). 15
Yhteenveto Työläät mittaustehtävät kannattaa automatisoida vähentää työtä => mittaus voidaan suorittaa useammin => trendien seuranta Työkalutuki on välttämätön voi ja kannattaa hyödyntää olemassa olevia työkaluja Huolellinen suunnittelu tärkeää automatisointi vaatii jonkin verran työmäärää => työmäärä kannattaa suunnata oikeisiin asioihin kynnys mittausten muuttamiseen myöhemmin kasvaa 16