Ilmiö 54
Tekninen velka — oikoteiden korko
Kirjoittanut Ilmiömies · 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:
- Kovakoodatut polkumuuttujat ja salasanat skripteissä
- Dokumentoimattomat transformaatiot joita kukaan ei enää ymmärrä
- "Väliaikaiset" SQL-skriptit jotka päätyvät tuotantoon ja jäävät sinne
- Dashboard-laskut joita kukaan ei enää uskalla muuttaa — "se vaan toimii"
- Manuaaliset korjausajot joista tulee viikoittainen rutiini
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)