Technical Debt: What it is and how to handle it
Development shortcuts can be replaced by a more viable, long-term solution – but at a cost.
If you have purchased or overseen software development, you have likely heard someone on a technical team say, “We’re just going to hard-code it for now.” This team has just taken on some tech debt; they will deliver the working feature sooner, but the shortcut they took to do so will eventually need to be changed to a more viable, long- term solution.
What you, as a buyer or sponsor, should recognize is that when the code or design is not quite right — sometimes out of necessity, sometimes because of a mistake — it creates “interest” on that tech debt. The interest is the effort the software development team must eventually spend to remediate the problems borne out of the process. Tech debt is not uncommon, but, depending on how it’s addressed, it can be problematic.
Teams that find themselves loaded with interest on tech debt often need to put the brakes on further development to acknowledge the problem, brainstorm options, measure the impacts of these options, and make an informed plan. A large amount of tech debt can reduce your speed to market, increase your costs, and possibly degrade product quality. This can lead to difficult conversations because you are essentially being
told that you need to spend money and/or slow development because changes must be made that don’t seem to add value to the product and are largely invisible to end users.
It’s important to understand that you, as a buyer, can affect tech debt. Your decisions, management style, and interactions you have with software teams can influence how the team handles tech debt. Overly aggressive timelines, unclear or unstable requirements, and changing priorities can lead projects to incur tech debt that’s difficult and time-consuming to pay down.
Good debt, bad debt
Most software built for commercial or enterprise use is intended to have a long shelf life, during which time it gets new features, increased usage, and ongoing maintenance and support. Because of this, it
is the post-launch phase where development teams need to pay off their debt.
In some cases, tech debt occurs because a software development team had to learn a new technology, one that is expected to ultimately make the end product better. Tech debt can also be incurred when a team makes an oversight or an honest mistake in design. All of this can bring on technical debt, but it can usually be addressed without much negative impact on the project or the project timeline.
Sometimes a software team makes a conscious and measured decision to take shortcuts to move a product to market sooner. They take on the debt now, and have a plan to pay it down soon — it’s a pragmatic risk that’s common during a software project.
Bad debt is when a software development team knows better, yet still takes shortcuts, or the team is either clueless and/or reckless. Sometimes this is done with management buy-in or even at their direction, but in all cases, the project is in trouble and may be headed towards catastrophe.
Working together
Even though you may not see it, you have a role in how development teams manage tech debt. Software developers want you to play a constructive role; acknowledge that it is something that needs to be dealt with, discuss it openly, and ask them to be transparent. Then work with your software development partner on a plan to make good on that debt to address whatever issues were created during development.
You should expect to participate throughout the project, being clear and thorough about your software requirements. That’s not to say you should micromanage or have a heavy hand in the technical
implementation details — leave that to the professionals. But a project is much more likely to have a better outcome when everyone is educated and aligned on how to manage their tech debt.
Still have questions?
Confused about how much tech debt you (or your dev team) might be carrying – or even how to manage and pay it down? We’re here to help. Contact the Rivers Agile team – our experts are happy to assess your software development roadmap and help you make a plan to make good on your technical debt. Reach out today!