Bad Renovations in Software
Recently, while doing some work in my basement, I had to remove a vertical bulkhead. Actually, I didn’t have to remove but wanted to see what was behind it after staring at it for so many years.
When I opened it up, it was empty, there was nothing of use behind it – no vents, no water lines, no electrical, nothing – just empty space.
Well, not just empty space, it was filled with scraps from when it was first built, leftover pieces of drywall, wood and whatever else could fill in that cavity.
It was Technical Debt in all its physical glory.
Code that we have pushed to the side because no one’s ever going to see it.
Code that’s so bad, we don’t even try to hide what it is, we just add it to the pile.
Code that serves no other purpose, except to make work for the next person that comes along.
How many times have you had to go into a project that was rife with bad code that was pure bad debt that now you had to fix?
Bad Debt, if you think back to the mortgage and housing crisis of 2008 and watch the movie “The Short” you know what Technical Debt truly is, bad code, hidden within even more bad code, hidden within even more bad code that somehow works so we call it great and leave it for later or until it blows up.
Good Leaders know when to take on Debt, they take on the good debt, debt that will help their company and team grow. And they don’t leave it behind, in the next release, the next beta, three sprints down the line when everyone is happy with the results, they go back and do it right, make it better and fix it so the next person that comes along isn’t saddled with a gargantuan problem that blows their project out of the water.
The Good Leaders fix Technical Debt but working on it. If it’s going to add two weeks to their delivery timeline, they figure out a way to do it and make it happen. If the team is overloaded and can’t spare the week involved in testing thereafter, they find a way to coordinate with QA and get it done.
We only have Technical Debt because we let it get there, but we all know the answer to fixing it.
You don’t have to be the one to put your hand up and announce you’re going to tackle it and get it done, you need to be the one to start doing it.