Kom over en veldig fin artikkel om teknisk gjeld som definerer konseptet på en litt annen måte enn det jeg har sett før. Det er faktisk sånn det ble definert første gang, av han som fant opp begrepet.
Et lite utdrag:
When you choose an iterative process, you use that time to deliver several partial solutions. You don’t understand the full requirements until the last iteration, so for most of the year, the ideas in your head are partial. The code embodies your partial understanding because it cannot be more insightful than the ideas in your head. The original paper argues that this is ok, as long as you don’t leave the code in that state forever, and it introduces the debt metaphor: “Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite.”
Dette er altså noe annet enn bare dårlig kode, eller kode som skrives dårlig med vilje fordi man planlegger å fikse det senere. Det handler om at koden er dårlig fordi du (helt uten mulighet til å gjøre noe med det) ikke forstår problemet godt nok enda. Med en iterativ utviklingssyklus er det omtrent uunngåelig å havne her.
Så mitt spørsmål er: Hvordan håndterer du/dere kode som ble skrevet mens du forstod problemet for dårlig?