ATDD-metodologian pilotointi: ERP-liitynnän toteutus tehdasautomaatiojärjestelmään
Virtanen, Kalle (2021)
Virtanen, Kalle
2021
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2021-03-30
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202103042383
https://urn.fi/URN:NBN:fi:tuni-202103042383
Tiivistelmä
Hyväksymistestivetoinen ohjelmistokehitys (engl. Acceptance Test-Driven Development, ATDD) on ohjelmistokehitysmetodologia, jonka tarkoituksena on luoda määrittely toiminnallisista vaatimuksista hyväksymistestejä käyttäen. Tässä työssä perehdytään, kuinka metodologia tuotiin osaksi ohjelmistokehitystä Fastems Oy Ab:lla. Työn tarkoituksena on selvittää hyväksymistestivetoisen mallin vaikutuksia ohjelmistokehitykseen ja tunnistaa seuraavat askeleet kohti tehokkaampaa prosessia.
Tutkimus jakautuu kolmeen osaan. Ensimmäisessä osassa tarkastellaan hyväksymistestivetoisen mallin käyttöönottamista asiakasprojektissa pohjautuen kehitystiimin, laadunvarmistustiimin ja tuoteomistajan havaintoihin. Toisessa osassa tehdään kirjallisuuskatsaus kahteen tapaustutkimukseen projekteista, joissa onnistuneesti hyödynnettiin hyväksymistestivetoista ohjelmistokehitystä. Kolmannessa osassa käsitellään verkkokyselyn tuloksia, joiden avulla kartoitettiin hyväksymistestivetoisen ohjelmistokehityksen tilannetta Fastemsilla.
Tutkimuksesta selviää, että Fastemsin MMS:n (engl. Manufacturing Management System) ohjelmistokehitys on siirtynyt ATDD-malliin. Fastemsin tapa toteuttaa ATDD:ta perustuu niin kutsutun kolmikon (engl. Triad tai Three amigos) toimintaan. Tähän ryhmään kuuluvat toimitusomistaja, joka vastaa asiakkaan asiantuntemuksesta, testaaja, jonka vastuulla on hyväksymistestien manuaalinen suorittaminen, sekä ohjelmistokehittäjä, jonka vastuulla on luoda testejä vastaava toteutus. Kaikki kolme ovat yhdessä vastuussa hyväksymistestien kirjoittamisesta.
Tutkimus osoittaa, että uuden metodologian mukaisen ohjelmistokehitysprosessin seurauksena asiakasvaatimuksista tunnistetaan epäselvyydet aikaisemmin, jo ennen kehitystyön aloittamista. Prosessin havaittiin myös tukevan asiakkaan vaatimuksiin liittyvän tiedon keruuta ja ohjelmistokehitystyön todentamista. Sen sijaan, että tieto olisi hajallaan, ohjelmistokehityksen kannalta tarpeellinen tieto on uuden prosessin seurauksena löydettävissä ominaisuudesta (engl. Feature) ja sen hyväksymistesteistä.
Rajoittavaksi tekijäksi osoittautui asiakkaan puuttuminen prosessista. Tämän seurauksena määrittelyt eivät vastanneet asiakkaan vaatimuksia niin hyvin kuin ne olisivat voineet, prosessi vei enemmän aikaa, eikä hyväksymistestejä hyväksytetty asiakkaalla. Tutkimuksesta selviää, että hyväksymistestien seurauksena asiakasvaatimusten muuttumisesta aiheutuva päivitystyö pahimmillaan moninkertaistuu. Näiden lisäksi projektiräätälöintien hyväksymistestien rajallisen automatisoinnin havaittiin aiheuttavan puutteita regressiotestauksessa.
Asiakkaan mukaan ottaminen, koulutus ja ohjeistus, sekä hyväksymistestien kattavampi automatisointi muodostuivat seuraaviksi askeleiksi kohti tehokkaampaa ATDD-metodologian mukaista prosessia.
Tutkimus jakautuu kolmeen osaan. Ensimmäisessä osassa tarkastellaan hyväksymistestivetoisen mallin käyttöönottamista asiakasprojektissa pohjautuen kehitystiimin, laadunvarmistustiimin ja tuoteomistajan havaintoihin. Toisessa osassa tehdään kirjallisuuskatsaus kahteen tapaustutkimukseen projekteista, joissa onnistuneesti hyödynnettiin hyväksymistestivetoista ohjelmistokehitystä. Kolmannessa osassa käsitellään verkkokyselyn tuloksia, joiden avulla kartoitettiin hyväksymistestivetoisen ohjelmistokehityksen tilannetta Fastemsilla.
Tutkimuksesta selviää, että Fastemsin MMS:n (engl. Manufacturing Management System) ohjelmistokehitys on siirtynyt ATDD-malliin. Fastemsin tapa toteuttaa ATDD:ta perustuu niin kutsutun kolmikon (engl. Triad tai Three amigos) toimintaan. Tähän ryhmään kuuluvat toimitusomistaja, joka vastaa asiakkaan asiantuntemuksesta, testaaja, jonka vastuulla on hyväksymistestien manuaalinen suorittaminen, sekä ohjelmistokehittäjä, jonka vastuulla on luoda testejä vastaava toteutus. Kaikki kolme ovat yhdessä vastuussa hyväksymistestien kirjoittamisesta.
Tutkimus osoittaa, että uuden metodologian mukaisen ohjelmistokehitysprosessin seurauksena asiakasvaatimuksista tunnistetaan epäselvyydet aikaisemmin, jo ennen kehitystyön aloittamista. Prosessin havaittiin myös tukevan asiakkaan vaatimuksiin liittyvän tiedon keruuta ja ohjelmistokehitystyön todentamista. Sen sijaan, että tieto olisi hajallaan, ohjelmistokehityksen kannalta tarpeellinen tieto on uuden prosessin seurauksena löydettävissä ominaisuudesta (engl. Feature) ja sen hyväksymistesteistä.
Rajoittavaksi tekijäksi osoittautui asiakkaan puuttuminen prosessista. Tämän seurauksena määrittelyt eivät vastanneet asiakkaan vaatimuksia niin hyvin kuin ne olisivat voineet, prosessi vei enemmän aikaa, eikä hyväksymistestejä hyväksytetty asiakkaalla. Tutkimuksesta selviää, että hyväksymistestien seurauksena asiakasvaatimusten muuttumisesta aiheutuva päivitystyö pahimmillaan moninkertaistuu. Näiden lisäksi projektiräätälöintien hyväksymistestien rajallisen automatisoinnin havaittiin aiheuttavan puutteita regressiotestauksessa.
Asiakkaan mukaan ottaminen, koulutus ja ohjeistus, sekä hyväksymistestien kattavampi automatisointi muodostuivat seuraaviksi askeleiksi kohti tehokkaampaa ATDD-metodologian mukaista prosessia.