TESTAUSPROSESSIEN ARVIOINTI JA KEHITTÄMINEN
|
|
|
- Susanna Heino
- 10 vuotta sitten
- Katselukertoja:
Transkriptio
1 TESTAUSPROSESSIEN ARVIOINTI JA KEHITTÄMINEN Hannu Vainio Pro gradu -tutkielma Tietojenkäsittelytiede Itä-Suomen yliopiston tietojenkäsittelytieteen laitos Tammikuu 2013
2 Itä-Suomen yliopisto, Luonnontieteiden ja metsätieteiden tiedekunta Tietojenkäsittelytieteen koulutusohjelma VAINIO, H.: Testausprosessien arviointi ja kehittäminen Pro gradu -tutkielma, 74 s., 5 liitettä (17 s.) Pro gradu -tutkielman ohjaajat: FM Anu Raninen ja FT Tanja Toroi Tammikuu 2013 Avainsanat: TMMi, CMMI, TPI, SPI, Testausprosessin kehittäminen, Adept-menetelmä Ohjelmistojen laatu on keskeinen tekijä ohjelmistojen menestyksessä. Yksi keino parantaa tuotettavien ohjelmistojen laatua on kehittää itse ohjelmistotuotantoprosessia. Ohjelmistotuotantoprosessissa varsinkin testaus nousee keskeiseen rooliin silloin, kun halutaan varmistua siitä, että asiakkaille päätyvä tuote on laadukas. Ohjelmiston testausvaiheessa havaitut virheet ovat lisäksi yrityksen resurssien kannalta myös edullisia korjata. Tehokkaalla testausprosessilla voidaan täten säästää rahaa, sekä kasvattaa tuotteen menestystä markkinoilla. Tämä pro gradu -tutkielma on tehty Itä-Suomen yliopiston METRI-hankkeelle. Tutkielmassa käsitellään testausprosessin kehittämistä hyödyntäen muokattua Adeptmenetelmää. Adept on Irlannissa vuonna 2007 kehitetty prosessien arviointimenetelmä, jossa yrityksen prosessien tasoa arvioidaan CMMI:n prosessialueiden mukaan. Yleisesti käytetyt prosessien arviointimenetelmät, kuten CMMI ja TMMi koetaan usein raskaiksi käyttää, ja ne soveltuvatkin parhaiten suurten yritysten prosessien arviointiin. Adeptmenetelmän etuna pidetään menetelmän edullisuutta työmääränä mitattuna, ja lisäksi malli sopii varsinkin pienten ja keskisuurten yritysten prosessien arviointiin. Tämän tutkielman tarkoituksena on kehittää Adept-menetelmä käyttämään TMMi:n prosessialueita, ja muokata malli soveltumaan testausprosessien arviointiin. Tutkielman teoreettisessa osassa käsitellään eri prosessien arviointimenetelmiä ja niiden keskeisiä ominaisuuksia. Lisäksi tutkielmassa esitellään Adept+TMMi, ja Adept+TMMi:n prosessialuekysymykset, jotka olen laatinut osana tätä tutkielmaa. Keskeisimpinä lähteinä toimivat teokset CMMI Second edition: Guidelines for Process Integration and Product Improvement, Software Process Improvement: Practical Guidelines for Business Success sekä TMMi -viitekehys.
3 Esipuhe Tämä tutkielma on tehty Itä-Suomen yliopiston tietojenkäsittelytieteen laitokselle keväällä Tutkielman ohjaajina toimivat Anu Raninen ja Tanja Toroi, joille haluan osoittaa erityiskiitoksen. Kuopiossa Hannu Vainio
4 Käsitteet ja lyhenteet CMMI TMMi Capability Maturity Model Integration Test Maturity Model Integrated TPI NEXT Test Process Improvement SPI Software Process Improvement SPICE ISO/IEC METRI PAM PRM Metrics Based Failure Prevention in Software Engineering Process Assessment Model Process Reference Model
5 Sisällysluettelo 1 JOHDANTO OHJELMISTOTUOTANTOPROSESSIEN KEHITTÄMINEN Mikä on prosessi? Prosessien kehittäminen Prosessin kehittämisen perusperiaatteet PDCA-sykli OHJELMISTOTUOTANTOPROSESSIN KEHITYSMALLIT CMMI Kyvykkyystasot Kypsyystasot Prosessialueet ISO/IEC (SPICE) ISO/IEC : Käsitteet ja sanasto ISO/IEC : Arvioinnin suorittaminen ISO/IEC : Ohjeistus arvioinnin suorittamiseen ISO/IEC : Ohjeistus prosessien kehitykseen ja prosessien kyvykkyyden käyttöön ISO/IEC : Esimerkki prosessien arviointimallista ISO/IEC : Esimerkki järjestelmän elinkaaren arviointimallista ISO/IEC : Organisaation kypsyyden arviointi ISO/IEC : Esimerkki palveluidenhallinnan mallista ISO/IEC : Kohdeprosessien profiilit ISO/IEC : Turvallisuuslaajennus Ohjelmistotuotantoprosessien kehitysmallien hyödyt ja haitat OHJELMISTOTESTAUKSEN KEHITTÄMISMALLIT TPI NEXT Avainalueet Kypsyystasot Tarkistuspisteet Testauksen kypsyysmatriisi TMMi TMMi kypsyystasot TMMi yrityksissä ISO/IEC ISO/IEC prosessialueet ISO/IEC kyvykkyystasot ADEPT-MENETELMÄ Adept-menetelmän vaiheet Adept-menetelmässä arvioitavat CMMI:n prosessialueet ADEPT+TMMI TESTAUSPROSESSIN ARVIOINTIMENETELMÄ Prosessialuehaastattelut... 51
6 7 POHDINTA VIITTEET Liitteet Liite 1: TPI NEXT-mallin avainalueet (3 sivua) Liite 2: Adept+TMMi: Kysymykset Testauksen suunnittelu prosessialueeseen (4 sivua) Liite 3: Adept+TMMi: Kysymykset Testien suunnittelu ja suoritus prosessialueeseen (3 sivua) Liite 4: Adept+TMMi: Kysymykset Testausympäristö prosessialueeseen (3 sivua) Liite 5: Adept+TMMi: Kysymykset Testauksen seuranta ja hallinta prosessialueeseen (4 sivua)
7 1 JOHDANTO Viime vuosikymmeninä ohjelmistojen laadun kehittämiseen on alettu kiinnittämään entistä enemmän huomiota [TMM10]. Laadunkehitykselle ongelmaksi kuitenkin muodostuvat kasvavat ja monimutkaistuvat ohjelmistot, mikä tekee ohjelmistotuotantoprosessista haastavaa [TMM10]. Ohjelmistotuotantoprosessien kehittämiseen ja arviointiin on olemassa useita eri menetelmiä ja malleja, kuten CMMI (Capability Maturity Model Integrated) ja ISO/IEC (SPICE). Kehitetyt mallit ovat usein kalliita, vaikeasti ymmärrettäviä, aikavieviä ja soveltuvat parhaiten suurien yritysten prosessien arviointiin ja kehittämiseen. Irlannissa tämä ongelma huomioitiin ja kehitettiin Adept-menetelmä, joka soveltuu varsinkin pienten ja keskisuurten yritysten ohjelmistotuotantoprosessien arviointiin [CTC07]. Adept-menetelmässä yrityksen prosessialueita arvioidaan CMMI:n prosessialueisiin pohjautuvien arviointien mukaan. Menetelmän etuna on sen vähäinen resurssien tarve [CTC07]. Tämän tutkielman tarkoitus on kehittää Adept-menetelmä käyttämään TMMi:n prosessialueita, ja saada menetelmä soveltumaan näin ollen myös pienten yritysten testausprosessien arviointiin. Tutkielmassa esitän myös laatimani Adept+TMMi - menetelmän prosessiarviointikysymykset, jotka on laadittu osana tätä tutkielmaa. 1
8 2 OHJELMISTOTUOTANTOPROSESSIEN KEHITTÄMINEN Ohjelmistotuotantoprosessin kehittämisen tarkoituksena on kehittää tuotettavien ohjelmistojen laatua [MWZ05]. Ohjelmistotuotantoprosessin kehittämisessä oletetaan, että hyvin määritelty ohjelmistotuotantoprosessi todennäköisemmin kohtaa asiakkaan vaatimukset annetussa aikataulussa ja budjetissa pikemmin kuin huonosti määritelty ohjelmistotuotantoprosessi [Sol04]. Näin ollen voidaan ohjelmistotuotantoprosessia kehittämällä saavuttaa paremman laadun lisäksi taloudellisia sekä ajallisia säästöjä [Sol04] Mikä on prosessi? Kirjallisuudessa termille prosessi löytyy useita määritelmiä, ja määritelmät poikkeavat toisistaan laajalti. Esimerkiksi tietokonesanastojen standardi IEEE-STD-610 määritteli prosessin joukoksi askeleita tietyn tehtävän tekemisessä, esimerkiksi ohjelmiston kehitysprosessi [IEE90]. Software Engineering Instituten kehittämän CMM-mallin määrittelyn mukaan prosessi on joukko toimintoja, menetelmiä ja käytäntöjä joita käytetään ohjelmiston tuottamisessa ja kehittämisessä [Zah98]. Yksinkertaisimmillaan prosessista on sanottu, että prosessi ei ole mitään muuta kuin jäsennelty joukko toimia ja päätöksiä tietyn tehtävän suorituksessa [DDM04]. Yhteistä kaikille prosessin määritelmille on, että jokaisessa määritelmässä prosessi koostuu yhdestä tai useammasta tehtävästä. Tehtävien suorittaminen vaatii ponnistuksia, joilla lisätään lopputulokseen arvoa. Lopputuloksen arvo voi vaihdella, mutta tarkoituksena on tuottaa jotain, joka on tarkoin suunniteltu ja harkittu [DDM04]. Peräkkäisten prosessien joukko voidaan nähdä ohjelmistotuotannon elinkaarimallina. Elinkaarimallin rakenteesta riippuen voidaan siitä erottaa erilaisia ohjelmistojen kehittämisen vaiheita ja strategioita. Kuvassa 1 on esitelty keskeisimmät ohjelmistotuotannon elinkaarimallit. Esitellyt mallit ovat perinteinen vesiputousmalli (a), inkrementaalinen elinkaarimalli (b) sekä prototyyppimalli (evolutionary life cycle) (c). [DDM04] 2
9 Kuva 1. Ohjelmistotuotannon elinkaarimalleja [DDM04] Vesiputousmallissa (a) tehtävät ja tehtävien sisäiset vaiheet suoritetaan sarjana: määritellään vaatimukset, järjestelmä suunnitellaan, toteutetaan, testataan ja lopulta se toimitetaan asiakkaalle. [DDM04] Inkrementaalisessa elinkaarimallissa (b) lähdetään myös liikkeelle vaatimusten määrityksestä. Tämän jälkeen kehitys etenee useiden iteraatioiden kautta. Ensimmäinen kierros pitää sisällään osan vaatimuksista, jota seuraa suunnittelu, toteutus ja testaus. Tämän jälkeen aloitetaan taas vaatimuksista ja aloitetaan toinen kierros. Näin edetään kunnes tuote on valmis. [DDM04] Prototyyppimallissa (c) ohjelmisto tuotetaan useassa vaiheessa, mutta vaatimuksia ei anneta yksityiskohtaisesti aloitusvaiheessa. Vaatimusten tarkkuus ja kypsyys kasvaa jokaisella uudella kierroksella. Mallissa prosessit suoritetaan joko peräkkäin tai rinnakkain, jolloin ne ovat osittain päällekkäisiä. [DDM04] Prosessien kehittäminen Yksinkertaisimmillaan prosessin kehittäminen on asioiden tekemistä paremmin. Ongelman tai virheen ratkaiseminen ilman, että tarkastellaan sen aiheuttajaa voi johtaa siihen, ettei sen aiheuttajaa saada koskaan selville. Tämä voi johtaa asioiden heikentymiseen. Ongelman tunnistamisen lisäksi tulee löytää sen aiheuttaja, määritellä toimenpiteet, arvioida tuloksia sekä tarvittaessa laajentaa toimenpiteet organisaation laajuisiksi. Prosessin kehittämisessä pyritään oppimaan, mitä prosessissa tapahtui ja käyttämään siitä saatua tietoa prosessin kehittämiseen. Tällä tavoin paranneltu prosessi voi tuottaa laadukkaampia sekä parempia tuotteita. [DDM04] Ensimmäisen askel prosessien kehittämisen aloittamisessa on saada organisaation johto tukemaan prosessienkehittämistä sekä osoittamaan, että jatkuva prosessien kehittäminen 3
10 on tärkeässä asemassa organisaation tavoitteiden ja strategioiden saavuttamisessa. Prosessien kehittäminen lähtee liikkeelle seuraavista pohdiskeltavista asioista [DDM04]: Mitä prosesseja yrityksessä on? (Which processes have we got?) Mitä prosesseja tarvitsee kehittää? (Which process do we need to improve?) Miten prosesseja voidaan kehittää? (How can we improve process?) Mitä resursseja tarvitaan prosessien kehittämiselle? (What kinds of resources are required to improve the process?) Miten voimme hyödyntää parannettua prosessia? (How can we make use of the improved process?) Prosessin kehittämisen perusperiaatteet Ohjelmistotuotantoprosessin kehittämiselle on ohjelmistotuotannon sektorilla tunnistettu seuraavat perusperiaatteet [DDM04]: Pääpaino on tuotteiden ja palveluiden parantamisessa. Prosessien kehittäminen itsessään on keino saavuttaa nämä tavoitteet. Liiketoimintalähtöisyys ja tulosten arviointi on kriittisessä asemassa, jotta varmistuttaisiin siitä, että kehitystyö on mennyt oikeaan suuntaan. Prosessien kehittäminen tulee nähdä jatkuvana syklinä, johon sidosryhmät ovat sitoutuneet. Tiedon jakaminen on keskeisessä roolissa. Kehitystulokset tulee arvioida ja yhdistää siten, että ne ovat saatavilla tulevissa projekteissa (kts. kuva 2). 4
11 Kuva 2. Projektien väliset suhteet [DDM04] Kuten kuvasta 2 nähdään, toimii edeltävä prosessin sulkemisvaihe aloitusvaiheena alkavalle projektille. Tällaisella menettelyllä varmistutaan tehokkaasta kokemuksien vaihdosta organisaation projekteissa. Tiedonvaihto eri vaiheiden välillä on keskeisessä roolissa jatkuvassa prosessien kehittämisessä. Seuraavassa luvussa esitellään yksi jatkuvan prosessien kehittämisen malli PDCA-sykli PDCA-sykli on tunnettu menetelmä prosessien jatkuvassa kehityksessä. Malli koostuu neljästä eri vaiheesta: suunnittelusta (plan), toteutuksesta (do), tarkistuksesta (check) ja toiminnasta (act). Mallin rakenne on esitelty kuvassa 3. Suunnitteluvaiheessa määritellään tavoitteet sekä menetelmät tavoitteiden saavuttamiseksi. Tässä vaiheessa on tärkeää, että määritellään selvästi tavoitteet ja niiden tavoittamiseen tarvittavat menetelmät. Toteutusvaiheessa tehdään suunnitelmista toimintoja. On tärkeää, että osallistujat tuntevat tavoitteet ja suunnitelmat. Työn toteuttajille tulee opettaa tarvittavat menetelmät sekä taidot suunnitelmien toteuttamiseksi. Tarkistusvaiheessa tarkastetaan, että edetään suunnitelmien mukaan ja saavutetaan määriteltyjä tavoitteitta. Tarkistusvaiheessa havaittujen ongelmien aiheuttajat tulee selvittää, jotta niiltä vältyttäisiin jatkossa. Toimintavaiheen vastuulla on korjata tarkistusvaiheessa havaitut mahdolliset ongelmat. [LDV09] 5
12 Kuva 3. PDCA-sykli [LDV09] Kiertämällä PDCA kehää voidaan kehittää toimintatapoja ja saavuttaa haluttuja tuloksia. Kuva 4. PDCA-spiraalimalli [LDV09] Toistamalla sykliä mahdollistetaan työnlaadun, menetelmien ja tulosten parantaminen. PDCA-malli voidaan esittää myös kuvan 4 kaltaisena nousevana spiraalina. [LDV09] 6
13 3 OHJELMISTOTUOTANTOPROSESSIN KEHITYSMALLIT Nykyään on olemassa useita ohjelmistotuotantoprosessin kehittämismalleja ja uusia malleja kehitetään jatkuvasti. Suosituimpia ohjelmistotuotantoprosessin kehitysmalleja ovat CMMI sekä ISO/IEC (SPICE) [TMM10] [Zah98]. Prosessien kehittämismalleilla on monia mahdollisia käyttäjiä. Malleista hyötyvät muun muassa ohjelmistojen ostajat, myyjät, kehittäjät sekä arvioijat. Malleja voidaan Zahranin mukaan käyttää [Zah98]: Ohjelmistotuotantoprosessien arvioinnissa ja auditoinnissa, kyvykkyyden arvioinnissa ja alihankkijoiden sertifioinnissa sekä omatoimisessa kehittämisessä. Alihankkijoiden arvioinnin ja valintakriteerien kehittämisessä Ohjelmistokehitysorganisaatiot voivat käyttää malleja ja standardeja omien ohjelmistotuotantoprosessien suunnitteluun ja itsearviointimenetelmien luontiin. Kappaleissa 3.1 sekä 3.2 esitellään tarkemmin kaksi yleisintä ohjelmistotuotantoprosessien kehitysmallia. Esiteltävät mallit ovat CMMI sekä ISO/IEC (SPICE). 3.1 CMMI CMMI (Capability Maturity Model Integration) on prosessienkehittämismalli, jonka tavoitteena on parantaa tuotettavien palveluiden tai tuotteiden laatua. Malli koostuu kypsyystasoista, jotka osoittavat organisaation prosessien kypsyyttä. [CKS07] CMMI pitää sisällään kaksi prosessienkehittämisen lähestymistapaa. Nämä lähestymistavat ovat jatkuva (Continuous), sekä tasottainen (Staged) lähestymistapa. Jatkuvassa lähestymistavassa keskitytään tiettyjen prosessialueiden kehittämiseen, tällöin kehityksen kohteena olevat prosessit voivat olla CMMI:n eri tasoilta. [CKS07] 7
14 Tasottainen malli on jatkuvaa mallia johdonmukaisempi lähestymistapa prosessien kehittämiseen. Tasoittaisessa lähestymistavassa CMMI:n kypsyystasoilla määritellään kullekin tasolle joukko prosessialueita, jotka organisaation tulee saavuttaa, jotta se pääsee etenemään määritetylle kypsyystasolle. [CKS07] Lähestymistavan valinnalla ei ole vaikutusta CMMI-mallin rakenteeseen. Kummassakin lähestymistavassa kehitys etenee huonosti määritellystä kohti hallittua ja hyvin määriteltyä. CMMI:n korkeimmalla tasolla prosessit ovat hyvin hallittuja, ja niitä ohjataan tilastollisin menetelmin kohtaamaan organisaation tavoitteita. Saavuttaakseen tietyn tason tulee organisaation saavuttaa prosesseille asetetut tavoitteet, huolimatta valitusta lähestymistavasta. Kuvissa 5 ja 6 on esitelty jatkuvan ja tasottaisen lähestymistavan rakenne. Mallista voidaan havaita, että jatkuva lähestymistapa käyttää hyväkseen kyvykkyystasoja, kun taas tasottainen lähestymistapa hyödyntää kypsyystasoja. [CKS07] Kuva 5. CMMI:n jatkuva lähestymistapa [CKS07] 8
15 Kuva 6. CMMI:n tasottainen lähestymistapa [CKS07] Kyvykkyystasot, jotka kuuluvat jatkuvaan lähestymistapaan osoittavat organisaation prosessienkehityksen saavutuksia yksittäisillä prosessialueilla. CMMI:ssä määritellään kaikkiaan kuusi kyvykkyystasoa. [CKS07] Kypsyystasot, jotka kuuluvat tasottaiseen lähestymistapaan osoittavat organisaation prosessienkehityksen saavutuksia useilla prosessialueilla. Tasojen avulla voidaan yleisesti ennustaa projektien lopputuloksia. Kaikkiaan kypsyystasoja on viisi. Taulukossa 1 on esitelty CMMI:n kyvykkyys- sekä kypsyystasot. [CKS07] Taulukko 1. Kyvykkyys- sekä kypsyystasot [CKS07] Taso Jatkuva Lähestymistapa (Continuous Representation) Kyvykkyystasot (Capability Levels) Tasottainen Lähestymistapa (Staged Representation) Kypsyystasot (Maturity Levels) Taso 0 Ei suoritettu (Incomplete) N / A Taso 1 Suoritettu (Performed) Alustava (Initial) Taso 2 Hallittu (Managed) Hallittu (Managed) Taso 3 Määritelty (Defined) Määritelty (Defined) 9
16 Taso 4 Määrällisesti hallittu (Quantitatively Managed) Taso 5 Optimoitu (Optimizing) Määrällisesti hallittu (Quantitatively Managed) Optimoitu (Optimizing) Kuten taulukosta voidaan nähdä, on neljän tason nimet samat kummassakin lähestymistavasssa. Lisäksi tasottaiselle lähestymistavalle ei ole määritelty tasoa 0, vaan tasottainen lähestymistapa lähtee etenemään tasolta 1. [CKS07] Kyvykkyystasot Kyvykkyystasoja CMMI:ssä on kuusi. Kyvykkyystasot koostuvat yleisistä tavoitteista sekä menetelmistä, joilla organisaation jotain tiettyä prosessialuetta pyritään kehittämään. Kun prosessinkehityksessä saavutetaan määritetyn kyvykkyystason tavoitteet, saadaan prosessia kehitettyä. Mallissa esitetyt kyvykkyystasot ovat [CKS07]: 0. Ei suoritettu (Incomplete) prosessi on prosessi, jota ei ole suoritettu, tai sen suoritus on vajavainen. Prosessille määriteltyjä tavoitteita ei saavuteta, tai niitä ei tällä tasolla edes ole määritelty. [CKS07] 1. Suoritettu (Performed) tasolla prosessi täyttää tietyt prosessille asetetut tavoitteet. Tällä tasolla tuetaan lisäksi tuotteiden valmistamiseen tarvittavaa työtä. Tasolla aikaansaadut parannukset voidaan menettää, jos prosesseista ei tehdä organisaatiossa käytäntöjä. [CKS07] 2. Hallittu (Managed) prosessi on tason 1 mukainen suoritettu prosessi, jolle on määritelty tarvittavia tukitoimintoja: prosessi suunnitellaan ja toteutetaan määriteltyjen käytäntöjen mukaan, prosessilla on käytössään osaavia henkilöitä, joilla on saatavilla tarvittavat resurssit sekä prosessia tarkkaillaan, valvotaan ja arvioidaan. Lisäksi prosessin suoritusta arvioidaan prosessikuvausten pohjalta. Prosessin käytäntöjen vakinaistaminen takaa sen, että käytäntöjä noudatetaan myös kohdatessa haasteita. [CKS07] 3. Määritelty (Defined) prosessi on tason 2 mukainen hallittu prosessi, joka on määritelty organisaation tavanomaisten prosessien pohjalta. Suurimpana erona tämän 10
17 tason prosesseilla edelliseen tasoon on se, että tason prosessit on aiempia tasoja tarkemmin kuvattuja sekä yhdenmukaisempia. [CKS07] 4. Määrällisesti hallittu (Quantitatively managed) prosessi on tason 3 mukainen määritelty prosessi, jota hallitaan tilastollisten sekä muiden kvantitatiivisten menetelmien mukaan. Prosessin laadulle sekä toiminnalle määritellään tällä tasolla mitattavissa olevia tavoitteita, joita käytetään prosessin hallintaan. [CKS07] 5. Optimoitu (Optimizing) prosessi on tason 4 mukainen määrällisesti hallittu prosessi, jossa prosesseissa ilmenevät poikkeamat on tunnistettu sekä tiedostettu. Tällä tasolla prosesseja pyritään jatkuvasti kehittämään innovatiivisten parannusten avulla. [CKS07] Kypsyystasot CMMI:ssä kypsyystasoja on viisi. Tasojen tarkoituksena mallissa on osoittaa prosessien kypsyys ja seuraavaan tasoon vaadittavat toimenpiteet. Kuvassa 7 on kuvattu CMMI:n eri tasot. Kuva 7. CMMI:n kypsyystasot [Phi04] 1. Alustava (Initial) tasolla prosessit ovat puutteellisia, eikä prosesseille ole saatavissa pysyvää ympäristöä. Prosessit ovat luonteeltaan tilapäisiä sekä sekavia. Tämän tason prosessien onnistuminen on riippuvainen organisaation henkilöstöstä, sekä heidän 11
18 kokemuksestaan. Huolimatta prosessien sekavasta toteutuksesta, tason 1 yritykset usein tuottavat toimivia tuotteita sekä palveluja, mutta tällaisissa yrityksissä usein ylitetään resursseja kuten aikataulu sekä budjetti. [CKS07] 2. Hallittu (Managed) tasolla prosessille on määritelty organisaation käytäntöjen mukaiset tavoitteet ja menetelmät. Lisäksi prosessi työllistää osaavia henkilöitä, joilla on käytettävissään tarvittavat resurssit sekä prosessia monitoroidaan ja arvioidaan sidosryhmien toimesta. Ongelmien ilmetessä ensimmäisen tason yrityksille on yleistä, että käytännöt ja menetelmät helposti sivuutetaan. CMMI:n toisella tasolla ongelmien ilmetessä määritellyistä menetelmistä ei luovuta. Tason 2 yrityksissä yritysjohto on tietoinen tuotettavien palveluiden ja tuotteiden tilasta, sekä on selvillä työnvaiheista (esim. virstanpylväistä tai suurempien kokonaisuuksien valmistumisesta). [CKS07] 3. Määritelty (Defined) tasolla prosessit ovat hyvin määriteltyjä standardien ja menetelmien mukaan. Suurimpana erottavana tekijänä kypsyystasojen 2 ja 3 välillä on standardien, prosessien kuvausten ja menetelmien laajuus. Tasolla 2 standardit, prosessien kuvaukset ja menetelmät voivat olla hieman erilaisia prosessien eri vaiheissa. Tasolla 3 vaihtelua ei juuri synny, sillä standardit, prosessien kuvaukset sekä menetelmät pohjautuvat organisaation perusprosesseihin, ja ne räätälöidään projektikohtaisesti sopiviksi, jolloin niistä saadaan johdonmukaisempia. Muita merkittäviä eroja tasojen 2 ja 3 välillä on, että prosessit on tasolla 3 määritelty perusteellisemmin kuin tasolla 2, lisäksi tasolla 3 prosessien hallinta on tasoa 2 tehokkaampaa. [CKS07] 4. Määrällisesti hallittu (Quantitatively managed) tasolla prosessia hallitaan tilastojen ja muiden kvantitatiivisten menetelmien mukaan. Tässä vaiheessa myös prosessinhallintaan aletaan käyttää kvantitatiivisia menetelmiä. Suurimpana erotuksena tasojen 3 ja 4 välillä on prosessien suorituskyvyn ennustettavuus. Koska tasolla 4 ryhdytään keräämään kvantitatiivista tietoa prosessien suorituksesta, voidaan niiden pohjalta rakentaa ennustuksia prosessien toiminnasta. CMMI:n tasolla 3 ennustuksia voidaan tehdä vain kvalitatiivisten tietojen pohjalta. [CKS07] 5. Optimoitu (Optimizing) tasolla organisaatio ja sen projektit käyttävät kvantitatiivisia menetelmiä laadun ja prosessin hallinnassa, jonka lisäksi prosessien ongelmakohdat 12
19 pyritään tunnistamaan, sekä prosessien toimintaa pyritään jatkuvasti parantamaan. Prosessien suorituskyvyn arvioinnissa käytetään kvantitatiivisia mittareita, joita kehitetään ja arvioidaan jatkuvasti. Tasolla 5 prosessien poikkeamat ja niihin johtavat syyt tunnistetaan ja tiedostetaan. [CKS07] Prosessialueet Kaikkiaan CMMI:ssä on määritelty 22 prosessialuetta. Jatkuvan lähestymistavan tukemiseksi prosessialueet luokitellaan vielä neljään kategoriaan. Nämä neljä kategoriaa ovat [CKS07]: Prosessinhallinta (Process Management) Projektinhallinta (Project Management) Tekniset prosessit (Engineering) Tukiprosessi (Support) Prosessialueiden kategorioimisella korostetaan prosessialueiden välisiä suhteita. Taulukossa 2 on esitelty CMMI:n prosessialueet. [CKS07] Taulukko 2. CMMI:n prosessialueet, kategoriat sekä kypsyystasot [CKS07] Prosessialue Kategoria Kypsyystaso Process Area Category Maturity level Toimittajasopimusten hallinta Projektinhallinta 2 Supplier Agreement Management Project Management 2 Projektin valvonta ja hallinta Projektinhallinta 2 Project Monitoring and Control Project Management 2 Projektisuunnittelu Projektinhallinta 2 Project Planning Project Management 2 Vaatimusten hallinta Tekniset prosessit 2 Requirements Management Engineering 2 Konfiguraationhallinta Tukiprosessi 2 Configuration Management Support 2 Mittaus ja analyysi Tukiprosessi 2 Measurement and Analysis Support 2 13
20 Prosessin ja tuotteen laadunvarmistus Tukiprosessit 2 Process and Product Quality Assurance Support 2 Integroitu projektin johtaminen Projektinhallinta 3 Integrated Project Management Project Managemet 3 Riskienhallinta Projektinhallinta 3 Risk Management Project Management 3 Organisaation prosessien määrittely Prosessinhallinta 3 Organizational Process Definition Process Management 3 Organisaation prosessi fokus Prosessinhallinta 3 Organizational Process Focus Process Management 3 Organisaation kouluttaminen Prosessinhallinta 3 Organizational Training Process Management 3 Vaatimusten kehittäminen Tekniset prosessit 3 Requirements Development Engineering 3 Tekniset ratkaisut Tekniset prosessit 3 Technical Solution Engineering 3 Validointi Tekniset prosessit 3 Validation Engineering 3 Varmennus Tekniset prosessit 3 Verification Engineering 3 Päätöksenteon analyysi ja ratkaiseminen Tukiprosessi 3 Decision Analysis and Resolution Support 3 Tuotteen integrointi Tekniset prosessit 3 Product Integration Engineering 3 Määrällinen projektin johtaminen Projektinhallinta 4 Quantitative Project Management Project Management 4 Organisaatioiden prosessien suorituskyky Prosessinhallinta 4 Organizational Process Performance Process Management 4 Organisaation innovaatio ja järjestäytyminen Prosessinhallinta 5 Organizational Innovation and Deployment Process Management 5 Juuri-syy-analyysi Tukiprosessi 5 14
21 Causal Analysis and Resolution Support 5 Kaikkiaan kypsyystasolla 2 on seitsemän prosessialuetta, tasolla 3 on yksitoista prosessialuetta ja tasoilla 4 sekä 5 on kaksi prosessialuetta. [CKS07] 3.2 ISO/IEC (SPICE) ISO/IEC (SPICE) on kansainvälinen standardi ohjelmistotuotantoprosessien arviointiin sekä kehittämiseen. Arvioinnin lopputuloksena saadaan arvioiduille prosessialueille muodostettua kyvykkyysarvio. Standardin mittausviitekehyksessä esitetyt kyvykkyystasot on suunniteltu siten, että ne soveltuvat erityyppisille prosesseille. Käytännössä tämä tarkoittaa sitä, että standardissa esitetty mittausviitekehys sopii muidenkin toimialojen prosessien arviointiin. [Col07] Standardi koostuu useista osista, jotka muodostavat viitekehyksen prosessien arviointiin. Yritykset voivat käyttää standardia useissa eri ohjelmistotuotannon vaiheissa, esimerkiksi ohjelmistojen suunnittelussa (Planning), hallinnassa (Managing), seurannassa (Monitoring), hankintojen valvonnassa ja parantamisessa (Controlling and improving acquisition), toimittamisessa (Supply), ohjelmistojen kehityksessä (Development), tuotannossa (Operation) sekä ohjelmistojen kehityksessä sekä tuessa (Evolution and support of software). [Pyh04] Kaikkiaan standardi pitää sisällään kymmenen eri osaa. Osat ovat: käsitteet ja sanasto, arvioinnin suorittaminen, ohjeistus arvioinnin suorittamiseen, ohjeistus prosessien kehityksen ja prosessien kyvykkyyden määritykseen, esimerkki prosessien arviointimallista, esimerkki järjestelmän elinkaaren arviointimallista, organisaation kypsyyden arviointi, esimerkki palveluidenhallinnan mallista, kohdeprosessien profiilit sekä turvallisuuslaajennus. Alla olevissa kuvissa 8, 9 ja 10 on esitelty standardin osat ja niiden väliset suhteet. 15
22 Kuva 8. ISO/IEC strandardin osat 1-5 ja niiden suhteet [DRV09] Kuva 9. ISO/IEC strandardin osat 6-9 ja niiden suhteet [DRV09] Kuva 10. ISO/IEC strandardin osa 10 [DRV09] ISO/IEC 15504:n osat ja niiden sisältö on käyty läpi alla olevissa kappaleissa ISO/IEC : Käsitteet ja sanasto Käsitteet ja sanasto (Concepts and Vocabulary) määrittelee prosessien arvioinnissa käytettävät käsitteet ja sanaston [ISO03a]. 16
23 3.2.2 ISO/IEC : Arvioinnin suorittaminen Arvioinnin suorittaminen (Performing an Assessment) määrittelee perustan prosessien arvioinnille. Tämä standardin osa asettaa minimivaatimukset arvioinnin suorittamiselle, joilla varmistetaan arviointien toistettavuus ja yhdenmukaisuus. Tämä osa on pääasiallisesti tarkoitettu arvioinnin suorittajille, sekä muille arviointiin liittyville sidosryhmän jäsenille, joiden tulee olla varmoja siitä, että standardin vaatimukset täyttyvät. Standardin tässä osassa määritellään myös arviointikehys prosessin kyvykkyyden arviointiin. Prosessin kyvykkyyttä kuvaavat kuusi tasoa. Jokainen kyvykkyystaso pitää sisällään tietyn määrän prosessiattribuutteja (Process Attributes), joiden saavuttamisen avulla määritellään prosessin kyvykkyys. Standardissa määritellyt tasot ovat: vaillinainen (Incomplete process), suoritettu (Performed process), hallittu (Managed process), vakiintunut (Establish process), ennustettava (Predictable process) sekä optimoitu (Optimizing process) [ISO02]. 0. Vaillinainen (Incomplete process) tasolla prosessia ei ole suoritettu, tai se ei saavuta sille asetettua tavoitetta [ISO02]. Vaillinaisille prosesseille on vaikea tunnistaa tavoitteita sekä ennalta määriteltyjä lopputuloksia [WaG00]. 1. Suoritettu (Performed process) prosessi on prosessi, joka saavuttaa sille asetetut tavoitteet [ISO02]. Projektin suunnittelu ja seuranta suoritettu tasolla voi olla puutteellista, ja tietyn prosessin suoritus on riippuvainen organisaatioiden yksilöistä [WaG00]. 2. Hallittu (Managed process) prosessi on suoritettu tasolla oleva prosessi, joka suoritetaan hallitusti. Hallittu tasolla prosessin suoritus on suunniteltua ja seurattua [ISO02]. Prosessi pysyy myös aikataulussa ja täyttää asetetut standardit ja vaatimukset [WaG00]. 3. Vakiintunut (Established process) prosessi suoritetaan ja hallitaan yleisesti hyväksyttyjen ohjelmistotuotantoprosessien käytäntöjen mukaisesti [ISO02]. 4. Ennustettava (Predictable process) prosessi on vakiintunut prosessi, joka toimii määriteltyjen rajojen sisällä ja saavuttaa sille asetetut tavoitteet [ISO02]. Tasolla myös prosessin suorituskykyä mitataan ja analysoidaan [WaG00]. 17
24 5. Optimoitu (Optimizing process) prosessi on edellä määritellyn ennustettavan prosessin kaltainen, jota jatkuvasti parannetaan kohtaamaan nykyiset ja tulevat liiketoiminnan tavoitteet [ISO02] ISO/IEC : Ohjeistus arvioinnin suorittamiseen ISO/IEC osa tarjoaa ohjeistuksen arvioinnin suorittamiseen (Guidance on performing an assessment). Osa opastaa tulkitsemaan vähimmäisvaatimukset ISO/IEC :ssa esitetyn arvioinnin suorittamiseksi. Arviointiprosessin suorittaminen vaatii vaiheet kuten; suunnittelu (Planning), tiedonkeruu (Data collection), tiedon validointi (Data validation), prosessiattribuuttien arviointi (Process attribute rating) sekä raportointi (Reporting). Standardin tässä osassa lisäksi käsitellään, mitä vastuita arviointiin osallistuvalla rooleilla on. [ISO03b] ISO/IEC : Ohjeistus prosessien kehitykseen ja prosessien kyvykkyyden käyttöön ISO/IEC opastaa, kuinka prosessiarviointeja voidaan hyödyntää prosessien kehityksessä ja kyvykkyyden määrityksessä. [ISO04a] Prosessien kehityksessä arviointi tarjoaa keinot, joilla voidaan arvioida arvioinnin kohteena olevan organisaation prosessien kyvykkyyttä. Vertaamalla prosessien arviointeja organisaation liiketoiminnan tavoitteisiin voidaan tunnistaa prosessiin liittyviä vahvuuksia, heikkouksia sekä riskejä. Arvioinnin suorittamisella voidaan määritellä prosessien tehokkuus liiketoiminnan tavoitteisen saavuttamiselle. Arvioinnit voivat toimia myös ärsykkeenä prosessien kehitykselle. [ISO04a] Prosessien kyvykkyyden määritys keskittyy analysoimaan yhden tai useamman prosessiarvioinnin vahvuuksia, heikkouksia sekä riskejä tietyissä prosesseissa. [ISO04a] ISO/IEC : Esimerkki prosessien arviointimallista ISO/IEC (An exemplar Process Assessment Model) tarjoaa esimerkkimallin prosessien arviointimallista. Esimerkkimallin viitekehys pohjautuu standardiin 18
25 ohjelmiston elinkaariprosesseista (ISO/IEC 12207), jonka tukena käytetään ISO/IEC sisältämiä prosessiattribuutteja. [ISO04b] Esimerkkimallissa esitetään kaksiulotteinen prosessien kyvykkyyden malli. Prosessiulottuvuudessa (Process dimension) määritellään prosessit ja ne luokitellaan prosessikategorioiksi. Kyvykkyysulottuvuudessa (Capability dimension) määritellään prosessiattribuuttien joukkojen kyvykkyystasot. [ISO04b] Kuvassa 11 on esitelty arviointimallin ja sen syötteiden väliset suhteet. Kuva 11. Arviointimallin ja sen syötteiden väliset suhteet [ISO04b] Arviointimalli sisältää prosesseja, jotka on jaettu kolmen prosessikategorian mukaan (kts. kuva 12). Nämä prosessikategoriat on luokiteltu ISO/IEC AMD1:ssä sekä AMD2:ssa. Luokat ovat: ensisijaiset elinkaaren prosessit (Primary life cycle processes), tukitoimintojen elinkaaren prosessit (Supporting life cycle processes) sekä organisaation 19
26 elinkaaren prosessit (Organizational lifecycle processes). Kuva 12. Prosessikategoriat sekä prosessijoukot [ISO04b] Prosessikategorioiden sisällä prosessit ryhmitellään vielä tarkemmin niiden toiminnan tyypin mukaan. Ryhmittelyn tarkoituksena on helpottaa arvioijia määrittelemään arviointien laajuus prosessien osalta. [ISO04b] 20
27 3.2.6 ISO/IEC : Esimerkki järjestelmän elinkaaren arviointimallista Esimerkki järjestelmän elinkaaren arviointimallista (An exemplar System Life cycle Process Assessment Model) sisältää ISO/IEC :ssä esitellyn esimerkkimallin kaltaisen mallin järjestelmän elinkaaren arviointiin. ISO/IEC :ssa esitetty malli pohjautuu standardiin järjestelmän elinkaaren prosesseita (ISO/IEC 15288) ja käyttää ISO/IEC :n prosessiattribuutteja. Kuvassa 13 on esitetty mallin rakenne sekä ISO/IEC :n ja ISO/IEC 15288:n väliset suhteet. [ISO06] Kuva 13. Arviointimallin ja sen syötteiden väliset suhteet [ISO06] Elinkaaren arviointimalli on kaksiuloitteinen, ja sisältää kyvykkyysulottuvuuden sekä prosessiulottuvuuden. Prosessiulottuvuudessa prosessit luokitellaan ja jaetaan prosessikategorioihin. Kyvykkyysulottuvuudessa määritellään kyvykkyystasot sekä niiden sisältämät prosessiattribuutit. [ISO06] ISO/IEC : Organisaation kypsyyden arviointi ISO/IEC käsittelee organisaation kypsyyden määrittelyä sekä sen vaatimuksia (Assesment of Organizational Maturity). ISO/IEC osassa esitetään lisäksi 21
28 viitekehys organisaation kypsyyden arviointiin. Organisaatioiden kypsyys arvioidaan kuusitasoisen arvoasteikon mukaan. Käytettävät tasot ovat: epäkypsä, vaatimaton, hallittu, vakiintunut, ennustettava sekä innovoiva. [ISO08] 0. Epäkypsä (Immature) tasolla yrityksessä ei tehokkaasti toteuteta prosesseja, jotka ovat keskeisessä asemassa yrityksen liiketoimintaa. [ISO08a] 1. Perus (Basic) tasolla organisaation liiketoiminnan kannalta keskeisessä olevat prosessit sekä niiden vaatimat toiminnot toteutetaan. [ISO08a] 2. Hallittu (Managed) tasolla yritys osoittaa, että liiketoiminnan kannalta keskeisiä prosesseja hallitaan. Hallittu tasolla olevien organisaatioiden keskeisten prosessien suoritus on suunniteltua, sekä vastuualueiden jako ja kommunikointi on tehokasta. Prosesseille jaetaan resurssit ennalta laadittujen suunnitelmien mukaan, sekä prosesseja seurataan aktiivisesti. Hallittu tason organisaatioissa myös poikkeavuuksia pyritään seuraamaan ja niihin puututaan. Lisäksi prosessien lopputuotteiden hallintaan on tunnistettu vaatimuksia sekä vaatimusten toteutusta tarkkaillaan. [ISO08a] 3. Vakiintunut (Established) tasolla organisaation liiketoiminnan kannalta keskeiset prosessit määritellään sekä toteutetaan tehokkaasti. Tämän tason organisaatioissa luodaan prosessienkuvauksille standardit, jotka kattavat yleisimmät organisaation prosessit, lisäksi varmistetaan, että yksittäiset prosessien toteutukset suoritetaan määritysten mukaisesti. Tämän tason organisaatioissa myös prosessien suorituksesta kerätään tietoa ja kerätty tieto jaetaan koko organisaatiolle. Suorituksesta kerättyä tietoa hyödynnetään prosessien kehityksessä. [ISO08a] 4. Ennustettava (Predictable) tasolla organisaation liiketoiminnan kannalta keskeisimmät prosessit on määrällisesti analysoitu. Tämän tason organisaatio asettaa prosessin suorittamiselle määrällisiä tavoitteita, sekä liiketoiminnan kannalta keskeisimpien prosessien suoritusta analysoidaan. Ennustettava tasolla olevat organisaatiot lisäksi keräävät, mittaavat ja analysoivat keskeisten prosessien suoritusta, sekä tarkkailevat prosessien suorituksessa tapahtuvia vaihteluita ja suorittavat vaadittavia korjaus- sekä ennaltaehkäisy toimenpiteitä. Tämän tason organisaatioissa 22
29 perustetaan pysyviä, kyvykkäitä sekä ennustettavia prosesseja määriteltyjen valvontarajojen puitteissa. [ISO08a] 5. Innovoiva (Innovating) tasolla organisaatio on valmis mukauttamaan tai muuttamaan sen liiketoiminnan kannalta keskeisimpiä toimintoja. Tämän tason organisaatioissa käytetään prosessin suorituskykyanalyysejä, joilla yleisimmät vaihteluita aiheuttavat tekijät prosessien suorituksessa tunnistetaan. Tunnistettujen tekijöiden pohjalta organisaatiossa voidaan kehittää niihin parannusehdotuksia. Tämän tason organisaatiot myös tunnistavat prosesseja sekä liiketoimintaa edistäviä innovaatioita, sekä mahdollisuuksia testata havaittuja kehitysehdotuksia. Suoritetuista pilottitesteistä kerätään ja analysoidaan tietoa, jota käytetään kehityskohteiden valinnassa. Organisaatioissa lisäksi valittujen kehityskohteiden suoritusta tarkkaillaan. [ISO08a] ISO/IEC : Esimerkki palveluidenhallinnan mallista ISO/IEC kahdeksannessa osassa ( ) esitetään esimerkkimalli ITpalveluidenhallinnan prosessien arviointiin. Arviointimalli täyttää ISO/IEC :n asettamat vaatimukset. [ISO12b] ISO/IEC : Kohdeprosessien profiilit ISO/IEC osan (Target Process Profiles) tarkoituksena on opastaa määrittelemään haluttu tai vaadittu kyvykkyys valituille prosesseille, eli määritellään kohdeprosessille profiili. Kohdeprosessien joukot muodostavat kohdekyvykkyyden (Target capability). Näin ollen kohdekyvykkyys muodostuu joukosta kohdeprosesseja. [ISO08b] ISO/IEC : Turvallisuuslaajennus Turvallisuuslaajennus (Safety Extension) on ISO/IEC 15504:n kymmenes ja viimeinen osa. Turvallisuuslaajennus on tehty paikkaamaan puutteita, joita mallissa aiemmin oli monimutkaisten turvallisuuskriittisten sovellusten prosessien kyvykkyyden arvioinnissa. ISO/IEC osassa määritellään kolme prosessia, nämä prosessit ovat: turvallisuuden hallintaprosessi (Safety Management process), turvallisuuden suunnitteluprosessi (Safety Engineering process) sekä turvallisuuden 23
30 hyväksymisprosessi (Safety Qualification process). Turvallisuuden hallintaprosessin tarkoituksen on varmistaa, että tuotteet, palvelut sekä elinkaaren prosessit täyttävät turvallisuuden tavoitteet. Turvallisuuden suunnitteluprosessin tarkoituksena on varmistua siitä, että turvallisuuteen kiinnitetään suunnittelun eri vaiheissa huomiota. Turvallisuuden hyväksymisprosessissa arvioidaan ulkoisten resurssien sopivuutta turvallisuuskriittisten ohjelmistojen ja laitteistojen kehitykseen. [LFF11] 3.3 Ohjelmistotuotantoprosessien kehitysmallien hyödyt ja haitat Ohjelmistotuotantoprosessien kehitysmalleista on tullut ensisijainen lähestymistapa ohjemistojen ja palveluiden laadun sekä luotettaavuuden kehittämisessä. Kehitysmallien avulla voidaan lisäksi tavoitella taloudellista etua ja voittoja. [IFS08] Kehitysmallien käyttöönotossa tietyn kypsyystason saavuttaminen, tai saatu sertifikaatti osoittaa, kuinka ohjelmistotuontatoprosessin kehittäminen on tuottanut tulosta. Konkreettisempia mittareita ohjelmistotuotantoprosessin kehittämiselle on kehittämisen avulla saadut hyödyt, kuten kulujen väheneminen, tuotteiden laadun parantuminen, tuottavuuden kasvu sekä parempi asiakastyytyväisyys. [IFS08] Ohjelmistotuotantoprosessin kehittämisen hyödyt muodostuvat kahdesta päälähteestä; tuottojen ja voittojen kasvamisesta sekä kulujen pienenemisestä. Kulujen pieneneminen johtuu esimerkiksi vähemmästä ylläpidon tarpeeta, sekä vähemmästä korjaamisen tarpeesta, mikä lyhentää tuottamiseen kulunutta aikaa ja nopeuttaa aikatauluja. Alla olevassa kuvassa 14 on esitetty, kuinka eräässä yrityksessä ohjelmistotuotantoprosessia lähdettiin kehittämään, sekä kuinka käyttöönotetut ohjelmistotuotantoprosessien kehitysmallit ovat vaikuttaneet tuloihin. [IFS08] 24
31 Kuva 14. Kehitysmallien vaikutus tuloihin [IFS08] Kuten kuvasta havaitaan, ohjelmistotuotantoprosessin kehittäminen eteni yrityksessä kolmessa vaiheessa. Kussakin vaiheessa käytetyt menetelmät toimivat pohjana uuden menetelmän käyttöönotolle. Kuvasta on mielenkiintoista huomata, että kahdessa ensimmäisessä vaiheessa ohjelmistotuotantoprosessin kehittäminen aiheutti enemmän kuluja kuin tuottoja. Ensimmäisessä vaiheessa (ISO 9001) sijoitetun pääoman tuotto oli -75 %, toisessa vaiheessa (MPS.BR Leel F) -3 % ja kolmannessa vaiheessa tuottoa kertyi 54 %. [IFS08] Ohjelmistotuotantoprosessin kehittämisen tuottoja voidaan mitata muutenkin kuin mittaamalla menoja ja tuloja. Esimerkiksi kyseisen yrityksen tapauksessa projektien määrä kasvoi ohjelmistotuotantoprosessien kehittämisen yhteydessä (kts. kuva 15). Kuva 15. Ohjelmistotuotantoprosessien kehittämisen vaikutus projektien määrään. [IFS08] Kuten kuvasta 15 näkee, kasvoi yrityksessä suoritettujen projektien määrä. Projektien määrän kasvua voidaan tulkita esimerkiksi siten, että parantunut tuotteiden ja palveluiden laatu on synnyttänyt enemmän tilauksia asiakkailta. [IFS08] 25
32 Kuten edellä todettiin ohjelmistotuotantoprosessien kehittämismallien avulla organisaatiot voivat kehittää tuottamiensa palveluiden ja tuotteiden laatua, ja tämän lisäksi saavuttaa säästöjä. Tästäkin huolimatta ohjelmistotuotantoprosessien kehittämismalleja on käytössä osassa ohjelmistoja tuottavista yrityksistä. Yritykset, jotka eivät käytä CMMI:tä perustelivat päätöstään mm. seuraavasti: organisatio on pieni, malli on liian kallis, ei ole aikaa sekä yritys käyttää jotain muuta ohjelmistotuotantoprosessin kehittämismallia (kts. kuva 16) [SNJ07]. Käyttämättömyyttä perusteltiin lisäksi siten, ettei CMMI:stä saaduista hyödyistä oltu varmoja sekä että yrityksellä oli muita prioriteetteja [KBS09]. Kuva 16. Yritysten perusteluja, miksi CMMI:tä ei ole otettu käyttöön [KBS09]. Kuvassa 16 on esitetty syitä, miten yritykset perustelivat CMMI:n käyttämättömyyttä. Kuvassa on lisäksi esitetty, kuinka CMMI:n käyttämättömyyttä on perusteltu erikokoisissa yrityksissä. Kuten kuvasta voidaan huomata, pienissä yrityksissä CMMI:tä ei käytetä useista syistä, kun taas suurissa yrityksissä perusteluja käytön vähäisyydelle on neljä yhtä pätevää syytä. Nämä neljä syytä ovat: ei selkeitä etuja, prioriteetit, ei ole aikaa sekä mahdollisia hyötyjä ei haluta [KBS09]. Onkin mielenkiinoista huomata, että esimerkiksi ajankäyttö on suurissa yrityksessä suurempi syy olla käyttämättä CMMI:tä 26
33 kuin pienissä yritykssiä. Yrityksen koosta huolimatta suurimmat kaksi syytä ovat hinta sekä saatava hyöty ja näyttäisikin siltä, että ohjelmistotuotantoprosessin kehittämisen perusteleminen on ongelmallista liiketoiminnan kannalta [KBS09]. 27
34 4 OHJELMISTOTESTAUKSEN KEHITTÄMISMALLIT Viime vuosikymmenien aikana ohjelmistoteollisuus on keskittynyt entistä enemmän kehittämään tuotteiden laatua. Haasteelliseksi tämän tekee ohjelmistojen koon ja monimutkaisuuden jatkuva kasvu. Tuotteiden laadun parantamisessa keskitytään kehittämään ohjelmistotuotantoprosessia. Vaikka testausvaiheen kustannukset projekteissa ovat vähintään 30 40%, on ohjelmistotuotantoprosessien kehittämisen malleissa kiinnitetty vain vähän huomiota testaukseen. Tämän takia on ohjelmistotestauksen yhteisö luonut omia kehitysmalleja. [TMM10] Standardi määrittelee testauksen prosessiksi, missä laitteistoa tai komponenttia käytetään tiettyjen ehtojen mukaan, havainnoidaan sekä tallennetaan tuloksia ja arvioidaan laitteiston tai komponentin ominaisuuksia [IEE90]. Toinen standardi (Std ) määrittelee testauksen analysoinnin vaiheeksi, jonka tavoitteena on löytää eroavaisuuksia toteutuksen ja määritysten väliltä, sekä jonka tavoitteena on arvioida ohjelmiston ominaisuuksia [IEE98]. Ohjelmistontestaus on myös suosittu riskinhallinnan strategia. Testausta käytetään varmistumaan siitä, että kaikki toiminnalliset vaatimukset on saavutettu. Tämän lähestymistavan ongelmana on kuitenkin se, että kun testaus aloitetaan, on liian myöhäistä rakentaa laatua tuotteeseen [LDV09]. Alla olevissa kappaleissa esitellään yleisimmät testausprosessin kehittämisen mallit. 4.1 TPI NEXT TPI NEXT (Test Process Improvement) on testauksen tilan, vahvuuksien sekä heikkouksien havainnointiin ja kehittämiseen tehty malli. TPI NEXT-malli lähestyy prosessien kehitystä useista eri näkökulmista, kuten muun muassa työkalujen, tekniikoiden sekä raportoinnin kautta. TPI NEXT-mallissa näitä näkökulmia kutsutaan avainalueiksi (Key areas). Jokainen avainalue luokitellaan kypsyystasojen (Maturity level) mukaan, joita mallissa on neljä: alustava (Initial), kontrolloitu (Controlled), tehokas (Efficient) sekä optimointi (Optimizing). Kypsyystasojen saavuttaminen varmistetaan mallissa tarkistuspisteiden (Checkpoints) avulla. Tarkistuspisteet ovat 28
35 vaatimuksia; jos testausprosessi täyttää kaikki tietyn kypsyystason vaatimukset avainalue saavuttaa kyseisen kypsyystason. Mallissa esitetyt klusterit (Clusters) ovat eri prosessialueilta poimittuja tarkistuspisteiden joukkoja. Tällaiset tarkistuspisteiden joukot (klusterit) toimivat yhtenä kehitysaskeleena, ja niitä käytetään testausprosessin kypsyyden parantamiseen. [Sog09] Mallista löytyy lisäksi kehitysehdotuksia (Improvement suggestions) kypsyystasojen jokaiselta avainalueelta, joita voidaan hyödyntää kypsyystasojen tavoittelussa. Mahdollistajia (Enablers) käytetään kuvaamaan kuinka testausprosessi ja muut ohjelmistotuotannon prosessit voivat hyötyä yhteistyöstä, kuten parhaiden käytäntöjen jakamisesta. TPI NEXT-mallin rakenne on esitelty kuvassa 17. Kuva 17. TPI NEXT-mallin rakenne [Sog09] Avainalueet voivat vaikuttaa eri tavalla testausprosessiin. Lisäksi avainalueiden välillä saattaa ilmetä riippuvuuksia. Tällaisten vaikutusten ja riippuvuuksien selventämiseksi mallissa käytetään testauksen kypsyysmatriisia (Test Maturity Matrix). Kypsyysmatriisin rakenne ja sisältö on esitetty kuvassa 18. [Sog09] 29
36 4.1.1 Avainalueet TPI NEXT-mallissa testausprosessi jaetaan 16 avainalueeseen. Avainalueiden avulla testausprosessia voidaan arvioida ja kehittää yksityiskohtaisemmin. Jokaiselle avainalueelle määritetään kypsyystaso erikseen. [Sog09] Avainalueet jaetaan mallissa kolmeen ryhmään. Nämä ryhmät ovat: osapuolten sitoutuminen (Stakeholder Relations, SR), testauksen hallinta (Test Management, TM) sekä testaajan ammattitaito [Sog09]. Avainalueet on esitelty yksityiskohtaisemmin liitteessä Kypsyystasot TPI NEXT-mallissa on neljä kypsyystasoa (Maturity level). Nämä tasot ovat: alustava (Initial), kontrolloitu (Controlled), tehokas (Efficient) sekä optimoitu (Optimizing). [Sog09] Alustava tasolla testausprosessi on huonosti dokumentoitu sekä tilapäinen. Ensimmäisellä tasolla testaus aiheuttaa myöhästymisiä koko projektille, varsinkin kun virheitä löydetään vasta projektin myöhäisessä vaiheessa. Tyypillisesti tämän tason organisaatioissa testaus on riippuvainen tietyistä yksilöistä ja heidän osaamisestaan. [Sog09] Kontrolloitu tasolla testauksesta tulee hallitumpaa kuin aiemmalla tasolla. Testausprosessin alussa luodaan testaussuunnitelma, joka pitää sisällään testauksen tehtävät, laajuuden, suunnittelun sekä roolit ja vastuut. [Sog09] Tehokas tasolla kehitetään kontrolloitu tasolla määriteltyjä prosesseja eteenpäin. Kontrolloitu tasolla perustettiin tarvittavat testausprosessit, tehokas tason tavoitteena on kehittää prosessien suoritusta. Tasolla kiinnitetään myös huomiota virheiden priorisointiin. [Sog09] 30
37 Optimoitu tasolla pidetään huolta siitä, että aiemmilla tasoilla määriteltyjä toimenpiteitä suoritetaan jatkossakin. Aiemmilla tasoilla perustettiin tarvittavat toimenpiteet (kontrolloitu taso), joita kehitettiin tehokkaammiksi (tehokas taso). Optimointi tasolla edellisten tasojen saavutuksia optimoidaan muuttuvan ympäristön mukaan. [Sog09] Tarkistuspisteet TPI NEXT-mallissa avainalueiden kypsyys määritellään tarkistuspisteiden avulla. Alustava tasolle ei ole määritelty tarkistuspisteitä. Kypsyystasoilta voidaan edetä seuraavalle tasolle vain, jos edellisen tason kypsyys on saavutettu. Lisäksi avainalueiden tulee täyttää kaikki tasolle määritellyt tarkistuspisteet, jotta se voidaan laskea kuuluvaksi tietylle tasolle. Esimerkiksi kontrolloitu tasolla testausprosessin tulee täyttää kaikki kontrolloitu tason tarkistuspisteiden vaatimukset, jotta se lasketaan kuuluvaksi kontrolloitu tasolle. Samalla tapaa avainalue ei voi olla tasolla tehokas, jos se ei ole täyttänyt kaikkia kontrolloitu tason tarkistuspisteitä. [Sog09] Tarkistuspisteiden määrä avainalue/kypsyystaso kombinaatiolle vaihtelee kolmesta neljään kontrolloitu ja tehokkaalla tasolla. Optimoitu tasolla tarkistuspisteitä on kahdesta kolmeen. Tarkistuspisteiden tarkoitus on mallissa kuvata, mitä pitää tehdä, jotta testausprosessia kehitettäisiin. Tarkistuspisteet on muotoiltu kysymyksiksi tai väitteiksi, joihin tulee vastata myönteisteisesti, jotta tietty taso saavutettaisiin, esimerkkinä tarkistuspisteet testausstrategialle kontrolloidulla tasolla [Sog09]: 1. Pääsidosryhmät ovat samaa mieltä dokumentoidusta testausstrategiasta. 2. Testausstrategia pohjautuu tuotteen riskianalyysiin. 3. Testauksen tasot, tyypit, kattavuus ja syvyys vaihtelevat analysoitujen riskien mukaan. 4. Uusinta- ja regressiotestaukselle on määritelty yksinkertainen strategia Testauksen kypsyysmatriisi Testauksen kypsyysmatriisin tarkoitus on tarjota yleiskuva kaikista avainalueista sekä niiden kypsyystasoista. Kypsyysmatriisissa listataan kaikki 16 avainaluetta. Alla olevassa kuvassa (kuva 18) on esitetty esimerkki TPI NEXT-mallin kypsyysmatriisista, 31
38 joka kuvastaa yhden yrityksen testausprosessin sen hetkisen tilaa. Oranssilla värillä on kuvattu jo saavutetut tarkistuspisteet. [Sog09] Kuva 18. Testauksen kypsyysmatriisi [Sog09] Kuvan 18 esittämästä kypsyysmatriisista huomataan, että seitsemän avainaluetta on kontrolloitu tasolla: testausstrategia, testausprosessin hallinta, arviointi ja suunnittelu, virheiden hallinta, testausmateriaalien hallinta, testausmenetelmä sekä testaustyökalut. Mittarit avainalue on tehokkaalla tasolla ja loput avainalueista alustavalla tasolla. Kommunikointi avainalue lasketaan kuuluvaksi alustava tasolle, koska kolmea kontrolloitu tason tarkistuspistettä ei ole saavutettu. Kypsyysmatriisin muodostamisen on saatavilla erillinen työkalu. [Sog09] 4.2 TMMi TMMi (Test Maturity Model Integration) on testausprosessien kehittämisen malli, joka on sisarmalli CMMI:lle [Zyl11]. Tässä kappaleessa esitellään TMMi ja sen käyttö yrityksissä TMMi kypsyystasot TMMi:ssä prosessit jaetaan hierarkkiseen järjestykseen kypsyyden mukaan. Kaikkiaan kypsyystasoja TMMi:ssä on viisi. Nämä tasot ovat: varhainen (Initial), hallittu (managed), määritelty (defined), mitattu (measured) ja optimoitu (optimization). Jokaisessa tasossa on määritelty joukko prosesseja, jotka yrityksessä tulee toteutua, jotta 32
39 yritys saavuttaisi kyseisen kypsyystason. Saavutettuaan jonkin kypsyyden tason voi yritys lähteä etenemään korkeammille kypsyystasoille. Kypsyystason saavuttaminen on osoitus siitä, että seuraavaan tasoon vaadittavat toimenpiteet on yrityksessä olemassa. Kuvassa 19 on esitelty TMMi:n kypsyystasot sekä tasojen prosessialueet. [TMM10] Kuva 19. TMMi:n kypsyystasot ja prosessialueet [TMM10] Taso 1. Varhainen (Initial). Ensimmäisellä kypsyystasolla yrityksessä testaus on sekasortoista ja huonosti määriteltyä. Yleensä ei ole olemassa vakaita tukitoimia prosesseille, ja yrityksessä luotetaan henkilöstön pätevyyteen. Ensimmäisen kypsyystason yrityksissä testausta suoritetaan vain tilapäisesti ohjelmoinnin päätyttyä. Ensimmäisellä tasolla testauksen tarkoituksena on osoittaa, että ohjelma toimii ilman merkittäviä epäonnistumisia. Testaukseen ei ensimmäisen tason yrityksissä ole varattu 33
40 tarpeeksi resursseja, työkaluja tai osaavia ihmisiä. TMMi:n ensimmäiselle tasolle ei ole määritelty prosessialueita. [TMM10] Taso 2. Hallittu (Managed). TMMi:n toisella tasolla testaus on hallitumpaa, ja se erotetaan selvästi omaksi osakseen ohjelmistotuotantoprosessista. Testauksen rooli on vielä ohjelmoinnin varjossa, ja sitä pidetään vaiheena, joka vasta seuraa ohjelmointia. Yrityksessä on määritelty testausstrategia ja lisäksi testaussuunnitelmia on kehitetty. Testauksen suunnittelun tekniikoilla johdetaan määrittelyistä testitapaukset. Tasolla kaksi olevissa yrityksissä testausta seurataan ja kontrolloidaan, jotta varmistutaan testauksen sujuvuudesta. Yrityksissä, jotka ovat tasolla kaksi, voi testaus alkaa vielä suhteellisen myöhään, esimerkiksi vasta ohjelmoinnin yhteydessä. Testauksen tavoite TMMi:n toisella tasolla on varmistua siitä, että kehitettävä ohjelma täyttää sille annetut vaatimukset. Tasolla kaksi aiheutuneet laatuongelmat johtuvat usein testauksen myöhäisestä aloittamisesta, jolloin suunnittelun ja vaatimusmäärittelyn virheet ovat jo päätyneet ohjelmaan. TMMi:n tasolle kaksi määritellyt prosessialueet ovat [TMM10]: Testauksen käytännöt ja strategia (Test Policy and Strategy) Testauksen suunnittelu (Test Planning) Testauksen valvonta ja kontrollointi (Test Monitoring and Control) Testien suunnittelu ja suorittaminen (Test design and Execution) Testiympäristö (Test Environment) Taso 3. Määritelty (Defined). TMMi:n kolmannella tasolla testaus ei ole enää vain vaihe, joka seuraa toteutusta, vaan se integroidaan koko kehitysprosessiin sekä välietappeihin. Testauksen suunnittelu alkaa kolmannella tasolla aikaisin, esimerkiksi vaatimusmäärittelyn yhteydessä. Tasolla testausprosessinkehitys nähdään organisaatiossa hyväksyttynä käytäntönä. Organisaatiot, jotka ovat kolmannella tasolla ymmärtävät katselmoinnin tärkeyden. Tällä tasolla testaus myös laajennetaan kattamaan ei-toiminnallisen testauksen, kuten esimerkiksi käytettävyyden tai luotettavuuden. Keskeinen eroavaisuus tasojen kaksi ja kolme välillä on käytäntöjen sekä prosessien kuvausten ulottuvuus. TMMi:n toisella tasolla käytännöt saattavat vaihdella esimerkiksi projektien välillä. Kolmannella tasolla käytännöt on räätälöity organisaation käytäntöjen 34
41 pohjalta, ja ne ovat tämän takia pysyvämpiä. Toinen merkittävä ero tasojen 2 ja 3 välillä on se, että tasolla 3 prosessit on kuvattu paljon tarkemmin. TMMi:n kolmannen tason prosessialueet ovat [TMM10]: Testausorganisaatio (Test Organization) Testauskoulutus (Test Training Program) Testauksen elinkaari ja integraatio (Test Lifecycle and Integration) Ei-toiminnallinen testaus (Non-functional Testing) Vertaiskatselmukset (Peer Reviews) Taso 4. Mitattu (Measured). TMMi:n neljännellä tasolla testaus on kauttaaltaan määritelty, hyvin perustettu sekä mitattavissa oleva prosessi. Tasolla otetaan käyttöön koko organisaation kattava testauksen mittaamiskäytäntö, jota käytetään testausprosessien arviointiin, tukemaan tuottavuutta sekä mittaamaan kehitystä. Mittausten tuloksia käytetään avuksi organisaation päätöksenteossa. Arvioinnit sekä katselmoinnit nähdään osana testausprosessia, ja niitä hyödynnetään tuotteiden laadun mittaamiseen elinkaaren aikaisessa vaiheessa. TMMi:n neljännen tason prosessialueet ovat [TMM10]: Testauksen mittaaminen (Test Measurement) Ohjelmiston laadun arviointi (Software Quality Evaluation) Edistyneet vertaiskatselmukset (Advanced Peer Reviews) Taso 5. Optimoitu (Optimization). TMMi:n viidennellä ja viimeisellä tasolla testausprosessin menetelmiä ja tekniikoita optimoidaan. Viimeisellä tasolla testausprosessi on jo täysin määritelty, ja organisaatio pystyy jatkuvasti kehittämään prosessejaan tilastollisten menetelmien avulla. Tasolla keskeisessä roolissa on virheiden ennaltaehkäisy. Virheiden ennaltaehkäisyn tavoitteena on tunnistaa ja analysoida yleisimpiä virheiden syitä, sekä estää samojen virheiden ilmaantuminen tulevaisuudessa. Tason 5 prosessialueet ovat [TMM10]: Virheiden ennaltaehkäisy (Defect Prevention) Testausprosessin optimointi (Test Process Optimization) Laadun hallinta (Quality Control) 35
42 Alla olevassa kuvassa 20 on selvitetty TMMi:n tasojen rakenne. Kuva 20. TMMi:n tasojen rakenne [Tho10] Ylimpänä oleva kypsyystaso osoittaa organisaation, projektin tai työryhmän kypsyyttä. Kypsyystasot sisältävät prosessialueita, joiden tavoitteet tulee saavuttaa, jotta saavutetaan tavoiteltu kypsyystaso. Jokainen prosessialueista sisältää joukon tavoitteita, sekä yleisiä ja yksityiskohtaisia käytäntöjä joiden avulla prosessialueen toimet voidaan käytännössä toteuttaa. Esimerkiksi TMMi:n tason 2 prosessialueisiin kuuluu Testauksen käytännöt ja strategia. Tälle prosessialueelle on TMMi:ssä määritelty seuraavat yksityiskohtaiset käytännöt [TMM10]: SP (Specific Practise) 1.1 Määrittele testauksen tavoitteet (Define test goals) SP 1.2 Määrittele testauksen menettelytavat (Define test policy) SP 1.3 Jaa testauksen menettelytavat sidosryhmille (Distribute the test policy to stakeholders) 36
43 4.2.2 TMMi yrityksissä Ensimmäinen TMMi:n suorituskykytesti, jossa analysoitiin viidenkymmenen TMMi arvioinnin tuloksia, osoitti että pääosa (84 %) yrityksistä on tasolla 1. Tasolla 2 yrityksistä on 10 % ja tasolla 3 6 %. Korkeammille TMMi:n tasoille ei arvioitavista yrityksistä yltänyt yksikään. Kuvassa 21 on esitetty yritysten jakauma kypsyystasoille. [VeC12] Kuva 21. Yritysten jakautuminen TMMi:n kypsyystasoille [VeC12] Huomioitavaa kuitenkin on, että tasolla 1 olevien yritysten prosessien kypsyydessä on eroavaisuuksia, toisissa prosessit ovat kertaluonteisia ja kaoottisia ja toisissa hallitumpia ja pysyvämpiä. [VeC12] Kuvassa 22 on esitetty, kuinka tasolla 2 eri prosessiealueet menestyivät TMMi arvioinneissa. 37
44 Kuva 22. TMMi tason 2 prosessialueiden menestyminen [VeC12] Kuten kuvasta 22 näkyy operationaaliset prosessialueet, kuten testien suunnittelu ja suoritus (TDE) sekä testausympäristö (TE) menestyivät parhaiten. Hallinnollisten prosessialueiden kuten testauksen käytännöt ja strategia (TPS), testauksen suunnittelu (TP) sekä testauksen seuranta ja hallinta (TMC) kypsyys yrityksissä vaihtelee paljon, mikä näkyy tuloksissa operationaalisia prosessialueita heikompana kypsyytenä. [VeC12] 4.3 ISO/IEC ISO/IEC on testausprosessien arviointiin kehitetty standardi. Standardi on vielä kirjoitushetkellä kehityksen alla, eikä sitä ole vielä julkaistu. Tässä tutkielmassa viitataan standardin työskentelyversioon ( ). ISO/IEC 33063:ssa on keskeisessä asemassa standardin sisältämä esimerkkimalli testausprosessien arviointiin. Standardissa testausprosessien arvioinnin pohjana käytetään ISO/IEC (Software testing part 2: Test Process) määriteltyä testausprosessin viitekehystä, joka hyödyntää ISO/IEC (Measurement framework for assessment of process capability and organizational maturity) prosessiattribuutteja. Kuvassa 23 on esitetty testausprosessien arviointimmallin yleinen rakenne. [ISO12a] 38
45 Kuva 23. Testausprosessien arviointimalli sekä sen osien väliset suhteet [ISO12a] Testausprosessin arviointimalli on kaksiulotteinen. Malli sisältää testausprosessiulottuvuuden (Test process dimension) sekä kyvykkyys- ulottuvuuden (Capability dimenstion). Testausprosessi- ulottuvuudessa prosessit määritellään ja luokitellaan prosessikategorioihin. Kyvykkyys- ulottuvuudessa luokitellaan prosessiattribuutit ja määritellään kyvykkyystasot [ISO12a]. 39
46 4.3.1 ISO/IEC prosessialueet Kuvassa 24 on listattu ISO/IEC :n prosessijoukot sekä prosessit, jotka toimivat pohjana testausprosessien arviointimallin prosessiulottuvuudelle. Prosessijoukot koostuvat useasta eri prosessista. Prosessit jaetaan organisaation prosesseihin, testauksen hallinnan prosesseihin sekä dynaamisiin testausprosesseihin. [ISO12b] Kuva 24. ISO/IEC :n prosessit ja prosessijoukot [ISO12b] Kuvassa 25 listataan prosessit, jotka on sisällytetty testausprosessien arviointimallin prosessiulottuvuuteen. [ISO12b] 40
47 Kuva 25. Prosessijoukot ja kategoriat [ISO12b] ISO/IEC prosessien lisäksi testausprosessien arviointimallissa käytetään seuraavia prosessijoukkoja: projektin testauksen hallinnan prosessit (Project test management processes, yksikkötestausprosessit (Unit test processes), integrointi testausprosessit (Integration test processes), järjestelmän testausprosessit (System test processes), hyväksymistestausprosessit (Acceptance test processes) sekä eitoiminnalliset testausprosessit (Non-functional test processes). [ISO12b] ISO/IEC kyvykkyystasot ISO/IEC standardissa esitetyn arviointimallin kyvykkyystasot ovat vaillinainen, suoritettu, vakiintunut, ennustettava sekä optimoitu. [ISO12b] Testausprosessien arviointimallissa prosessienkyvykkyyttä arvioidaan prosessien kyvykkyystasojen sekä niiden sisältämien prosessiattribuuttien avulla. Prosessiattribuuttien suorittamisen avulla voidaan mallissa arvioida prosessien kyvykkyyttä. Kaikkiaan mallissa on määritelty kuusi kyvykkyystasoa, jotka pitävät 41
48 sisällään yhdeksän prosessiattribuuttia. Määritellyt kyvykkyystasot ovat: vaillinainen (Incomplete process), suoritettu (Performed process), hallittu (Managed process), vakiintunut (Establish process), ennustettava (Predictable process) sekä optimoitu (Optimizing process). [ISO12a] 0.Vaillinainen (Incomplete) tasolla prosessia ei lainkaan toteuteta tai se ei saavuta sille asetettua tavoitetta. [ISO12b] 1. Suoritettu (Performed) tasolla prosessit saavuttavat niille asetetut tavoitteet. [ISO12a] 2. Hallittu (Managed) tasolla prosessit toteutetaan hallitusti ja lopputuloksena saadut tuotteet on hallittuja ja ylläpidettyjä. [ISO12b] 3. Vakiintunut (Establsih) tasolla prosessi on hallittu tason kaltainen, mutta prosessien suoritus noudattaa ennalta ennalta tehtyjä määrityksiä. [ISO12b] 4. Ennustettava (Predictable) tasolla prosessi on vakiintunut prosessi, joka toimii määriteltyjen rajojen sisällä ja saavuttaa sille asetetut tavoitteet. [ISO12b] 5. Optimoitu (Optimizing) tasolla prosessit ovat edellä mainitun ennustettavan prosessin kaltaisia, mutta niitä tällä tasolla niitä kehitetään jatkuvasti kohtaamaan strategioiden ja organisaation muutoksia. [ISO12b] Prosessiattribuuttien avulla voidaan määritellä onko prosessi saavuttanut tietyn kyvykkyystason. Taulukossa 3 on esitelty prosessiattribuutit sekä niiden jakautuminen kyvykkyystasoille. [ISO12b] Taulukko 3. Prosessiattribuutit sekä kyvykkyystasot. [ISO12b] Prosessiattribuutti ID Kyvykkyystasot ja prosessiattribuutit Taso 0. Vaillinainen (Incomplete) Taso 1. Suoritettu (Performed) PA 1.1 Prosessin suorituskyky (Process performance) Taso 2. Hallittu (Managed) PA 2.1 Suorituskyvyn hallinta (Performance management) PA 2.2 Lopputuotteiden hallinta (Work product 42
49 PA 3.1 PA 3.2 PA 4.1 PA 4.2 PA 5.1 PA 5.2 management) Taso 3. Vakiintunut (Established) Prosessin määrittely (Process definition) Prosessien käyttöönotto (Process deployment) Taso 4. Ennustettava (Predictable) Prosessin mittaaminen (Process measurement) Prosessin kontrollointi (Process Control) Taso 5. Optimoitu (Optimizing) Prosessin innovointi (Process innovation) Prosessi innovaatioiden toteutus (Process innovation implementation) Prosessiattribuuttien suoritusta arvioidaan ISO/IEC 33020:ssa esitetyllä neljätasoisella asteikolla. Prosessiattribuuttien arvioinnissa arvioidaan kuinka hyvin arvioinnin kohteena oleva prosessi on täyttänyt prosessiattribuuttinsa. ISO/IEC 33020:ssa esitetty neljätasoinen asteikko on [ISO12c]: N, Ei saavutettu (Not achieved). Tällä tasolla arvioitavan prosessin prosessiattribuutteja ei saavuteta. P, Osittain saavutettu (Partially achieved). Tällä tasolla arvioitavan prosessin prosessiattribuutit saavutetaan osittain. L, Suurelta osin saavutettu (Largely achieved). Tällä tasolla arvioinnin kohteena olevan prosessin prosessiattribuuttien suurimittaisesta saavuttamisesta on saatavissa todisteita. F, Täysin saavutettu (Fully achieved). Tällä tasolla arvioinnin kohteena olevan prosessin prosessiattribuut saavutetaan täysin. 43
50 5 ADEPT-MENETELMÄ Prosessienkehittämismallien soveltuvuus sekä rajalliset resurssit tekevät ohjelmistotuotantoprosessien kehittämisen pienille yrityksille haasteelliseksi. Pienien yritysten fokus on nopeassa markkinoille pääsyssä, innovaatioissa sekä luovissa ratkaisuissa. Tämän takia CMMI:n kaltaisia ohjelmistoprosessien kehittämismalleja, joiden pääpaino on pysyvyyden ja ennustettavuuden saavuttamisessa ei pienissä yrityksissä usein huomioida. Prosessien arviointimenetelmät koetaan myös monimutkaisiksi sekä kalliiksi. [CTC07] Adept-menetelmä on Irlannissa luotu prosessien arviointimenetelmä, jonka luontiin on vaikuttanut paljon Irlantilaisten yritysten koko ja rakenne. Menetelmä on pyritty pitämään kevyenä ja pienille organisaatioille soveltuvana. Seuraavissa kappaleissa esitellään Adept-menetelmän vaiheet sekä rakenne. 44
51 5.1 Adept-menetelmän vaiheet Adept-menetelmä on jaettu kahdeksaan eri vaiheeseen. Arvioinnit eri vaiheissa suorittavat kaksi arvioijaa. Kuvassa 26 on esitetty Adept-arviointiprosessin vaiheet. [CTC07] Kuva 26. Adept-arviointiprosessin vaiheet (muokattu [CTC07]) Vaihe 1. Arviointiaikataulun luominen ja aloitustapaaminen (Develop appraisal schedule and Receive Site Briefing) on arvioijien ja arvioitavan yrityksen välinen 45
52 alustava tapaaminen. Taso koostuu kahdesta osasta. Ensimmäinen osa pitää sisällään parhaiten soveltuvien prosessialueiden valitsemisen sekä arviointien aikataulujen sopimisen. Toisessa osassa arvioitava yritys esittelee yrityksensä rakennetta arvioijille. Vaiheen tarkoituksena on, että arvioijat oppivat arvioitavan yrityksen historiasta, liiketoiminnan tavoitteista, meneillään olevista projekteista sekä projektien vaiheista. Tapaamisessa on osallisena kaksi arvioijaa sekä vähintään yksi yrityksen edustaja. Tapaaminen kestää arviolta kaksi tuntia. [CRC06] Vaihe 2. Yleiskatsauksen luomisessa (Conduct overview briefing) pääarvioija esittelee käytettävän menetelmän arvioitavan organisaation edustajille. Tämän vaiheen tarkoituksena on turhien huolien poisto sekä pelisääntöjen sopiminen. Tähän vaiheeseen osallistuvat arvioijat sekä keskimäärin seitsemän yrityksen edustajaa (yritysten edustajien määrä vaihtelee yrityksen koon mukaan). Yleiskatsauksen luomiseen menee keskimäärin yksi tunti. [CRC06] Vaihe 3. Ohjelmistodokumenttien analysoiminen (Analyse software documentation) tarjoaa lyhyen katsauksen projektin dokumentaatioon. Yleisesti tarkastellaan seuraavia dokumentteja: tyypillinen projektisuunnitelma, tyypillinen projektiraportti, tyypillinen vaatimustenmäärittely sekä muita dokumentteja, jotka liittyvät yrityksen konfiguraationhallintaan. Dokumentteihin tutustumisen tavoitteena on tukea tasolla 4 pidettäviä prosessialuehaastatteluja. Tason suoritukseen osallistuu kaksi haastattelijaa sekä yleensä yksi yrityksen edustaja. [CRC06] Vaihe 4. Prosessialuehaastattelut (Conduct process area interviews) on Adeptmenetelmän keskeisin osa. Tällä tasolla haastatellaan arvioitavan yrityksen keskeiset henkilöt. Kaikkiaan pidetään kuusi noin tunnin mittaista haastattelua. Jokaiseen prosessialuehaastatteluun osallistuu kaksi haastattelijaa sekä vähintään yksi yrityksen edustaja. Prosessialuehaastattelujen tulisi edetä ohjelmistotuotantoprosessin mukaisessa järjestyksessä, jotta saataisiin rakennettua johdonmukainen kuva ohjelmistonkehityksen käytännöistä yrityksessä. Prosessialuehaastatteluissa toinen haastattelijoista esittää ennalta määriteltyjä kysymyksiä, ja toinen haastattelijoista tekee muistiinpanoja. Haastattelujen pohjalta luodaan tämän jälkeen arviointi käyttämällä Excel-työkalua. [CRC06] 46
53 Vaihe 5. Tulosten ja löydösten arviointi ja raportointi (Generate appraisal results and create the findings report) tasolla luodaan haastatteluista tehdyistä havainnoista raportti. Raportti pitää sisällään listan vahvuuksista, heikkouksista sekä kehitysehdotuksista arvioiduille prosessialueille. Raportissa käsitellään lisäksi yleiset havainnot sekä työkalun tuottamat ensiarviot. Tämän jälkeen raporttia kehitetään eteenpäin haastattelujen yhteydessä tehtyjen muistiinpanojen sekä Adept-työkalun tuottamien tulosten pohjalta. Tulosten ja löydösten arviointiraportti muutetaan lopuksi PowerPoint-esitykseksi, jossa listataan havaitut vahvuudet, heikkoudet, kehitysehdotukset sekä yleiset havainnot. [CRC06] Vaihe 6. Tulosten jakaminen (Deliver the findings report) pitää sisällään tulosten esittelemisen arvioidussa yrityksessä. Esitystilaisuuteen osallistuvat arvioijat sekä yrityksen edustajat. Tilaisuus kestää yleensä noin tunnin. [CRC06] Vaihe 7. Ohjelmistotuotantoprosessin kehittämissuunnitelman luominen (Develop a SPI path with the company) suoritetaan yhteistyössä arvioidun yrityksen henkilöstön kanssa. Tavoitteena on opastaa arvioitua yritystä siten, että saavutetaan paras mahdollinen hyöty yrityksen liiketoimintatavoitteisiin nähden. Kehityssuunnitelman pohjana voidaan käyttää ohjelmistotuotantoprosessin matriisia. Matriisi on kehitetty pienille ohjelmistoyrityksille, ja se mahdollistaa ohjelmistotuotantoprosessien kehittämisen huomioon ottaen liiketoimintatavoitteet, investointien tuotot sekä nopeat toteutukset. [CRC06] Vaihe 8. Kehityskohteiden uudelleenarviointi ja loppuraportin luominen (Re-assess the SPI path and produce a final report) pitää sisällään arvioidun yrityksen uudelleen arvioinnin noin kolme kuukautta sen jälkeen kun kehittämissuunnitelma on luotu. Tarkoituksena on uudelleen arvioida edistystä tasolla 7 tehtyyn kehityspolkuun nähden. Tämän tason lopputuloksena saavutetaan paranneltu kehityspolku sekä loppuraportti, josta näkee saavutetut edistykset. [CRC06] 47
54 5.2 Adept-menetelmässä arvioitavat CMMI:n prosessialueet Adept-menetelmän arvioinnit pohjautuvat CMMI:n prosessialueisiin sekä niissä on vaikutteita ISO/IEC mallista [CRC06]. Tämän takia menetelmällä on mahdollista arvioida keskeisiä CMMI:n prosessialueita. Adept-menetelmän kehittäjät valitsivat keskeisiksi prosessialueiksi CMMI:stä kypsyystasolta 2 kuusi seitsemästä prosessialueesta. Nämä prosessialueet muodostavat pohjan tehokkaalle ohjelmistoyritykselle. Valitut prosessialueet ovat: Vaatimusten hallinta (Requirements Management) Konfiguraationhallinta (Configuration Management) Projektisuunnittelu (Project Planning) Projektin valvonta ja hallinta (Project Monitoring and Control) Mittaus ja analysointi (Measurement and Analysis) Prosessin ja tuotteen laadunvarmistus (Process and product Quality Assurance) CMMI:n kypsyystasolta 3 valittiin Adept-menetelmään kuusi neljästätoista prosessialueesta. Kypsyystasolta 3 valitut prosessialueet ovat: Riskienhallinta (Risk Management) Tekninen ratkaiseminen (Technical Solution) Varmennus (Verification) Validointi (Validation) Vaatimusten kehittäminen (Requirements Development) Tuotteen integrointi (Product Integration) Korkeampien kypsyystasojen prosessialueille ei Adept-menetelmässä suoriteta arviointia, koska korkeampien kypsyystasojen prosessialueiden arviointien ei koeta hyödyttävän pieniä yrityksiä. [CRC06] Kaikkiaan menetelmällä voidaan arvioida 12 prosessialuetta, joista neljä on pakollisia. Pakolliset arvioitavat prosessialueet ovat: Vaatimustenhallinta (Requirements Management) 48
55 Konfiguraationhallinta (Configuration Management) Projektin suunnittelu (Project Planning) Projektin valvonta ja hallinta (Project Monitoring & Control) Prosessialueet ovat pakollisia, koska ne ovat keskeisessä asemassa ohjelmistokehitysyrityksen menestyksen kannalta. [CRC06] Arvioitavien prosessialueiden määrä on rajoitettu kuuteen, jotta menetelmä olisi kustannustehokas, ja paikan päällä suoritettavat arvioinnit voitaisiin pitää yhden päivän aikana. Arvioinnissa neljän pakollisen prosessialueen lisäksi voivat yritykset siis valita vielä kaksi arvioitavaa prosessialuetta. Aiempien tutkimusten pohjalta yrityksiä kehotetaan valitsemaan arvioitaviksi prosessialueiksi mittaamisen ja analysoinnin sekä prosessin ja tuotteen laadunvarmistuksen. [CRC06] 49
56 6 ADEPT+TMMI TESTAUSPROSESSIN ARVIOINTIMENETELMÄ Adept+TMMi -arviointimenetelmä on METRI-hankkeessa kehitetty testausprosessien arviointiin sekä vahvuuksien ja heikkouksien tunnistamiseen kehitetty menetelmä. Menetelmän etuna on sen keveys, jonka takia menetelmä ei vaadi paljoa resursseja arviointiin osallistuvalta yritykseltä. Lisäksi menetelmä auttaa yritystä ymmärtämään omat vahvuutensa ja heikkoutensa arvioitavilla testauksen prosessialueilla. Menetelmässä arvioitava prosessialueet pohjautuvat TMMi:n prosessialueisiin. Adept+TMMi perustuu TMMi -testausprosessien kyvykkyyskehikkoon. Menetelmässä arvioinnin suorittavat kaksi arvioijaa. Arvioinnit suoritetaan neljälle TMMi:n prosessialueelle. Kaikkiaan TMMi:ssä on 16 prosessialuetta (kts. kappale 3.2). Näistä prosessialueista kaksi prosessialuetta koettiin olevan niin keskeisiä, että ne valittiin pakollisiksi arvioitaviksi prosessialueiksi. Pakolliset arvioitavat prosessialueet ovat: testauksen suunnittelu sekä testien suunnittelu ja suoritus. Kahden pakollisen prosessialueen lisäksi voivat arvioitavat yritykset valita kaksi arvioitavaa prosessialuetta. Arvioitavat prosessialueet suositellaan valitsemaan TMMi:n tasoilta 2 ja 3. Vapaastivalittaviksi prosessialueiksi suositellaan valitsemaan prosessialueet testausympäristö (Test Environment) sekä testauksen seuranta ja hallinta (Test Monitoring and Control). Adept+TMMi arvioinnin tarvoitteena on tunnistaa arvioitujen prosessialueiden vahvuudet ja heikkoudet. Menetelmän avulla ei voida suorittaa virallista TMMi:n mukaista kypsyysarviointia. Arviointien tuloksena luodaan prosessialueille profiilit ja tarjotaan arvioiduille prosessialueille kehitysehdotuksia. Kehitysehdotusten tarkoituksena on tarjota perustelut kehitysresurssien kohdentamiselle, ja lisäksi tarjota TMMi:n mukaisia kehitysehdotuksia. 50
57 6.1 Prosessialuehaastattelut Adept+TMMi prosessialueiden arvioinnit suoritetaan arvioitavassa yrityksessä pidettävien haastattelujen kautta. Haastatteluissa yrityksen prosessialueita arvioidaan prosessialueista laadittujen kysymysten avulla. Jokainen arviointi pitää sisällään neljän prosessialueen haastattelut. Menetelmä näin ollen koostuu menetelmän esittelystä, neljästä prosessialuehaastattelusta sekä tulosten läpikäynnistä, ja vaatii resursseina 1,25 työpäivää neljältä henkilöltä. Kuvassa 27. on esitetty testauksen suunnittelu -prosessialueen prosessialuekysymyksiä sekä Excel-työkalua. Prosessialuekysymykset on esitetty tarkemmin liitteissä 2,3,4 ja 5. Kuva 27. Esimerkki Testauksen suunnittelu -prosessialueen kysymyksistä sekä Excel-työkalusta Kuten kuvasta 27 voi nähdä, on prosessialuekysymyksille laadittu Excel-työkalu, joka pisteyttää jokaisen prosessialueen. Excel-työkalun prosessialuekysymysten pisteytys on havainnollistettu taulukossa 4. Väreillä työkalussa ilmaistaan vastauksen ja tavoitteen suhdetta. Esimerkiksi kuvan 27 tilanteessa (i) prosessialue saavutetaan täysin (F), ja tavoitteena on saavuttaa taso täysin (F). Näin ollen tavoitetta vastaava liikennevalo on vihreä. Kohdassa (ii) prosessialue täytetään vain laajalti (L) ja tavoitteena on saavuttaa taso täysin (F), joten tavoitetta vastaava liikennevalo on keltainen. Kohdassa (iii) prosessialue täytetään osittain (P) ja 51
58 tavoitteena on saavuttaa taso täysin (F), joten liikennevalo on oranssi. Työkalussa värien tarkoituksena on osoittaa vastauksen ja tavoitteen välistä eroavaisuutta. Prosessialueet, jotka täyttävät tai ylittävät tavoitteen osoitetaan vihreällä. Pieni eroavaisuus osoitetaan keltaisella, merkittävä oranssilla ja jos taso ei ansaitse haastattelussa yhtään pisteitä, osoitetaan se punaisella. Taulukko 4. Prosessialueiden pisteytys Vastaus Pistemäärä F (Fully, täysin) 1 L (Largely, laajalti) 0.69 P (Partially, osittain) 0.33 N (Not at all, ei lainkaan) 0 Prosessialuekysymykset eivät ole usein sellaisessa muodossa, että niihin pystyttäisiin yksiselitteisesti vastaamaan F, L, P tai N, näin ollen kysymykset ovat enemmän haastattelumuotoisia, ja on haastattelijan vastuulla määrittää prosessialueen pisteytys. 52
59 7 POHDINTA Tässä tutkielmassa on tehty kirjallisuuskatsaus tämän hetken yleisimpiin ohjelmistotuotantoprosessien kehittämismalleihin sekä testausprosessien kehittämismalleihin. Tutkielmassa lisäksi esitetään METRI-hankkeessa kehitetty Adept+TMMi malli, jossa käytettävät prosessealuekysymykset on laadittu osana tätä tutkielmaa. Ohjelmistotuotantoprosessin kehitysmallien ja standardien avulla pyritään kehittämään ja parantamaan ohjelmistotuotantoprosessia, ja näiden avulla saamaan parannuksia kehitettävään tuotteeseen [Sol04]. Erilaisia kehitysmalleja ja standardeja on paljon, ja tässä tutkielmassa on niistä esitelty muutama keskeisin, kuten CMMI sekä ISO/IEC [TMM10] [Zah98]. Tässä tutkielmassa on ohjelmistotuotantoprosessien kehittämismallien lisäksi esitelty keskeisiä testausprosessien kehittämismalleja ja standardeja. Esitetyt mallit ovat TPI NEXT, TMMi sekä ISO/IEC Testausprosessien kehitysmallien avulla pyritään kehittämään testausprosessia tehokkaammaksi, ja näin ollen saavuttamaan laadukkaampia tuotteita ja palveluita. Mallien ja standardien ongelmana on kuitenkin mm. niiden kallis hinta, monimutkaisuus sekä käyttöönottoon kuluva aika. Keskeiset mallit, kuten CMMI sekä ISO/IEC useimmiten soveltuvat parhaiten suurien yritysten käyttöön [CTC07]. Pienemmille yrityksille on kehitetty malleja, jotka pohjautuvat edellä mainittuihin malleihin. Tällaisille pienemmille yrityksille suunnattujen mallien tavoitteena on keventää niiden käyttöön vaadittuja resursseja. Esimerkki tällaisesta kevyemmästä mallista on tutkielmassa esitelty Adept. Kuten tutkimukset ovat osoittaneet, voidaan erilaisten mallien avulla saavuttaa ajallisia sekä rahallisiakin säästöjä [IFS08]. Näin ollen voidaan sanoa, että erilaiset mallit sekä standardit ovat hyödyllisiä. CMMI:n ja ISO/IEC 15504:n kaltaiset mallit ja standardit sisältävät usein huomionarvoisia menettelyjä, sekä tarjoavat käytännön ohjeita tehokkaan prosessin tai toiminnon perustamiseen. Joissakin tapauksissa asiakas saattaakin vaatia jonkin tietyn standardin tai mallin käyttämistä. 53
60 Tutkielmassa on esitetty METRI-hankkeessa kehitetty Adept+TMMi menetelmä, jonka avulla voidaan suorittaa testausprosessien arviointia ja näin ollen tunnistaa testausprosessista heikkouksia ja kehityskohteita. Adept+TMMi:tä päädyttiin ryhtyä kehittämään, kun huomattiin, että kevyelle testausprosessien arviointiin soveltuvalle mallille oli tarvetta. Adept-menetelmä hyödyntää CMMI:n prosessialueita. Adept+TMMi:ssä menetelmä on mukautettu käyttämään TMMi:tä. TMMi:n valinta Adeptin yhteyteen oli luonteva, koska TMMi on sisarmalli Adept-menetelmässä alun perin olleelle CMMI:lle, ja täten sopii käytettäväksi menetelmsässä hyvin. Lisäksi TMMi:n rakenne on selkeä, ja mallin sisältämät prosessialueet toimivat hyvänä pohjana prosessialuekysymyksille. Adept+TMMi mallin vahvuutena on sen keveys ja vähäinen resurssien tarve. Lisäksi malli on räätälöitävissä, eli sillä voidaan TMMi:n pohjautuen arvioida eri yrityksille sopivia ja keskeisiä prosessialueita. Adept+TMMi menetelmässä käytettävät prosessialuekysymykset on laadittu osana tätä tutkielmaa. Kysymykset on pyritty laatimaan siten, että niiden avulla voidaan kattavasti tunnistaa arvioitavan prosessialueen vahvuudet ja heikkoudet. Esimerkiksi testauksen suunnittelu prosessialueelle on määritelty kaikkiaan 28 prosessialuekysymystä. Prosessialueiden arviointiin on suunniteltu Adept+TMMi mallissa kuluvan aikaa kaikkiaan 1.25 työpäivää. On hyvä, että vaaditut resurssit ovat pienet, jolloin yrityksen työajasta ei viedä suurta osaa. Lyhyttä käytössä olevaa aikaa voidaan toisaalta pitää mallin yhtenä rajoittavana tekijänä, sillä se voi rajoittaa kohdeyritykseen tutustumiseen olevaa aikaa. Lisäksi on huomioitava, että saatujen kehityskohteiden laatuun ja paikkaansapitävyyteen vaikuttaa paljon prosessialuehaastattelujen pitäjien kokemus, sekä haastatteluihin osallistuvat yrityksen edustajat ja heidän tietämys. Prosessialuehaastatteluihin tuleekin valita osallistujat tarkasti, jotta haastatteluista saadaan mahdollisiman suuri hyöty irti. Adept+TMMi mallin heikkoutena voidaan tässä vaiheessa pitää sitä, ettei sitä vielä ole testattu käytännössä. Aiemmat kokemukset alkuperäisen Adept-menetelmän käytettävyydestä ovat kuitenkin olleet rohkaisevia [MRS11]. Näin ollen voidaan olettaa, että menetelmä soveltuu käytännössä hyvin myös testausprosessien arviointiin. 54
61 8 VIITTEET [And04] [CTC07] [CRC06] [CKS07] [Col07] [DRV09] [DDM04] Andersin A.: TPI - a model for Test Process Improvement. Seminar on Quality Models for software Engineering, Helsinki, 2004 Caffery F.Mc., Taylor P. S., Coleman G.: Adept: A Unified Assessment Method for Small Software Companies, Software Engineering, IEEE Software, vol. 24, no. 1, pp , 2007 Caffery F.Mc., Richardson I., Coleman G.: Adept A Software Process Appraisal Method for Small to Medium-sized Software Development Organisations. Chrissis M.B., Konrad M., Shrum S.: CMMI Second edition: Guidelines for Process Integration and Product Improvement. Addison-Wesley, 2007 Col A.: An Industrial experience in Assessing the Capability of Nonsoftware Processess Using ISO/IEC 15504, Wiley InterScience, vol.12 pp , 2007 Dorling A., Rout T., Varkoi T.: Briefing: Current status & Future Directions for Assessment, SPICE Conference, 2009 Dybå T., Dingsøyr T., Moe N.: Process Improvement In Practice: A Handbook for IT Companies, Kluwer Academic Publishers, 2004 [HaM04] Haikala I., Märijärvi J.: Ohjelmistotuotanto, Talentum Media Oy, 2004 [IEE90] Standards Coordinating Committee of IEEE Computer Society: IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries [IEE98] IEEE Standard for Software Test Documentation, IEEE Std ,
62 [IFS08] [ISO02] [ISO03a] [ISO03b] [ISO04a] [ISO04b] [ISO06] [ISO08a] Irigoyen A., Ferreira F., Santos G., Cerqueira R., Montoni M., Barreto A., Rocha A.R., Barreto A. O.S., Silva Filho R.C.: ROI of Software Process Improvement at BL Informática: SPIdex is Really Worth it, Software Process Improvement and Practise, vol. 13, pp , 2008 ISO/IEC :2002(E): Information Technology Process Assessment Part 2: Performing an Assessment, 2002 ISO/IEC : Information Technology Process Assessment Part 1: Concepts and Vocabulary, 2003 ISO/IEC :2003(E): Information Technology Process Assessment Part 3: Guidance on performing assessment, 2003 ISO/IEC : Information Technology Process assessment Part 4: Guidance on use for process improvement and process capability determination, 2004 ISO/IEC : Information Technology Process Assessment Part 5: An exemplar Process Assessment Model, 2004 ISO/IEC : Information Technology Process assessment Part 6: An exemplar system life cycle process assessment model, 2006 ISO/IEC : Information Technology Process assessment Part 7: Assessment of organizational maturity, 2008 [ISO08b] ISO TC JTC1/SC SC7 N: Information Technology Process Assessment Part9: Target Process Profiles for Capability Determination and Improvement, 2008 [ISO12a] ISO/IEC TS :2012(E): Information Technology Process assessment An exemplar process assessment model for IT service management, 2012 [ISO12b] ISO/IEC WD : Infromation Technology Process Assessment Process assessment model for software testing,
63 [ISO12c] ISO/IEC CD : Information Technology Process Assessment Process measurement framework for assessment of process capability and organizational process maturity, 2012 [KBS09] [LFF11] [LDV09] [MWZ05] Khurshid N., Bannerman P. L., Staples M.: Overcoming the First Hurdle: Why Organizations Do Not Adopt CMMI, Lecture Notes in Computer Science, vol. 5543, pp , 2009 Lami G., Fabbrini F., Fusani M., ISO/IEC : Motivations for Another Safety Standard, Lecture Notes in Computer Science, vol. 6894, pp , 2011 Lewis W., Dobbs D., Veerapillai G.: Software Testing and Continuous Quality Improvement, Third Edition. CRC Press, 2009 Mahmood N., Wilson D., Zowghi D.: A maturity model for the implementation of software process improvement: an empirical study, The Journal of systems and Software, Science Direct, vol. 74, no. 2, pp , 2005 [MRS11] Merikoski H., Raninen A., Savolainen P.: Kokemuksia Adeptarviointimenetelmän soveltamisesta suomalaisessa ohjelmistoyrityksessä, Itä-Suomen yliopisto, 2011 [Mye79] Myers G., The art of software testing, John Wiley & Sons, 1979 [Phi04] [Pyh04] [Sog09] [Sol04] Phillips M.: CMMI V1.1 and Appraisal Tutorial, Carneige Mellon University, 2004 Pyhäjärvi M.: SPICE International Standard for Software Process Assessment. Seminar on Quality Models for Software Engineering, Helsinki, 2004 Sogeti: TPI next, Business Driven Test Process Improvement, UTN publishers, 2009 van Soligen R.: Measuring the ROI of software process improvement. IEEE Software, vol. 21, no. 3, pp 32-38,
64 [SNJ07] [Tho10] [TMM10] [VeC12] [WaG00] Staples M., Niazi M., Jeffery R., Abrahams A., Byatt P., Murphy R.:An exploratory study of why organizations do not adopt CMMI, The journal of Systems and Software, vol. 80, pp , 2007 Thompson G.: Test Maturity Model integrated (TMMi) Background and the state of the nation tour, SPIN, 2010 TMMi Foundation (2010). Test Maturity Model Integration (TMMi), TMMi Foundation, 2010 Veenendaal van E., Cannegieter J, J.: Testing Maturity Where Are We Today?, Testing Maturity, vol. 3, 2012 Walker A. J., Gee C.: ISO 9001 model support for software process assessment, Logistics Information Management, vol. 13, no. 1, pp [Zah98] Zahran S.: Software Process Improvement. Addison-Wesley, 1998 [Zyl11] Zyl J.: Software Testing in a Small Company, Test Focus, vol. 12, no. 1, pp 4-8,
65 Liite 1. TPI NEXT -mallin avainalueet Taulukko 1. TPI NEXT -mallin avainalueet [Sog09]. # Avainalue Ryhmä Kuvaus K01 Osapuolten sitoutuminen (Stakeholder commitment) SR Testaukseen liittyvien sidosryhmien sitoutuminen on tärkeä tekijä testauksen sujuvuuden kannalta. Sidosryhmällä tarkoitetaan esim. projektipäällikköä, testaajia, loppukäyttäjiä, jne. K02 Aloitusajankohta (Degree involvement) of SR Testauksen liittäminen projektin kulkuun varhaisessa vaiheessa parantaa tuotteiden laatua. Testauksen aloittaminen varhaisessa vaiheessa edesauttaa virheiden löytämiseen varhaisessa vaiheessa, ja voi jopa estää virheiden syntymistä. K03 Testausstrategia (Test strategy) SR Testausstrategialla taataan resurssien ja työmäärien tasainen jako. Testausstrategian tavoitteena on löytää virheet mahdollisimman aikaisessa vaiheessa. K04 Testauksen organisointi organization) (Test SR Tehtävien, vastuiden sekä testaajien kykyjen organisointi. K05 Kommunikointi (Communication) SR Kommunikointi varmistaa, että sidosryhmät ymmärtävät ja odottavat samoja asioita. K06 Raportointi (Raporting) SR Raportoinnilla voidaan tukea päätöksentekoa. K07 Testausprosessin hallinta (Test process TM Testausprosessin hallinta maksimoi testauksen suorituksen annettujen resurssien 59
66 management) K08 Arviointi ja suunnittelu (Estimating and planning) sisällä. TM Kunnollisilla arviointi ja suunnittelumenetelmillä saadaan testausprosessin arvioinnista ja suunnittelusta luetettavia sekä ennustettavia (esim. työmäärä arviot). K09 Mittarit (Metrics) TM Mittarit ovat objektiivisia havaintoja tuotettavasta tuotteesta tai prosessista. Mittareita käytetään testausprosessin kontrollointiin, vahvistamaan oletuksia sekä vertailujen suorittamiseen. K10 Virheiden hallinta (Defect Management) TM Virheiden hallinta pitää sisällään virheiden aiheuttajien analysoinnin ja ohjeistuksen. K11 Testausmateriaalien hallinta (Testware management) TM Testausmateriaalin hallinta varmistaa testausmateriaalien yhdenmukaisuuden sekä huolehtii valmiiden materiaalien hallinnasta. K12 Testausmenetelmä (Methodology practise) TP Kuvaa käytettävät testausmenetelmät (esim. lasilaatikko / mustalaatikko). Määrittelee testausprosesseille käytettävät testaus menetelmät. K13 Testaajan ammattitaito (Tester professionalism) TP Testaajan ammattitaito pitää sisällään sekoituksen eri taitoja, kuten kohdealueen tuntemusta, teknistä osaamista sekä testattavan kohteen tuntemusta. 60
67 K14 Testitapausten suunnittelu (Test case design) TP Testitapausten suunnittelu pitää sisällään standardoidun tavan johtaa testitapauksia lähdemateriaalista. K15 Testaustyökalut tools) (Test TP Testaustyökalut mahdollistavat tai nopeuttavat tiettyjä testaustoimenpiteitä. Testaustyökaluja käytetään paljon toistoa sisältävissä kohdissa. K16 Testausympäristö (Test environment) TP Testausympäristö on suunniteltu, toteutettu ja ylläpidetty testauksen tavoitteiden mukaan. 61
68 Liite 2. Adept+TMMi: Kysymykset Testauksen suunnittelu prosessialueeseen Lyhenne SP tarkoittaa erityisiä käytäntöjä (Specific Practices) ja lyhenteellä SG tarkoitetaan erityisiä tavoitteita (Specific Goal). SG 1 Perform Product Risk Assessment / Suorita tuotteen riskiarviointi SP 1.1 & SP 1.2 & 1.3 Define product risk categories and parameters & Identify Product Risks & Analyze Product Risks (i) (ii) (iii) Do you estimate your product risks?/ Arvioitteko ohjelmistotuotteeseenne liittyviä riskejä? How do you estimate your product risks?/kuinka arvioitte ohjelmistotuotteeseenne liittyvät riskit? How do you document your product risks and risk evaluation?/ Kuinka dokumentoitte riskit ja niiden arvioinnin? SP 1.3 Analyze Product Risks / Tuotteen riskien analysointi (i) Are risks and requirements linked? / Ovatko riskit ja ohjelmistovaatimukset liitoksissa toisiinsa? SG 2 Establish a Test Approach / Laadi testauslähestymistapa SP2.1 Identify Items and Features to be Tested / Tunnista testattavat tuotteen osat (i) (ii) How do you identify the targets of testing? / Miten tunnistatte testauksen kohteet? How do you document the the items and features to be tested and not tested? /Kuinka dokumentoitte testattavat ja ei-testattavat osat ja piirteet? SP 2.2 Define the Test Approach/Määrittele testauksen lähestymistapa (i) (ii) Have you defined and documented the test design techniques to be used?/ Oletteko määritelleet ja dokumentoineet yrityksessänne käytettävät testauksen tekniikat? What test tools are used in your company? / Mitä testaustyökaluja firmassanne käytetään? 62
69 (iii) Have you identified constraints regarding to the test approach? (e.g. resource availability, test environment features, project deadlines) / Oletteko miettineet testaukseenne liittyviä rajoitteita? SP 2.3 Define entry criteria for testing / Määrittele testauksen sisäänottokriteerit (i) How do you know when you can start testing? / Mistä tiedätte milloin voitte aloittaa testauksen? SP 2.4 Define Exit Criteria / Määrittele lopetuskriteerit (i) How do you know when enough testing has been conducted? / Mistä tiedätte milloin on testattu tarpeeksi? SP 2.5 Define suspension and resumption criteria (i) (ii) How do you know when you can suspend testing? / Mistä tiedätte milloin voitte keskeyttää testauksen tai milloin testaus pitää keskeyttää? How do you know when you can resupt testing? / Mistä tiedätte milloin voitte aloittaa testauksen uudelleen? SG 3 Establish Test Estimates / Arvioiden luominen SP 3.2 Define Test Lifecycle / Testauksen elinkaaren määritteleminen (i) Have you defined test lifecycle phases? (is test process defined?) / Onko testausprosessin vaiheet määritelty ja dokumentoitu? SP 3.3 Define estimates for test effort and cost / Kustannusten ja työmäärien arvioiden laatiminen (i) Do you estimate the test effort and cost? / Arvioitteko testauksen työmäärää ja kustannuksia? SG 4 Develop a Test Plan / Testaussuunnitelmien laatiminen SP 4.1 & SP 4.2 & SP 4.3 & SP 4.4 Establish a test schedule & Plan for Test Staffing & Plan Stakeholder Involvement & Identify test project risks 63
70 (i) (ii) How do you establish the test schedule and allocate resources? / Miten suunnittelette testauksen aikataulun ja resurssit? Do you estimate the risks related to the test project? / Arvioitteko testausprojektin riskit? SP 4.5 Establish the test plan (i) Do you write a test plan for your project? / Teettekö testaussuunnitelman? SG 5 Obtain Commitment to the Test Plan / Testaussuunnitelmaan sitoutuminen SP 5.1 & SP 5.2 Review test plan & Reconcile work and resource levels (i) How do you maintain your test plan? / Kuinka ylläpidätte testaussuunnitelmaa? SP 5.3 Obtain Test Plan Commitments (i) How is your test plan accepted? / Kuinka testaussuunnitelma hyväksytään? GG 2 Institutionalize a Managed Process / Hallitun prosessin vakiinnuttaminen GP 2.1 Establish an Organisational Policy / Yrityskohtaisten toimintatapojen käyttöönotto (i) Is there a documented policy governing the test planning process? / Onko olemassa testauksen suunnittelun prosessiin liittyviä dokumentoituja käytäntöjä? GP 2.3 Provide Resources / Resurssien käytettävyys (i) (ii) (iii) Are suitably experienced and skilled personnel engaged in planning testing? Onko oikean kokemuksen ja oikean osaamisen omaavia henkilöitä osallisena testauksen suunnittelussa? Are appropriate tools employed? / Ovatko tarvittavat työkalut käytettävissä? Is adequate time provided to plan testing? / Onko testauksen suunnitteluun käytettävissä riittävästi aikaa? GP 2.4 Assign Responsibility / Vastuun jakaminen 64
71 (i) (ii) Is there a nominated person with responsibility for the test planning process? / Onko testauksen suunnitteluprosessille nimetty vastuuhenkilöä? Does this individual have the necessary authority to make decisions? / Onko tällä henkilöllä riittävät valtuuden päätösten tekoon GP 2.8 Monitor and Control the Process / Prosessin seuranta ja ohjaus (i) Do you monitor the effort consumed in planning testing - or other indicators of the performance of the test planning process? / Seuraatteko testauksen suunnitteluun kuluvaa työmäärää tai muita testauksen suunnittelun suorituskyvystä kertovia mittareita? GP 2.10 Review Status with Higher Level Management / Ylemmän johdon katselmointi (i) Is the test planning process subject to periodic review? If so, who conducts this review? / Katselmoidaanko testauksen suunnitteluprosessi säännöllisesti? Jos katselmoidaan, niin kuka katselmoinnin suorittaa? 65
72 Liite 3. Adept+TMMi: Kysymykset Testien suunnittelu ja suoritus -prosessialueeseen Lyhenne SP tarkoittaa erityisiä käytäntöjä (Specific Practices) ja lyhenteellä SG tarkoitetaan erityisiä tavoitteita (Specific Goal). SG 1 Perform Test Analysis and Design Using Test Design Techniques / Testauksen analysointi ja suunnittelu käyttäen testauksen suunnittelun tekniikoita SP 1.1 Identify and prioritize test conditions / Testattavien kohteiden identifiointi ja priorisointi (i) (ii) Are test conditions identified and priotized? /Tunnistetaanko ja priorisoidaanko testauksen kohteet? Where test conditions derive from (requirements, architecture, design, interface)? / Miten/minkä pohjalta testitapaukset määritellään (vaatimukset, arkkitehtuuri, suunnittelu, käyttöliittymä)? SP 1.2 Identify and prioritize test cases / Identifioi ja priorisoi testitapaukset (i) Are test cases indentified and prioritized (and how is this done) / Identifioidaanko ja priorisoidaanko testitapaukset? Jos kyllä, niin millä perusteella? (ii) How do you document test cases? / Dokumentoidaanko testitapaukset? (iii) Are test cases reviewed with appropriate stakeholders / käydäänkö testitapauksia eri osapuolien kanssa läpi? SP 1.3 Identify necessary specific test data / Tunnistetaan tarvittavat testidatat (i) What kind of test data is needed for testing? / Mitä aineistoja tarvitaan testauksen suorittamiseen? (ii) Do you document the needed test data? / Dokumentoidaanko ne? SP 1.4 Maintain horizontal traceability with requirements / Vaatimusten jäljitettävyys (i) Are test conditions traceable back to requirements? / Onko testitapaukset jäljitettävissä vaatimuksiin? 66
73 SG 2 Perform test Implemention / Testauksen suorittaminen SP 2.1 Develope and prioritize test procedures / kehitä ja priorisoi testauksen menettelyt (i) Are test cases executed in particular order? / Suoritetaanko testitapaukset tietyssä järjestyksessä? Missä? Mihin järjestys perustuu? (ii) Are the used test methods evaluated with associated stakeholders? / Arvioidaanko testaukseen käytettäviä menetelmiä? SP 2.3 Specify intake test procedure / Testivalmiuden määritteleminen (i) Tarkistetaanko testattavan kohteen testivalmius? (testikypsyys) SP 2.4 Develop test execution schedule / Kehitä testauksen suoritusaikataulu (i) Do you create test execution schedule? / Luodaanko testauksen suoritukselle aikataulu? SG 3 Perform test Execution / Testien suorittaminen SP 3.2 Execute test cases / Testitapausten suorittaminen (i) (ii) (iii) Do you follow the planned test cases / Noudatatteko dokumentoituja testitapauksia? Is the actual results compaired with the expected results? Where are correct results derived from? / Vertaillaanko saatuja tuloksia odotettuihin tuloksiin? Mihin odotettu tulos perustuu/miten se on määritelty? Is regression testing executed after fixes or changes? / Suoritetaanko testitapaukset (regressiotestaus) uudestaan korjausten tai muutosten jälkeen? SP 3.3 Report test incidents / Virheiden raportointi? (i) Are the deviations in test results reported? / Raportoidaanko löydetyt virheet? Miten? (ii) Is the backgroud of test incident studiet so that further information of the incident is gained? / Tutkitaanko virheiden taustoja? (iii) Is the founded problems prioritized? / Priorisoidaanko havaitut ongelmat? 67
74 SP 3.4 Write test log / kirjoita testiloki (i) Do you document the progress of testing? Do you create test logs derived from the data? / Seurataanko testauksen edistymistä? (Onko olemassa testiloki?) SG 4 Manage test incidents to Closure / Virhetilanteiden hallinta SP 4.1 Decide disposition of incidents in configuration control board / Virheiden poistaminen (i) (ii) Is the founded incidents re-assessed or re-evaluated? / Uudelleen arvioidaanko ja analysoidaanko havaittuja virheitä (prioriteetti, vakavuus)? How incidents found is fixed? / Miten havaitut virheet korjataan? SP 4.2 Perform appropriate actions to fix the test incidents / Suorita tarvittavat toimenpiteet virheiden korjaamiseksi (i) (ii) (iii) Is the made fixes reported to defect database? / Kirjataanko korjaukset virhetietokantaan? Miten? Is re-testing or regressiotesting done after fix? if so, is the results reported to defect database? / Suoritetaanko korjausten jälkeen uudelleen testausta ja kirjataanko regressiotestauksen tulokset virhetietokantaan? What is the procedure after the re-test or regression testing? Is the incident closed? / Mitä tehdään regressiotestauksen jälkeen? Suljetaanko virhe testauksen jälkeen? SP 4.3 Track the status of test incidents / Virheiden tilan seuraaminen (i) Is there a defined procedure for incident fixes that has been in same status for longer period of time? / Onko määritelty toimenpiteitä jos tietty virhe kaipaa korjausta ja on ollut samassa tilassa pitkän aikaa? 68
75 Liite 4. Adept+TMMi: Kysymykset Testausympäristö - prosessialueeseen Lyhenne SP tarkoittaa erityisiä käytäntöjä (Specific Practices) ja lyhenteellä SG tarkoitetaan erityisiä tavoitteita (Specific Goal). SG1 Develop Test Environment Requirements / Testiympäristön vaatimusten laatiminen SP 1.1 Elicit test environment needs / Selvitä testausympäristön tarpeet i. Do you study the test approach and test plan for implication of test environment? / Mietitäänkö testauksen ja testitapausten suhdetta testiympäristöön (Miten testaus vaikuttaa testiympäristöön)? ii. Do you engage testing representatives for elicting test environment needs (including generic test data, expectations and constraints)? / Kysytäänkö testaajilta testiympäristön tarpeista, vaatimuksista ja/tai tarvittavasta datasta? iii. Do you document the test environment needs? / Dokumentoidaanko testiympäristön vaatimuksia? SP 1.2 Develop the test environment requirements / Testausympäristön vaatimusten määritteleminen i. Do you prioritize the test environment requirements? / Priorisoidaanko testiympäristön vaatimuksia? SP 1.3 Analyze the test environment requirements / Testausympäristön vaatimusten analysointi. i. Do you analyze the test environment requirements? / Analysoidaanko testiympäristön vaatimuksia? SG 2 Perform Test Environment Implementation / Testiympäristön toteuttaminen SP 2.1 implement the test environment / Testiympäristön toteuttaminen i. Do you implement the test environment as specified in the test environment requirement specification and according to the defined plan / Suunnitellaanko ja 69
76 ii. iii. toteutetaanko testiympäristö ennalta tehtyjen vaatimusten ja määritysten pohjalta? Do you revise the test environment components as appropriate? / Pidetäänkö testiympäristön osia ajan tasalla? Miten? Do you develop supporting documentation (installation, operation and maintenance documentation)? / Kehitetäänkö testiympäristölle dokumentteja (asennus, käyttö, ylläpito) SP 2.2 Create generic test data / Yleisen testiaineiston luominen i. Do you create generic test data required to support the execution of the tests? / Luodaanko testien vaatimaa yleistä testidataa? Säilytetäänkö luotu testidata? ii. Do you anonymize the sensitive data in line with the policy when real-life data is used as a source / Tehdäänkö testauksessa käytettävästä salaisesta datasta sellaista, ettei henkilötietoja yms. yksityistä dataa voi tunnistaa? SP 2.3 & SP 2.4 Specify test environment intake test procedure / Testausympäristön soveltuvuus testaukseen i. Do you define a list of checks to be carried out during the intake tests of the test environment? / Miten testausympäristön soveltuvuus testaukseen selvitetään? Onko olemassa esim. tarkastuslistaa yms? ii. Dokumentoidaanko testiympäristön soveltuvuutta testaukseen mitenkään? SG 3 Manage and Control Test Environment / Testiympäristön valvonta ja hallinta SP 3.1 Perform System test management / Järjestelmän testien hallitseminen i. Do you provide technical support on progress disturbing issues during test execution? / Onko testauksen suorituksissa ilmeneviin poikkeavuuksiin saatavilla teknistä tukea? ii. Do you provide logging facilities, which can be used afterwards to analyze test results? / Onko saatavilla apukeinoja testitulosten analysointiin? SP 3.2 Perform test data management / Testiaineistoin hallitseminen i. Vastaavat kysymykset esitetty prosessialueessa 2.2 (kts. SP 2.2) 70
77 SP 3.3 Coordinate the availability and usage of the test environments / Testiympäristön saatavuuden ja käytön hallinta I. How do you assure the availibility of test environment? / Miten testiympäristön saatavuus varmistetaan? a. Do you use reservation calender? / Onko esim. käytössä jotain varauskalenteria? b. How do you cope with overlapping reservations? / Miten päällekkäiset varaukset hoidetaan? c. Do you plan and make reservation beforehand? / Suunnitellaanko ja tehdäänkö varauksia etukäteen? SP 3.4 Report and manage test environment incident / Testiympäristön virheiden raportointi ja hallinta i. Do you log the test environment incident when a problem is observed? / Kirjataanko testiympäristön virheet, kun ne havaitaan? ii. Do you formally report the test environment incident using an incident classification scheme? / Raportoidaanko havaitut testiympäristön virheet tavallisten virheluokittelun mukaan? iii. Do you manage test environment incidents to closure? / Onko virheiden hallinta niiden sulkemiseen asti hallittua? 71
78 Liite 5. Adept+TMMi: Kysymykset Testauksen seuranta ja hallinta prosessialueeseen Lyhenne SP tarkoittaa erityisiä käytäntöjä (Specific Practices) ja lyhenteellä SG tarkoitetaan erityisiä tavoitteita (Specific Goal). SG 1 Monitor Test progress against Plan / Testauksen etenemisen seuraaminen SP 1.1 Monitor test planning parameters / Testauksen suunnittelun parametrien seuraaminen i. Do you make records of test performance? / Pidetäänkö testauksen suorituskyvystä kirjaa? ii. Do you keep record of significant deviations from the plan? / Pidetäänkö testaussuunnitelmista poikkeamisesta kirjaa? iii. Do you monitor the knowledge and skills of the test staff? / Seurataanko ja arvioidaanko testaushenkilöstön tietotaitoa ja osaamista? SP 1.2 Monitor test environment resources provided and used / Testausympäristön resurssien tarkkailu i. Do you monitor the test environment resources provided and used? / Tarkkaillaanko testiympäristön tarjolla olevia ja käytettyjä resursseja? ii. Do you document the resource usage? / Kirjataanko käytetyt ja käyttämättömät jääneet resurssit johonkin (käyttämättömät ajat, turhat varaukset yms.) SP 1.3 Monitor test commitments / Testaukseen sitoutumisen seuranta i. Do you regularly review commitments (internal and external)? / Seurataanko testaukseen sitoutumista säännöllisesti? Miten? SP 1.4 Monitor test project risks / Testausprojektien riskien seuranta i. Do you periodically review the documentation of the test project risks in the context of the current status and circumstances? / Tarkastellaanko testausprojektille määriteltyjä riskejä säännöllisesti? ii. is the risks updated when more information comes available / Päivitetäänkö riskejä, kun lisäinformaatiota tulee saataville? 72
79 iii. Is test process risks evaluated with test personel? / Tarkastellaanko testausprojektin riskejä testaukseen osallistuvien henkilöiden kanssa? SP 1.5 Monitor stakeholder involvement / Sidosryhmien sitoutumisen tarkkailu i. Do you review stakeholder involvement? / Seurataanko testaukseen osallistuvien henkilöiden sitoutuneisuutta? SP 1.6 Conduct test progress reviews / Testauksen etenemisen arviointi i. Do you regularly communicate status on test progress and performance to stakeholders / Keskustellaanko testauksen etenemisestä ja suorituskyvystä säännöllisesti sidosryhmien kanssa? (Esim. palaverit jossa käydään läpi testauksen eteneminen sekä aikataulu) ii. Do you document change requests on test work products and major problems indentified in test progress and performance? / Dokumentoidaanko testauksen suorituksen yhteydessä tulleet muutospyynnöt ja muut havaitut suuret ongelmat? iii. Do you document the results of the reviews, e.g., decisions made? / Dokumentoidaanko tarkastusten tulokset? SP 1.7 Conduct test progress milestone reviews / Testauksen etenemisen ja virstanpylväiden arviointi i. How do you monitor test progress and performance / Miten testauksen etenemistä seurataan? SG 2 Monitor Product Quality against Plan and Expectations / Tuotteiden laadun valvonta SP 2.1 Check against entry criteria / Sisäänottokriteerien tarkistukset i. Is there a defined specific stage in which the program is needed to be before it is ready for testing? / Onko testauksen aloittamiselle määritelty jokin tila tai taso, jolla testattavan tuotteen tulee olla, ennekuin sen testaaminen aloitetaan? SP 2.2 Monitor defects / virheiden tarkkailu i. Do you monitor measures on defects found and status against expectations? / Tarkkaillaanko havaittuja virheitä ja niiden tilaa? ( Onko virheet odotusten mukaisia ) 73
80 SP 2.3 Monitor product risks / tuotteiden riskien tarkkailu (Riskien arviointien suorittaminen on tarkemmin käyty Test Planning prosessialueen kysymyksissä, kts. Liite 3) i. Do you periodically review the documentation of the product risks in the context of the current status and circumstances with selected set of stakeholders? / Verrataanko säännöllisesti tuotteiden riskien dokumentaatiota nykytilanteeseen? ii. Do you monitor changes and additions to the requirements to identify new or changed product risks? / Tarkkaillaanko vaatimuksiin tehtyjä muutoksia, jotta tunnistettaisiin uusia tai muuttuneita riskejä? iii. Do you communicate product risks status to relevant stakeholders? / Kommunikoidaanko tuotteille tunnistetuista riskeistä sidosryhmien kanssa? SP 2.4 Monitor exit criteria / Lopetusehdon tarkkailu i. Do you monitor test processes related exit criteria ( test coverage against plan)? / Seurataanko lopetusehtoon liittyviä testausprosesseja ( testikattavuus etc.)? ii. Do you monitor the product quality related exit criteria against plan? / Seurataanko tuotteen laatua lopetus kriteerien yhteydessä iii. Do you identify and document significant deviations in exit criteria status from plan? / Dokumentoidaanko lopetusehtoon liittyvät poikkeamat? SP 2.5 Monitor suspension and resumption criteria / Keskeytys- ja uudelleenaloitus kriteerien tarkkailu i. Do you define suspension and resumprion criterias? / Onko testaukselle määritelty keskeyttämis- sekä jatkamiskriteerejä ii. Do you suspend testing if suspension criterias are met and initiate corrective action? / Keskeytetäänkö testaus, jos keskeytysehdot täyttyvät? Tehdäänkö korjaavia toimenpiteitä (Jatketaanko testausta kun korjaukset on tehty)? SP 2.6 Conduct product quality reviews / Tuotteen laadun arvioinnit i. Do you collect and analyze product quality monitoring measures? / Kerätäänkö tuotteesta laatumittareita? ii. What do you analyze with collected measures? / Mitä kerätyillä mittareilla analysoidaan? iii. Do you monitor changes in product quality / Seurataanko laadun vaihtelua, mitä toimenpiteitä tehdään? 74
81 SP 2.7 Conduct product quality milestone reviews / Tuotteen laadun virstanpylväsarvioinnit i. Do you conduct product quality review at meaningful points in the test schedule? / Suoritetaanko tuotteen laadun arviointia keskeisissä vaiheissa testausaikataulua? SG 3 Manage Corrective Action to Closure / Korjaavien toimenpiteiden hallinta SP 3.1 Analyze issues / Ongelmien analysointi i. Do you gather issues for analysis? / Kerätäänkö virheitä analysointia varten? ii. Do you analyze issues to determine need for corrective action? / Pohjautuvatko korjaustoimenpiteet virheiden analysointiin? SP 3.2 Take corrective action / Korjaavat toimenpiteet i. Do you determine and document the appropriate actions needed to address the identified issues / Määritelläänkö ja dokumentoidaanko tarvittavat toimet havaittujen virheiden korjaamiseksi? SP 3.3 Manage corrective action / Korjaavien toimenpiteiden hallinta i. Do you monitor corrective actions for completion? / Seurataanko korjaustoimien suoritusta valmistumiseen saakka? ii. Do you analyze results of corrective actions to determine the effectiveness of the corrective actions? / Analysoidaanko korjaustoimien tuloksia? 75
CMMI CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto
CMM Capability Maturity Model CMMI Sami Kollanus TJTA330 Ohjelmistotuotanto 16.1.2007 Software Engineering Institute (SEI) www.sei.cmu.edu Perustettu vuonna 1984 Carnegie Mellon University 1985 SEI aloitti
CMM Capability Maturity Model. Software Engineering Institute (SEI) Perustettu vuonna 1984 Carnegie Mellon University
CMMI Sami Kollanus TJTA330 Ohjelmistotuotanto 13.3. CMM Capability Maturity Model Software Engineering Institute (SEI) www.sei.cmu.edu Perustettu vuonna 1984 Carnegie Mellon University 1985 SEI aloitti
CMMI CMM -> CMMI. CMM Capability Maturity Model. Sami Kollanus TJTA330 Ohjelmistotuotanto Software Engineering Institute (SEI)
CMMI Sami Kollanus TJTA330 Ohjelmistotuotanto 13.3. CMM Capability Maturity Model Software Engineering Institute (SEI) www.sei.cmu.edu Perustettu vuonna 1984 Carnegie Mellon University 1985 SEI aloitti
Prosessien kehittäminen. Prosessien parantaminen. Eri mallien vertailua. Useita eri malleja. Mitä kehitetään?
Prosessien kehittäminen Prosessien parantaminen Sami Kollanus TJTA330 Ohjelmistotuotanto 21.2.2007 Mitä kehitetään? CMMI, SPICE yms. Miten kehittämishanke saadaan toteutettua? Organisaation kehittämisen
Ohjelmistotekniikka kevät 2003 Laatujärjestelmät
Laatujärjestelmät Ohjelmistotekniikka kevät 2003 Prosessiajattelu Sisään Prosessi Ulos ohjaus mittaus Laatujärjestelmät Laatujärjestelmät määrittelevät sen, mitkä prosessit täytyy olla määritelty ei sitä,
Prosessiajattelu. Organisaation prosessikuvaus - CMMI. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessien määritys CMMI käytänteet
Organisaation prosessikuvaus - CMMI Prosessikuvaukset ja elinkaarimallit Sami Kollanus TJTA330 Ohjelmistotuotanto 7.2.2007 Level5 Level4 Level3 Requirements Development Technical Solution Product Integration
Prosessiajattelu. Prosessikuvaukset ja elinkaarimallit. Organisaation prosessikuvaus - CMMI. Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4.
Prosessikuvaukset ja elinkaarimallit Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4. Organisaation prosessikuvaus - CMMI Level5 Level4 Organizational Innovation and Deployment Causal Analysis and Resolution
Ohjelmistoprosessit ja ohjelmistojen laatu Kevät Ohjelmistoprosessit ja ohjelmistojen laatu. Projektinhallinnan laadunvarmistus
LAADUNVARMISTUS 135 Projektinhallinnan laadunvarmistus Projektinhallinnan laadunvarmistus tukee ohjelmistoprojektien ohjaus- ja ylläpitotehtäviä. Projektinhallinnan laadunvarmistustehtäviin kuuluvat seuraavat:
Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU
Fujitsu SPICE Lite Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat Copyright 2010 FUJITSU Laatu ja prosessit Fujitsussa Laatujärjestelmän rakentaminen ja systemaattinen prosessijohtaminen
CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen ([email protected]) Kevät 2015
CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen ([email protected]) Kevät 2015 ILMOITUSASIAA Projekti 2:n lyhyt kuvaus Nopassa. Harjoituksissa tehtäviä joiden tuotoksia voi hyödyntää projektin toteutuksessa.
Aluksi. Riskien hallinta. Riskityyppejä. Riskillä on kaksi ominaisuutta. Reaktiivinen strategia. Proaktiivinen strategia
Aluksi Riskien hallinta Sami Kollanus TJTA330 Ohjelmistotuotanto 24.1.2007 Reaktiivinen strategia Indiana Jones -tyyli Ei huolehdita ongelmista ennen kuin ne tapahtuu Proaktiivinen strategia Tunnistetaan
Prosessikuvaukset ja elinkaarimallit
Prosessikuvaukset ja elinkaarimallit Sami Kollanus TJTA330 Ohjelmistotuotanto 3.4. Organisaation prosessikuvaus - CMMI Level5 Level4 Organizational Innovation and Deployment Causal Analysis and Resolution
Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto
Laadun hallinta Sami Kollanus TJTA330 Ohjelmistotuotanto 5.4. Laatukustannukset US National Institute of Standards and Technology: Riittämättömän testauksen kustannusten arvioitiin olevan 59 Mrd dollaria
Johdanto. Mitä on ohjelmistotuotanto? Tämän kurssin näkökulma. Sami Kollanus TJTA330 Ohjelmistotuotanto
Johdanto Sami Kollanus TJTA330 Ohjelmistotuotanto 6.3. Mitä on ohjelmistotuotanto? Ohjelmistotekniikka (Software Engineering) tarkoittaa pätevien insinööriperiaatteiden vakiinnuttamista ja käyttämistä
Mitä on ohjelmistotuotanto?
Johdanto Sami Kollanus TJTA330 Ohjelmistotuotanto 6.3. Mitä on ohjelmistotuotanto? Ohjelmistotekniikka (Software Engineering) tarkoittaa pätevien insinööriperiaatteiden vakiinnuttamista ja käyttämistä
Testaaminen ohjelmiston kehitysprosessin aikana
Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/
Vastausten ja tulosten luotettavuus. 241 vastausta noin 10 %:n vastausprosentti tyypillinen
Vastausten ja tulosten luotettavuus Vastaukset 241 vastausta noin 10 %:n vastausprosentti tyypillinen Kansainväliset IT:n hallinnan hyvät käytännöt. Luotettavuusnäkökohdat Kokemukset ja soveltamisesimerkit
SFS, 27.11 2014 STANDARDIEHDOTUKSEN ISO/DIS 14001 ESITTELY
SFS, 27.11 2014 STANDARDIEHDOTUKSEN ISO/DIS 14001 ESITTELY Anna-Liisa Koskinen SISÄLTÖ Uusi rakenne Uusia määritelmiä Keskeisistä muutoksista 2 ISO 14001 ympäristöjohtamisjärjestelmä ISO 14001 on tunnettu
Reilun Pelin työkalupakki: Kiireen vähentäminen
Reilun Pelin työkalupakki: Kiireen vähentäminen Tavoitteet Tämän toimintamallin avulla opit määrittelemään kiireen. Työyhteisösi oppii tunnistamaan toistuvan, kuormittavan kiireen sekä etsimään sen syitä
Tapahtuipa Testaajalle...
Tapahtuipa Testaajalle... - eli testaus tosielämässä 09.10.2007 Juhani Snellman Qentinel Oy 2007 Agenda Minä ja mistä tulen Testauksen konteksti Tapauksia tosielämästä ja työkaluja 2 Minä Juhani Snellman
Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana
Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana Muutamia ajatuksia siitä, miten testaus pärjää lama-ajan säästötalkoissa. Laman patologioita ja mahdollisuuksia. Säästämisen strategioita.
Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
tsoft tsoftin prosessien parantamistoiminta: Johdanto ohjelmistoprosessien arviointiin Agenda Ilmari Saastamoinen, 15.9.2004, Joensuun yliopisto
tsoftin prosessien parantamistoiminta: Johdanto ohjelmistoprosessien arviointiin tsoft Ilmari Saastamoinen, 15.9.2004, Joensuun yliopisto 16.9.2004 1 Agenda Ohjelmistoprosessien arviointi Arviointi- ja
Vaatimusmäärittely- ja hallinta. Peruskäsitteet. Syyt aikataulun ja budjetin ylitykseen. TJTA330 Ohjelmistotuotanto
Vaatimusmäärittely- ja hallinta TJTA330 Ohjelmistotuotanto 27.3. Peruskäsitteet Vaatimusten yhteydessä puhutaan yleensä erikseen vaatimusmäärittelystä ja vaatimusten hallinnasta Vaatimusmäärittely on vaatimusten
ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ
ISO 9001:2015 JÄRJESTELMÄ- JA PROSESSIAUDITOIN- NIN KYSYMYKSIÄ IMS Business Solutions Oy, J Moisio 10/ 2016 2.10.2016 IMS Business Solutions Oy 2 ISO 9001:2015 PROSESSIEN AUDITOINTIKYSYMYKSIÄ ISO 9001:2015
Vaatimusmäärittely- ja hallinta
Vaatimusmäärittely- ja hallinta TJTA330 Ohjelmistotuotanto 27.3. Peruskäsitteet Vaatimusten yhteydessä puhutaan yleensä erikseen vaatimusmäärittelystä ja vaatimusten hallinnasta Vaatimusmäärittely on vaatimusten
Mitä on ohjelmistotuotanto? Johdanto. Tämän kurssin näkökulma. Kurssin suhde muuhun opetukseen
Mitä on ohjelmistotuotanto? Johdanto Sami Kollanus TJTA330 Ohjelmistotuotanto 9.1.2007 Ohjelmistotekniikka (Software Engineering) tarkoittaa pätevien insinööriperiaatteiden vakiinnuttamista ja käyttämistä
SataSPIN. Prosessien parantaminen verkostoitumalla. Porin korkeakouluyksikkö, TTKK
SataSPIN Prosessien parantaminen verkostoitumalla Porin korkeakouluyksikkö, TTKK Ohjelmistoasiantuntemuksen keskus Centre of Software Expertise - CoSE [email protected] http://www.pori.tut.fi SPI
Ohjelmistotekniikka - Luento 2 Jouni Lappalainen
Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento
Standardi IEC Ohjelmisto
Sundcon Oy Standardi IEC 61508 3 Ohjelmisto muutokset Matti Sundquist Sundcon Oy www.sundcon.fi Standardi IEC 61508 3 (1) Standardissa di esitetään vaatimukset niiden tietojen ja menettelytapojen valmisteluun,
Kasvua ja kilpailukykyä standardeilla. Riskit hallintaan SFS-ISO 31000
Kasvua ja kilpailukykyä standardeilla Riskit hallintaan SFS-ISO 31000 Riskit hallintaan SFS-ISO 31000 Elämme jatkuvasti muuttuvassa maailmassa, jossa joudumme käsittelemään epävarmuutta joka päivä. Se,
Advanced Test Automation for Complex Software-Intensive Systems
Advanced Test Automation for Complex Software-Intensive Systems Aiheena monimutkaisten ohjelmistovaltaisten järjestelmien testauksen automatisointi Mistä on kyse? ITEA2-puiteohjelman projekti: 2011-2014
OMAVALVONTA ISO 9001 ISO / FSSC 22000 ISO 14001 OHSAS 18001 SATAFOOD KEHITTÄMISYHDISTYS RY 24.9.2015. Marika Kilpivuori
SATAFOOD KEHITTÄMISYHDISTYS RY Laatu- ja ympäristöjärjestelmät 24.9.2015 Marika Kilpivuori OMAVALVONTA ISO 9001 ISO / FSSC 22000 BRC ISO 14001 OHSAS 18001 IFS 1 MIKÄ JÄRJESTELMÄ MEILLÄ TARVITAAN? Yrityksen
Ohjelmistotekniikka - Luento 2
Ohjelmistotekniikka - Luento 2 Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento 2: Prosessimallit
Convergence of messaging
Convergence of messaging Testaussuunnitelma The Converge Group: Mikko Hiipakka Anssi Johansson Joni Karppinen Olli Pettay Timo Ranta-Ojala Tea Silander Helsinki 20. joulukuuta 2002 HELSINGIN YLIOPISTO
PARTNERSHIP MONITOR. POTRA-NIS Oy I I
Partnership Monitor PARTNERSHIP MONITOR Partnership Monitor on menetelmä teollisuusyrityksille tuottavuuden lisäämiseksi ja liiketoiminnan kasvattamiseksi hyvin toimivien asiakas- ja toimittajasuhteiden
Project-TOP QUALITY GATE
Project-TOP QUALITY GATE FOR SUCCESSFUL COMPANIES TYÖKALU ERP- JÄRJESTELMIEN TESTAUKSEEN PROJECT-TOP QUALITY GATE Quality Gate on työkalu ERP-järjestelmien testaukseen Huonosti testattu ERP- järjestelmä
Periaatteet standardien SFS-EN ISO/IEC 17025:2005 ja SFS-EN ISO 15189:2007 mukaisen näytteenottotoiminnan arvioimiseksi
Periaatteet standardien SFS-EN ISO/IEC 17025:2005 ja SFS-EN ISO 15189:2007 mukaisen näytteenottotoiminnan arvioimiseksi FINAS - akkreditointipalvelu Espoo 2012 ISBN 978-952-5610-85-7 1(7) Periaatteet standardien
Arvioinnilla selviää, mitä vahvistaa, mitä parantaa 2005 Heikki Niemi Erinomaisuus Toiminnan laatu Palvelun ja tuotteen laatu Lainsäätäjät, omistajat, rahoittajat ja viranomaiset Konsernijohto, hallinto
Onnistunut SAP-projekti laadunvarmistuksen keinoin
Onnistunut SAP-projekti laadunvarmistuksen keinoin 07.10.2010 Patrick Qvick Sisällys 1. Qentinel 2. Laadukas ohjelmisto täyttää sille asetetut tarpeet 3. SAP -projektin kriittisiä menestystekijöitä 4.
PAS 55 sertifioitu omaisuuden hallinta. Kari Kuusela
PAS 55 sertifioitu omaisuuden hallinta 2 Sertifioitu omaisuuden hallinta PAS55 taustat Hyötyjä sertifiointiprosessista Auditointihavaintoja 3 PAS 55 (Publicly Available Spesification) - Kokonaisvaltaista
LCI Finland vuosipäivä 2013. Mitä on Lean Construction?
LCI Finland vuosipäivä 2013 Mitä on Lean Construction? Lean Construction Lean Construction is not just another specific approach to construction, but rather a challenger of the conventional understanding
Testaajan eettiset periaatteet
Testaajan eettiset periaatteet Eettiset periaatteet ovat nousseet esille monien ammattiryhmien toiminnan yhteydessä. Tämä kalvosarja esittelee 2010-luvun testaajan työssä sovellettavia eettisiä periaatteita.
Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma
Enterprise SOA. Nyt. Systeemi-integraattorin näkökulma 12.11.2007 Janne J. Korhonen 12.11.2007 Agenda 1. Prosessit ja palvelut, BPM ja SOA 2. BPM-projekteista yleensä 3. Prosessin elinkaarimalli 4. Kokemuksia
Kokonaisvaltainen mittaaminen ohjelmistokehityksen tukena
Kokonaisvaltainen mittaaminen ohjelmistokehityksen tukena Mittaaminen ja ohjelmistotuotanto seminaari 18.04.01 Matias Vierimaa 1 Miksi mitataan? Ohjelmistokehitystä ja lopputuotteen laatua on vaikea arvioida
Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori
Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita
Johtamisen standardit mitä ja miksi
Johtamisen standardit mitä ja miksi Forum 2013 Sari Sahlberg Johtamisen standardi Auttaa organisaatiota kehittämään valittua johtamisen osa-aluetta Laadunhallinta Ympäristöasioiden hallinta Tietoturvallisuuden
QL Excellence -käsikirja
QL Excellence -käsikirja QL Laatutoiminta Oy:n laadunhallinta 2010 Sisällysluettelo: QL Excellence -käsikirja...3 Yleiskuvaus... 3 Laatupolitiikka...3 Laatukäsikirja...3 Laadunhallintajärjestelmän kuvaus...
Tietohallinnon liiketoimintalähtöinen toiminnanohjaus IT-ERP
Tietohallinnon liiketoimintalähtöinen toiminnanohjaus IT-ERP 27.9.2007 Juha Berghäll Efecte Oy [email protected] / +358 40 589 5121 Kuka puhuu? z Juha Berghäll z Country Manager Finland z Laaja kokemus
ORGANISAATION VALMIUDET PROSESSIMAISEEN TYÖSKENTELYYN KLO , L 209
ORGANISAATION VALMIUDET PROSESSIMAISEEN TYÖSKENTELYYN 7.3.08 KLO 12-16.00, L 209 Mistä tunnistaa prosessin? Resurssit Process Toimittaja Syöte Tulos Asiakas Kuka on asiakas? Miten mittaat tulosta? Mikä
Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen
Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen 23 April 2018 1 Tavoitteet Yleiskuva seuraavista aiheista Testauksen organisointi Testaussuunnittelma Testauksen kustannukset Testausstrategia
FiSMA PÄTEVÄN ARVIOIJAN NIMIKKEEN HAKEMUSOHJE
FISMA ry FiSMA Pätevän Arvioijan yleisohje Sivu 1(2) Prosessijohtaminen Hakemuksen tekeminen ja uusiminen FiSMA PÄTEVÄN ARVIOIJAN NIMIKKEEN HAKEMUSOHJE 1. Yleistä FiSMA Pätevän Arvioijan (FiSMA Competent
TIMI TIETOTEKNIIKAN HYÖTYJEN MITTAAMINEN
TIMI TIETOTEKNIIKAN HYÖTYJEN MTAAMINEN Tavoitteena on tuottaa tietoa rakennusalan tämän hetken kypsyystasosta ja :n avulla saavutettavista hyödyistä Menetelmänä oli asiantuntijatyöskentely ja tulosten
Ohjelmistoprojektien hallinta Vaihejakomallit
Ohjelmistoprojektien hallinta Vaihejakomallit Vaihejakomallit TAVOITE: YMMÄRTÄÄ eri vaihejakomallien etujajahaittoja 2 Erilaisia malleja Tee ja korjaa (Code-and-Fix) Vesiputousmalli (Waterfall) Vesiputousmalli
Projektinhallinta SFS-ISO mukaan
Projektinhallinta SFS-ISO 21500 mukaan (Ohjeita projektinhallinnasta, 2012) 13.4.2017 Panu Kiviluoma Osaamistavoitteet Luennon jälkeen osaat selittää, mitä tarkoitetaan Projektilla Projektinhallinnalla
Yritysturvallisuuden johtamisen arviointi ja hallintamalli
[presentation title] via >Insert >Header & Footer Yritysturvallisuuden johtamisen arviointi ja hallintamalli Kiwa Inspecta Yritysturvallisuus? Elinkeinoelämän keskusliiton (EK) yritysturvallisuusmalli
markkinointistrategia
Menestyksen markkinointistrategia kaava - Selkeät tavoitteet + Markkinointistrategia + Markkinointisuunnitelma + Tehokas toiminta = Menestys 1. markkinat Käytä alkuun aikaa kaivaaksesi tietoa olemassa
Yhdeksän mittaria ohjelmistotuotannon. seuraamiseen. tsoft. Vesa Tenhunen Joensuun yliopisto, TKT:n laitos 15.9.2004. http://cs.joensuu.
Yhdeksän mittaria ohjelmistotuotannon tilan seuraamiseen tsoft Vesa Tenhunen Joensuun yliopisto, TKT:n laitos 15.9.2004 http://cs.joensuu.fi/tsoft/ Yhdeksän mittaria ohjelmistotuotannon tilan seuraamiseen
SFS-ISO/IEC Tietoturvallisuuden hallintajärjestelmät. Ohjeistusta. Riku Nykänen
SFS-ISO/IEC 27003 Tietoturvallisuuden hallintajärjestelmät. Ohjeistusta Riku Nykänen 14.12.2018 SFS-ISO/ IEC 2 70 0 3 Tietoturvallisuuden hallintajärjestelmät. Ohjeistusta Riku Ny kän en, 14.12.2 0 18
Espoon projekti- ja ohjelmajohtamisen malli EsPro
Espoon projekti- ja ohjelmajohtamisen malli EsPro EU- ja kv-verkoston tapaaminen Kuntatalo 2.10.2013 Strategiajohtaja Jorma Valve, Espoon kaupunki Mikä on projektimalli? Projektimalli on projektimuotoisen
Miten johdan huolto- ja korjaamotoimintaa laadukkaasti? Autokauppa 2015 6.11.2014 Finlandiatalo
Miten johdan huolto- ja korjaamotoimintaa laadukkaasti? Autokauppa 2015 6.11.2014 Finlandiatalo Keijo Mäenpää Liikkeenjohdon konsultti Diplomi-insinööri Tavoitteena Sujuvasti toimiva kyvykäs organisaatio
Mittaaminen projektipäällikön ja prosessinkehittäjän työkaluna
Mittaaminen projektipäällikön ja prosessinkehittäjän työkaluna Finesse-seminaari 22.03.00 Matias Vierimaa 1 Mittauksen lähtökohdat Mittauksen tulee palvella sekä organisaatiota että projekteja Organisaatiotasolla
Tietohallinnon nykytilan analyysi. Analyysimenetelmä (sovitettu Tietohallintomallista) 9.10.2013
Tietohallinnon nykytilan analyysi Analyysimenetelmä (sovitettu Tietomallista) 9.10.2013 Haastattelurunko Kerättävät perustiedot Budjetti (edellisvuoden) Henkilöstökustannukset IT-ostot Muut Liite - Kypsyysanalyysin
Merlin Systems Oy. Kommunikaatiokartoitus päätöksenteon pohjaksi. Riku Pyrrö, Merlin Systems Oy 8.11.2007
Merlin Systems Oy Kommunikaatiokartoitus päätöksenteon pohjaksi Riku Pyrrö, Merlin Systems Oy 8.11.2007 Merlinin palvelujen toimittaminen ja Asiakasratkaisuyksikön tehtäväkenttä Merlin Asiakasratkaisut
Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems
Advanced Test Automation for Complex Software-Intensive Systems = Advanced Test Automation for Complex Software- Intensive Systems Pääteemana kompleksisten ja erittäin konfiguroitavien softaintensiivisten
JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 2. Liiketoimintamallit ja kyvykkyydet KA-suunnittelussa
JHS 179 Kokonaisarkkitehtuurin suunnittelu ja kehittäminen Liite 2. Liiketoimintamallit ja kyvykkyydet KA-suunnittelussa Versio: Luonnos palautekierrosta varten Julkaistu: Voimassaoloaika: toistaiseksi
Tutkittua tietoa. Tutkittua tietoa 1
Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.
Projektinhallinta TARJA NISKANEN LÄHTEENÄ MM. KEHITTÄJÄN KARTTAKIRJA
Projektinhallinta TARJA NISKANEN LÄHTEENÄ MM. KEHITTÄJÄN KARTTAKIRJA PROJEKTITOIMINNAN ONGELMIA Kaikkea mahdollista nimitetään projekteiksi Projekti annetaan henkilöille muiden töiden ohella Ei osata käyttää
MÄÄRÄYS SIJOITUSPALVELUYRITYKSEN RISKIENHALLINNASTA JA MUUSTA SISÄISESTÄ VALVONNASTA
lukien toistaiseksi 1 (5) Sijoituspalveluyrityksille MÄÄRÄYS SIJOITUSPALVELUYRITYKSEN RISKIENHALLINNASTA JA MUUSTA SISÄISESTÄ VALVONNASTA Rahoitustarkastus antaa sijoituspalveluyrityksistä annetun lain
Orientaatio ICT-alaan. Projekti
Orientaatio ICT-alaan Projekti Projekti Ajallisesti rajoitettu, kertaluonteinen tehtävä määrätyt resurssit sekä oma (linjaorganisaatiosta poikkeava) organisaatio Toteutus tapahtuu suunnitelmallisesti ennalta
Tietoturvallisuuden kokonaisvaltainen hallinta Heikki O. Penttinen Castilsec Oy.
Tietoturvallisuuden kokonaisvaltainen hallinta 3.12.2015 Heikki O. Penttinen Castilsec Oy Tietoturvallisuuden päätavoitteet organisaatioissa Tietoturvallisuuden oikean tason varmistaminen kokonaisvaltaisesti
Totuus IdM-projekteista
Totuus IdM-projekteista Kyselytutkimuksen tulosten julkistustilaisuus 4.10.2011 Hannu Kasanen, Secproof Identiteetinhallinnan huono maine IAM, nuo kolme suurta kirjainta, tarkoittavat käyttäjätietojen-
Rakentamisen 3D-mallit hyötykäyttöön
Rakentamisen 3D-mallit hyötykäyttöön 1 BIM mallien tutkimuksen suunnat JAO, Jyväskylä, 22.05.2013 Prof. Jarmo Laitinen, TTY rakentamisen tietotekniikka Jarmo Laitinen 23.5.2013 Jarmo Laitinen 23.5.2013
Onnistunut Vaatimuspohjainen Testaus
Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen
ISO 50001 velvoite vai liiketoimintamahdollisuus
ISO 50001 velvoite vai liiketoimintamahdollisuus 1 Energiatehokkuusdirektiivi 2012/27/EU energiansäästötavoite on yksi EU:n vuodelle 2020 20/20/20 tavoitteista, joista kaksi muuta ovat kasvihuonekaasujen
Missä mennään BI? Mikko Kontio
Missä mennään BI? Mikko Kontio Source: EMC - Big Data in 2020 % Business Intelligence Business Analytics set of theories, methodologies, architectures, and technologies that transform raw data into meaningful
PCM-projektiajattelu. Projektipalvelut Tutkimus- ja kehityskeskus
PCM-projektiajattelu PCM = Project Cycle Management / Projektisyklin johtaminen Projekti ja projektoituminen on tullut mukaan osana organisaatioiden toimintastrategiaa enenevässä määrin osoittaen toiminnallisena
Projektin suunnittelu
Projektin suunnittelu Sami Kollanus TJTA330 Ohjelmistotuotanto 15.3. Projektin suunnittelu - CMMIkäytänteet Projektin estimaatit: Määritellään projektin laajuus (scope) Määritellään tehtävien ja tuotosten
Mobiilit ratkaisut yrityksesi seurannan ja mittaamisen tarpeisiin. Jos et voi mitata, et voi johtaa!
Mobiilit ratkaisut yrityksesi seurannan ja mittaamisen tarpeisiin Jos et voi mitata, et voi johtaa! Ceriffi Oy:n seuranta- ja mittauspalveluiden missio Ceriffi Oy:n henkilöstö on ollut rakentamassa johtamis-,
Big Room -toiminta tutkimuksen näkökulmasta. Sari Koskelo, Vison Oy
? Big Room -toiminta tutkimuksen näkökulmasta Sari Koskelo, Vison Oy 16.3.2018 Sisältö Big Room konseptin moniulotteisuus Tavoitteet Johtaminen Big Room toiminta kehitys- ja toteutusvaiheissa Big Room
Miksi auditoidaan? Pirkko Puranen FT, Ylitarkastaja
Miksi auditoidaan? Pirkko Puranen FT, Ylitarkastaja Vaatimus kudoslaitoksille: Fimean määräys 3/2014 Liite V 6. Laatukatselmus 6.1 Toiminnoille, joille lupaa haetaan, on oltava käytössä auditointijärjestelmä.
2. Ohjelmistotuotantoprosessi
2. Ohjelmistotuotantoprosessi Peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa
Ohjelmiston testaussuunnitelma
Ohjelmiston testaussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä lukaa antaa yleiskuvan koko testausdokumentista.
Mikä on avoimen tuotteen hallintamalli perustiedot ja taustoitus. Jukka Kääriäinen, Tapio Matinmikko, Raija Kuusela 22.4.2015 Jukka.kaariainen@vtt.
Mikä on avoimen tuotteen hallintamalli perustiedot ja taustoitus Jukka Kääriäinen, Tapio Matinmikko, Raija Kuusela 22.4.2015 [email protected] Avoimen tuotteenhallinta Esityksen sisältö Mitä on tuotteenhallinta?
Aalto-yliopiston laatujärjestelmä ja auditointi. Aalto-yliopisto Inkeri Ruuska, Head of Planning & Management Support
Aalto-yliopiston laatujärjestelmä ja auditointi Aalto-yliopisto Inkeri Ruuska, Head of Planning & Management Support 16.11.2016 The quality policy principles governing the activities of Aalto University
Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara
Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara Mitä? Mitä? Yrityksen sisäinen Mitä? Yrityksen sisäinen Alihankinta Mitä? Yrityksen sisäinen Open Source -kehitys Alihankinta
BaRE Käyttövalmis vaatimusmäärittelymenetelmä
BaRE Käyttövalmis vaatimusmäärittelymenetelmä Uolevi Nikula, Tietotekniikan osasto, LTKK, [email protected] 13.11.2002 un/tsoft 1 Esityksen sisältö Jatko-opinnot Lisensiaatintutkimus BaRE menetelmä
Monipuolisen yhteistyön haaste pyrittäessä korkealle
1 Monipuolisen yhteistyön haaste pyrittäessä korkealle Markus Hellström 2 Esityksen kiteytys 3 Esityksen sisältö Tavoite ja sen merkitys liiketoiminnan johtamisessa Miten vien liiketoiminnan tavoitteeseen?
Software product lines
Thomas Gustafsson, Henrik Heikkilä Software product lines Metropolia Ammattikorkeakoulu Insinööri (AMK) Tietotekniikan koulutusohjelma Asiantuntijateksti 17.11.2013 Sisällys 1 Johdanto 1 2 Software product
Kartoitus investointi- ja projektiprosessien harmonisointiasteesta. Juuso Äikäs Suomen Projekti-Instituutti Oy
Kartoitus investointi- ja projektiprosessien harmonisointiasteesta Juuso Äikäs Suomen Projekti-Instituutti Oy 1 Haastettelukartoitus investointiprojekteista 3 7% 3 7% 5% 1 % Kartoituksen teemana oli investointien
Projektin tavoitteet
VBE II, vaihe 1: 2005-2006 Data yrityksistä ja rakennushankkeista TUT Tekniset ratkaisut RAK (VRLab)+ARK iroom validointi Työpajat Seminaarit Esitelmät Osallistuvat yritykset VTT Käyttöönotto- ja hyötymallit,
Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa
1 Hyvin määritelty on puoliksi tehty kuinka vältetään turha tekeminen jo alussa Passion leads to design, design leads to performance, performance leads to SUCCESS! OLLI NIEMI Yoso Oy Mitä määrittelyltä
Tietojohtamisen arviointimalli
Tietojohtamisen arviointimalli Kesäkuu 2019 Tietojohtamisen arviointimalli Aki Jääskeläinen (Tampereen Yliopisto), Nina Helander (Tampereen Yliopisto), Virpi Sillanpää (Tampereen Yliopisto), Riikka-Leena
