All technical debt is not equal
I bet that we have all heard that technical debt is bad and must be removed at all costs. But I’m going to be putting my view on this, and hopefully back it up with a convincing argument.
Technical debt is bad, but only should be actioned in highly edited / buggy areas.
What IS Technical debt
Technical debt is an area that was not programmed or implemented in the way it was supposed to be, could be down to business pressures, or “get it out the door syndrome”. Generally these places are also concerns for people learning the codebases too, as they are generally confusing.
Whats the problem.
We will never have the full time to manage technical debt across our platforms. We never will. We will have to always balance the work within the push for new features and new technical paradigms that we want to adopt. And in this balance we do not want to work on technical debt fixes that people will not experience the benefits for.
What we want to do is we want to focus on technical debt that will give a return on investment. The ROI in this case is developers understanding and iterating faster over the codebase that requires it.
How can we do this?
There are tools available that allow us to categorize and understand.
- Technical debt areas
- Dead code
- Battle hardened code