Tekninen velka:Lyhyen aikavälin hyödyt, pitkäkestoiset haitat
Rouvila, Riku (2020)
Rouvila, Riku
2020
Tietojenkäsittelytieteiden kandidaattiohjelma - Bachelor's Degree Programme in Computer Sciences
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ä
2020-06-03
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202005185456
https://urn.fi/URN:NBN:fi:tuni-202005185456
Tiivistelmä
Tekninen velka kuvaa ohjelmistoprojektin budjetti- ja aikataulurajoitteiden, sekä muuttuvien vaatimusten seurauksena syntynyttä heikkoa laatua esimerkiksi ohjelmistokoodissa, dokumentaatiossa tai prosessissa, joka hidastaa ohjelmiston kehitystä sen kompleksisuuden kasvaessa. Tekninen velka on käsitteenä varsin huonosti määritelty ja se on ajan saatossa kasvanut käsittämään hyvin laajaa joukkoa ohjelmistoprojektien yleisimpiä ongelmia. Sillä voidaan tarkoittaa niin koodin laadullisia puutteita, kuten alhaista testikattavuutta tai tyylivirheitä, mutta toisaalta myös esimerkiksi puutteellista dokumentaatiota tai huonosti määriteltyjä prosesseja. Tekniselle velalle ei ole myöskään olemassa standardoituja mittareita, joka hankaloittaa sen havaitsemista, mittaamista ja hallintaa entisestään.
Tämän tutkielman tavoitteena on selvittää, mitä tarkoitetaan teknisellä velalla. Tämän lisäksi tutkitaan, mistä syistä teknistä velkaa kertyy tai otetaan, ja millaisia seurauksia teknisestä velasta on niin ohjelmistoprojektille, yritykselle kuin ohjelmistokehittäjällekin. Tutkielma on kirjallisuuskatsaus, jossa lähteenä on käytetty alan artikkeleita, tutkimuksia ja kirjallisuutta. Aihe on merkittävä, sillä jokainen ohjelmistoprojekti kerryttää teknistä velkaa ja velan vaikutukset projektin elinkaaressa ovat huomattavat. Teknistä velkaa voidaan käyttää tehokkaana strategisena työkaluna osana ketterää ohjelmistokehitystä. Tekninen velka voi auttaa selkeyttämään epäselviä vaatimuksia tai helpottaa parhaan teknisen toteutuksen löytämistä. Sen avulla ohjelmistokehitystä voidaan myös hetkellisesti nopeuttaa esimerkiksi liiketoiminnan sitä vaatiessa. Usein tekninen velka ei kuitenkaan ole harkittua, vaan se on seurausta esimerkiksi rajallisesta aikataulusta tai budjetista. Teknistä velkaa syntyy myös itsestään ajan kuluessa, sillä useimmat ohjelmistoprojektit vaativat ylläpitoa. Ohjelmistokehittäjä voi myös omalla kokemattomuudellaan, huolimattomuudellaan tai tietämättömyydellään luoda teknistä velkaa.
Kirjallisuudessa on kuitenkin yksimielisyys siitä, että tekninen velka täytyy maksaa takaisin, mikäli ohjelmistoprojektin kehitystä halutaan jatkaa. Maksamaton tekninen velka voi pahimmillaan johtaa koko ohjelmistokehitysprosessin huomattavaan hidastumiseen tai pysähtymiseen. Joissain tapauksissa koodipohja saatetaan joutua jopa kirjoittamaan kokonaan uudelleen. Pitkään maksamatta jätetty velka madaltaa tiimin työtehoa, motivaatiota ja työmoraalia.
Tämän tutkielman tavoitteena on selvittää, mitä tarkoitetaan teknisellä velalla. Tämän lisäksi tutkitaan, mistä syistä teknistä velkaa kertyy tai otetaan, ja millaisia seurauksia teknisestä velasta on niin ohjelmistoprojektille, yritykselle kuin ohjelmistokehittäjällekin. Tutkielma on kirjallisuuskatsaus, jossa lähteenä on käytetty alan artikkeleita, tutkimuksia ja kirjallisuutta. Aihe on merkittävä, sillä jokainen ohjelmistoprojekti kerryttää teknistä velkaa ja velan vaikutukset projektin elinkaaressa ovat huomattavat. Teknistä velkaa voidaan käyttää tehokkaana strategisena työkaluna osana ketterää ohjelmistokehitystä. Tekninen velka voi auttaa selkeyttämään epäselviä vaatimuksia tai helpottaa parhaan teknisen toteutuksen löytämistä. Sen avulla ohjelmistokehitystä voidaan myös hetkellisesti nopeuttaa esimerkiksi liiketoiminnan sitä vaatiessa. Usein tekninen velka ei kuitenkaan ole harkittua, vaan se on seurausta esimerkiksi rajallisesta aikataulusta tai budjetista. Teknistä velkaa syntyy myös itsestään ajan kuluessa, sillä useimmat ohjelmistoprojektit vaativat ylläpitoa. Ohjelmistokehittäjä voi myös omalla kokemattomuudellaan, huolimattomuudellaan tai tietämättömyydellään luoda teknistä velkaa.
Kirjallisuudessa on kuitenkin yksimielisyys siitä, että tekninen velka täytyy maksaa takaisin, mikäli ohjelmistoprojektin kehitystä halutaan jatkaa. Maksamaton tekninen velka voi pahimmillaan johtaa koko ohjelmistokehitysprosessin huomattavaan hidastumiseen tai pysähtymiseen. Joissain tapauksissa koodipohja saatetaan joutua jopa kirjoittamaan kokonaan uudelleen. Pitkään maksamatta jätetty velka madaltaa tiimin työtehoa, motivaatiota ja työmoraalia.
Kokoelmat
- Kandidaatintutkielmat [8996]