Tekninen velka tuo ohjelmistoprojektien kompromissit näkyviksi ja hallittaviksi (Väitös: DI Johannes Holvitie, 7.4.2017, tietotekniikka / ohjelmistotuotanto)

31.03.2017

DI Johannes Holvitie tutkii Turun yliopistossa tarkastettavassa tietotekniikan (ohjelmistotuotanto) alan väitöskirjassaan, miten teknistä velkaa voidaan hallita ohjelmistokehitysprojekteissa. Tekninen velka kattaa ohjelmistotuotteen nykytilan ja optimitilan erotuksen ja kuvaa sen aiheuttamat vaikutukset. Väitöskirja osoittaa, että teknisen velan hallintamenetelmiä kehittämällä voidaan tehostaa ohjelmistokehitysprojekteja.

​Turun yliopiston tiedote 31.3.2017

Johannes Holvitien väitöstutkimuksessa selvitetään teknisen velan olennaisimpia ominaisuuksia ohjelmistokehitysprojekteissa. Ominaisuuksien perusteella muodostettu tutkimuksen viitekehys pyrkii ymmärtämään, miten ohjelmistoprojekteissa voidaan hallita tehokkaasti teknistä velkaa.

– Teknistä velkaa kohdataan kaikissa ohjelmistokehitysprojekteissa. Velka käsittää projekteissa tehdyt kompromissit sekä niiden projekteille aiheuttamat vaikutukset. Tavanomaisin kompromissiesimerkki on ohjelmistotuotteen nopeampi toimitus asiakkaalle toteutuslaadun kustannuksella, Turun yliopistossa väittelevä Johannes Holvitie sanoo.

Väitöstutkimuksessa selvisi, miten haastavasta hallinnan kohteesta teknisen velan kohdalla on kyse. Tekniset velanotot laajenevat ohjelmistotuotteessa vaikuttaen osa-alueisiin, joissa mukana toimivat henkilöt eivät jaa toimintakontekstia.

– Johdon on haastavaa tehdä teknisen velan hallintaan liittyviä päätöksiä, koska tieto velasta perustuu aina syvään teknologiseen ymmärrykseen. Tiedon tulkitseminen ei-tekniselle johdolle on vaikeaa, Holvitie huomauttaa.

Kolmiosainen ratkaisu teknisen velan hallintaan

Väitöskirjassa rakennetaan kolmiosainen ratkaisu, jota seuraten teknistä velkaa voidaan hallita ohjelmistoprojektityyppiriippumattomasti. Ensimmäinen osa toteuttaa työkalun, jolla teknisen velan tunnistamista voidaan toteuttaa osana normaalia ohjelmistokehitystyötä. Toinen osa käy läpi teknisen velan ottoja historiatiedoista pyrkien kuvailemaan velan ominaisuudet mahdollisimman tarkasti. Kuvailun perusteella muodostetaan malleja, jotka kertovat yksittäisille ohjelmistokomponenteille, miten tekninen velka vaikuttaa ja laajenee kyseisissä komponenteissa. Mallit mahdollistavat sen, että informaatio teknisestä velasta säilyy relevanttina ohjelmistokehitysprojektin edetessä. Kehitetyn ratkaisun viimeinen osa kartoittaa, mitä teknisen velan hallintamahdollisuuksia nykyisillä ohjelmistokehitysprojekteilla on käytettävänään.

– Tiedetään, että muun muassa ketterät eli iteratiivis-inkrementaaliset ohjelmistokehitysprosessit pystyvät huomioimaan velan mukauttamalla uusien toiminnallisuuksien kehitysnopeutta. On olennaista ymmärtää, mitkä ketterien prosessien yksittäiset käytänteet vastaavat mukautumisesta, koska ne muodostavat rajapinnan, jolla teknisen velan hallintaa voidaan toimivissa ohjelmistokehitysprosesseissa parantaa, Holvitie sanoo.

Väitöstutkimuksessa tehtiin laaja monikansallinen kyselytutkimus eri ohjelmistoprojektien ja niiden teknisen velan tilanteen kartoittamiseksi. Ohjelmistoprojekteista esille nostetuille käytänteille ehdotetaan aiemmin kuvatun, väitöksessä kehitetyn teknisen velan hallintatyökalun ja tiedonpäivitysprosessin mukauttamista ja integraatiota.

Tekninen velka on saavuttanut keskeisen roolin ohjelmistotuotannon tutkimusalalla. Merkittävänä syynä ovat ohjelmistojärjestelmien uniikit ominaisuudet, kuten läpi kehityksen seuraava tuki järjestelmän muuttamiselle. Tästä syystä teknistä velkaa voidaan ottaa strategisten päätösten seurauksena. Samaisesti tahattomat velanotot voidaan saattaa osaksi strategiaa, jos ohjelmistokehitysprosessi tukee niiden paikantamista. Velan takaisinmaksu – sen tehokkuus maksimoiden – on mahdollista, jos velanottoa voidaan seurata ja tuottaa siitä informaatiota päätöksenteon tueksi. Teknisen velan hallintamenetelmiä kehittäessään väitöstutkimus samalla kartoitti tapoja tehostaa ohjelmistokehitysprojektien tehokkuutta ja kestävyyttä.

***

DI Johannes Holvitie esittää väitöskirjansa Technical Debt in Software Development - Examining Premises and Overcoming Implementation for Efficient Management julkisesti tarkastettavaksi Turun yliopistossa perjantaina 7.4.2017 klo 12 (Turun yliopisto, ICT-talo, Lambda-luentosali, Joukahaisenkatu 3-5, Turku).

Vastaväittäjänä toimii professori Philippe Kruchten (University of British Columbia, Kanada) ja kustoksena professori Ville Leppänen (Turun yliopisto). Tilaisuus on englanninkielinen.

DI Johannes Holvitie on syntynyt vuonna 1989 ja kirjoittanut ylioppilaaksi Kastun lukiossa vuonna 2008. Holvitie suoritti korkeakoulututkintonsa (DI) Turun yliopistossa vuonna 2012. Väitöksen alana on tietotekniikka (ohjelmistotuotanto). Holvitie työskentelee Turun yliopistossa tohtorikoulutettavana.

Väittelijän yhteystiedot: p. 050 348 5228, jjholv(at)utu.fi

Väittelijän kuva: https://apps.utu.fi/media/vaittelijat/holvitie-johannes.jpg

Väitöskirja on julkaistu sähköisenä: https://www.doria.fi/handle/10024/134086

Luotu 31.03.2017 | Muokattu 31.03.2017