Skip to main content
Stephen Vickers
/ #Architecture / 3 min read

How I think about technical debt as a business owner

Technical debt only matters when it changes risk, cost, speed, quality, or the confidence with which a business can make decisions.


Technical debt is a phrase that gets used too loosely.

Sometimes it means poor code. Sometimes it means old systems. Sometimes it means decisions the current team dislikes. Sometimes it is used as a way to ask for engineering time without explaining the business consequence.

I do not think that is useful.

Technical debt matters when it affects the business.

That might mean slower delivery, higher support cost, unreliable reporting, fragile integrations, security risk, poor customer experience, expensive onboarding, supplier dependency, or a team that is afraid to change important parts of the system.

If the business consequence is not clear, the debt has not been explained properly.

Not all debt is bad

Some technical debt is rational.

Early-stage businesses make trade-offs. Agencies ship under pressure. Products evolve through imperfect decisions. Teams choose the simple path because the future is uncertain. That is not failure. It is often how useful things get built.

The issue is not the existence of debt. The issue is whether the business understands it, manages it, and pays it down before it becomes a constraint.

Debt becomes dangerous when it is invisible to leadership.

The commercial questions

When reviewing technical debt, I care less about whether something is architecturally elegant and more about what it does to the business.

The useful questions are:

  • Does this slow the team down in a measurable way?
  • Does it create risk around revenue, clients, compliance, or reputation?
  • Does it make future work harder to estimate?
  • Does it force the business to rely on one person or supplier?
  • Does it make the system harder to operate or support?
  • Does it block a known commercial priority?

If the answer is no, the debt may not be urgent. If the answer is yes, it belongs in leadership conversations rather than hidden in a backlog.

Why teams struggle to get it funded

Engineering teams often struggle to get technical debt addressed because they describe the problem in engineering language.

They explain code quality, framework age, test coverage, architecture, or maintainability. Those things may all matter, but they are not always enough for a non-technical decision-maker.

Leadership needs to understand consequence.

Will this delay the next product release? Will it make a client commitment risky? Will it increase support cost? Will it make hiring harder? Will it make a future migration more expensive? Will it expose the company to an avoidable failure?

That is the translation work.

Paying debt down sensibly

The answer is rarely to stop everything and rewrite the system.

Most businesses need a more measured approach. Identify the debt that creates the most commercial risk. Tie remediation to active work where possible. Improve the parts of the system the team changes most often. Remove single-person dependencies. Document decisions. Add tests where they protect valuable behaviour.

Good debt management is boring in the best way. It reduces risk without turning engineering into a separate universe from the business.

The owner mindset

Owning a business changes how you look at technical decisions.

You stop asking whether the system is perfect. You ask whether it is understandable, affordable, adaptable, and safe enough for the next stage of the business.

That is the standard I use.

Technical debt is not a moral failing. It is a business liability that needs to be named, priced, prioritised, and managed.