← Kaikki ilmiöt Projekti- ja ohjelmistokehitys
Ilmiö 54

Tekninen velka — oikoteiden korko

Kirjoittanut · Päivitetty 13.7.2026

Ward Cunningham loi termin 1992: tekninen velka on metafora oikotielle, joka nopeuttaa kehitystä nyt mutta kasvaa korkoineen tulevaisuudessa. Jokainen "tehdään nyt nopeasti, korjataan myöhemmin" -päätös on lainaa tulevaisuuden kehityskapasiteetista.

flowchart TD O["Oikotie:\n'tehdään nyt nopeasti'"] --> V["Tekninen velka\nkasvaa"] V --> H["Jokainen muutos\nvaikeutuu"] H --> P["Paine tehdä\nlisää oikoteitä"] P --> V V --> K["Järjestelmä muuttuu\nliian kalliiksi\nmyllistää"] style V fill:#fff3cd,stroke:#f39c12 style K fill:#fdf0f0,stroke:#c0392b

Tekninen velka kumuloituu — ja kasvaa korkoineen mitä kauemmin se on maksamatta.

Data- ja analytiikkaprojekteissa tekninen velka näkyy erityisen selvästi:

Käytännössä velka kasvaa huomaamatta: raportointitiimi tekee kiireessä "väliaikaisen" SQL-skriptin kuukausiraporttia varten. Vuotta myöhemmin skriptejä on kolmekymmentä, ne riippuvat toisistaan, alkuperäinen tekijä on vaihtanut työpaikkaa — ja yksinkertainen sarakemuutos lähdejärjestelmässä kaataa raportoinnin viikoksi. Oikotie, joka säästi kaksi päivää, maksaa nyt kuukausia joka vuosi.

Velka ei katoa itsestään: Teknistä velkaa ei poisteta huomioimalla se sprinttisuunnitelmassa kerran vuodessa. Se vaatii systemaattista "velanmaksua" — refaktorointia, dokumentointia ja testausta osana normaalia kehitystyötä, ei erillisenä projektina joka aina siirtyy seuraavaan kvarttaaliin.

Vastakeinot — velanmaksu käytännössä:

Sovi kiinteä velkabudjetti, esimerkiksi 15–20 % jokaisesta sprintistä tai työviikosta velan lyhentämiseen — ei "kun ehditään", vaan varattuna etukäteen kuten lainanlyhennys. Tee velka näkyväksi: kirjaa jokainen tietoinen oikotie backlogiin tai velkalokiin syntyhetkellä, sillä näkymätön velka ei koskaan pääse priorisointiin. Noudata partiosääntöä: jätä koodi aina hieman siistimmäksi kuin sen löysit — pieni jatkuva lyhennys voittaa suuren kertaremontin, joka ei koskaan toteudu. Ja kun uusi oikotie ehdotetaan, hinnoittele se ääneen: "säästämme nyt kaksi päivää ja maksamme myöhemmin enemmän — otetaanko laina?"
Lue lisää
Kirjoja
  • Working Effectively with Legacy Code — Michael Feathers (2004)
  • Clean Code — Robert C. Martin (2008)
  • A Philosophy of Software Design — John Ousterhout (2018)