Startups are under a lot of pressure to deliver fast. This often necessitates the accumulation of technical debt. Many articles have been written on why it is essential to pay off technical debt. Fewer speak to circumstances for keeping debt or evaluate what areas of tech debt should be prioritized.
In my experience, software developers often overvalue the benefits and impact of fixing tech debt issues. A developer might take a full day developing a script to save 30 minutes of a one-time repetitive and menial task. Another mistake developers often make is justifying tech debt based on an ideal outcome that may not be realistic. In an attempt to simplify the code or architecture, a developer may find that the “fixed” version is only marginally better and does not yield the full benefits.
In my experience, business leaders often undervalue the benefit of fixing tech debt issues. As mentioned earlier, early-stage startups choose to take on technical debt. It can be hard to shift towards a growth mindset as the business grows. An anchoring bias called conservatism bias leads individuals to trust their prior beliefs and neglect new information. This manifests as doubling down on the original justification for the debt instead of evaluating the current situation.
The key to evaluating technical debt is the same as for any new feature or product: compare the value gained by removing the debt versus the cost of removal. The implementation cost can be determined through estimation. The value gained can be more challenging to quantify but can be found by evaluating the short or long-term impact of removing the debt. This can be equated to time cost or savings on future projects, which correlates to business value.
Regardless of your perspective, your gut instinct on the value of technical debt can be suspect. Evaluate tech debt projects carefully and pay off debt smartly by choosing projects to maximize value.