Technical debt bears a lot of similarities to financial debt. On its face, neither is good or bad, but how you incur it and what you do to manage it will have a significant impact on your organizational future. Here are three tips that will enable you to practice sound technical debt management…
Track your debt
There are times when developers are put under pressure to incur technical debt. The reason is usually that a product has to make it to market and there isn’t time to make sure the code is written in a way that’s built for the long-term.
The quick-fix solution is good enough to put the product out and enhance the company balance sheet in time for the shareholders meeting, but developers will inevitably have to put in time going back to clean up messy code.
The development team may not be able to avoid these economic pressures, but they can make sure that the costs of the quick fix are well-established. Specifically tracking the amount of tech debt that’s piling up and the associated costs with fixing it is a way to bring shareholders into the accountability process.
Think long-term
It’s easy to say and very hard to implement, so project managers should implement a formal process where their developers can take a long view of the entire process. It starts with how to avoid incurring more technical debt in the first place, and it includes cleaning up the code from past debt as they go.
This can’t be done as a one-time project, but must be part of a systematic process that always features cleanup and planning. It may require a change in the way upper management views the entire process, and therefore cause some pain.
Cultural renewal
Continuing with theme of change that could be painful, take a look at the way your development team is rewarded. Is the developer who came up with the new app the one that’s always celebrated? Or is the one who did the long and tedious work of reducing the debt getting their kudos? Your answer to this question will go a long way towards deciding if your technical debt management is on sound footing.