The ReleaseTEAM Blog: Here's what you need to know...

Tackling Technical Debt Redux: a Deeper Dive

Best Practices to Pay Down Your Technical Debt

This is post 8 in our Technical Debt series; we suggest you start at post 1.

When you take out a loan, it’s often for an amount larger than you can pay off at once, so you pay it down over time. The debt grows faster when you miss payments or pay the bare minimum. Acquiring technical debt is similar in theory, and designing the best repayment plan can help keep your projects running smoothly.

The cost of delaying tech debt payments

The longer you delay paying down technical debt, the more difficult it becomes to untangle poorly written code and the more likely it becomes that working around old code creates new bugs. Failure to budget time to address technical debt negatively affects productivity and morale and can eventually slow down time to market. In the worst-case scenario, ignoring technical debt can create vulnerabilities that destroy customer trust and affect your bottom line.

Establishing priority

Personal finance has different strategies for paying down several loans at once. Each loan has a balance, an interest rate, and a minimum payment due each month. Before deciding on a strategy, you must decide how much extra budget you can spare towards payments above the minimum due.

In the first strategy, you could spread the extra budget evenly across all the loans, regardless of their balance or interest rate. That approach avoids setting priority; it may be years before you pay off a financial or technical debt.

Another strategy is to focus on paying off the smallest loan balance first, then apply that payment to the next largest loan. This plan reduces the number of payments you make to different lenders each month without increasing the total amount you pay each month. This approach provides positive reinforcement as the number of loans decreases. The corollary in technical debt would be addressing the easiest backlog items first, earning pats on the back as you cross off technical debt.

A third approach would be to spend most of your budget and effort on the debts that cost you the most. For financial loans, these are the loans with the highest rates, and in technical debt, they’re the items preventing you from quickly and securing shipping new features.

To prioritize technical debt, you’ll need to audit how much technical debt you have, the impact and severity of each item, and what your business objectives are. High-severity technical debt has a larger “minimum payment” and shorter repayment schedules, while some lower-effort items could safely sit in the queue without disrupting business. To keep up team morale, you should use a mix of quick wins and high-effort items. As your team crosses small items off, continue to dedicate the same amount of time each sprint towards paying down technical debt. Over time, their payments towards high-effort work make it easier to ship new features, leading to positive ROI.

Balance with new feature development

Very few teams have the luxury to focus all their time on wiping out existing technical debt. Instead, most teams always carry some amount of technical debt on their books. This is not only expected but can also be advantageous when your team intentionally takes on technical debt to get to market faster or meet another business objective.

Align your technical debt repayments in a way that supports your product roadmap so that your teams have what they need to ship new features on time. While urgent and security items claim the highest priority, fixing the technical debt needed to deliver roadmap commitments is the next priority.

Join our mailing list
Name
=

Corporate HQ

1499 W. 120th Ave
Suite 110
Westminster, CO 80234
866-887-0489

Canada

PMB# 604
1-110 Cumberland St.
Toronto, ON M5R 3V5
866-887-0489