Tech Rot, not Tech Debt
Brown wooden plank on water photo – Free Travel Image on Unsplash
Rot is silent, but always has a cause; ultimately, when it rots, the answer is the same. It wasn’t looked after, and the bugs were left to eat it from the inside out. Then one day, you try to build on top of it only for it all to crumble, taking you along with it.
In the development of software, many people call this tech debt. Today I’m going to try to convince you that better words exist, because I have seen tech debt being used to hide away from the reality that the people who were hired to construct software built it rotting from day one.
Before I go further, let’s talk about tech debt. The concept is simple; much like financial debt, it’s something you owe that you will have to pay back in the future. And likely the longer you wait, the higher the cost will be to pay it back, aka, interest.
The key thing often missed about tech debt is that it has to be an active choice. If you choose to pick the latest WizzBang solution even though you know it’s missing features you might need in the future. You raise this with the business, talk about the pros and cons, and an agreement is made that the future uncertainty isn’t worth delaying the now.
That is debt, it’s deliberate and honest. However, unlike financial debt, there is the perk that the debt might actually disappear when you find out you don’t need the future to be what you thought it should have been in the past.
Rot, on the other hand, much like how wood rots, comes from neglect or even poor craftsmanship. It’s using untreated wood for a post in the mud or putting a wooden shelf up in the shower.
Rot isn’t deliberate; ultimately, it’s born from neglect or ignorance. Maybe after 6 to 12 months of working on the house, the team realises their ignorance about wood and humidity when the shower’s wooden shelf starts to go mouldy. Only then, realising the posts holding the house up must be rotting as well.
It may need fixing, but that’s not debt; it wasn’t a choice, it’s the silent cost businesses face when technical values are misunderstood or misused.
If you didn’t choose to take out the debt, I’m afraid that what you are fixing is the rot created from poor craftsmanship. Often, the blame game starts, and teams pretend it’s some debt incurred by short deadlines or other pressures. Rot happens, and rarely due to malice, but if you don’t accept and identify the rot, you will never fix it or stop it from spreading.
Tech debt still has its place; however, at times, I have seen a distasteful acceptance of masking the rot as debt and pretending it’s the norm when it comes to building software.
Name the rot, treat it, and if that doesn’t work, cut it out. But don’t pretend it is the debt of building software. It’s the cost of shoddy craftsmanship, and nothing more.