Technical Debt Does Exist

This is a comment on an article I read recently

I quite like his comments on the never ending task that is maintaining software, as well as the comment on human nature and the right of passage that is figuring out that ‘doing it all from scratch because you can’t understand old code’ isn’t better most of the time.

But he really seems to misunderstand the point of the word ‘debt’… He gets so close when talks about debt being something that you have to repay but fails to see the connection with repaying yourself for your past shortcuts.

Most of his examples aren’t based on moments where there was a conscious decision of ‘should we do this the way we would want to given enough time or should we bodge it to fit the time constraints, when we know it will make it harder to unpick later?’ amounting to a bodge. These are the real ‘debt’ moments for me – where you are consciously borrowing time from yourself with the knowledge that you will almost certainly have to pay it back with interest later.

Writing it off to ‘maintenance’ is just shirking accountability to your past decisions. There’s a balance to be had but consistently choosing to bodge all the time is just ignoring a large likelihood of a slow down delivery in the long term. Just as always doing it ‘the perfect way’ is short sighted and risks missing the opportune moment to ship/test a new feature.

If you didn’t know you were going to have a problem then I wouldn’t call that debt either.