What Is Technical Debt?

Daniel James
SUPERTEAM
Published in
4 min readOct 9, 2018
credit: Fabian Blank

Time is a finite resource and we wamt to make the best use of it. Often this looks like taking shortcuts in order to get things done faster. At what cost do these shortcuts come? When does saving time start costing you money?

What is technical debt:

Technical debt is the result of the compromise you make in the quality of your work in order to save time and money upfront. Imagine you’re launching a new product but the development of your software is incomplete. You can’t afford to wait until it’s perfect…so what do you do? You’re left with two options.

You take the time necessary to write the fully functioning code with zero mistakes, or you write code that’s ‘just good enough’ to launch on time.

The time and money “saved” by taking the second route results in technical debt. Why is saved is quotes? You’re borrowing time & money and eventually, you’re going to have to pay it back to fix your messy code.

As your development progresses, interest will accrue in the form of work that you’ll have to perform to fix it. Just like traditional debt, the compounding interest gets tougher and tougher to pay off.

Is technical debt bad?

Not always. Imagine you’re leasing property for a business. You take out a loan because you can’t pay in cash. As you generate income, you repay the principal plus interest. Eventually, the loan is paid off and you continue to profit from your business thanks to your ability to initially borrow funds.

“So technical debt is good and I should get my product out there as soon as possible, right?”

Not exactly. We’re not done with the loan analogy just yet.

Imagine you decided to lease a larger property for your business. You take out a larger loan with higher interest amounts, leaving you with less money to spend on the rest of your operation. If you fail to become profitable, you’re caught in a debt trap. Same goes with development — take on more debt than you can handle, and you’ll join the start-up graveyard.

What is the cost of technical debt?

Eventually, you’ll need to fix that “just good enough” code. Interest accumulates over time in the form of maintenance costs, and the messy code base will undoubtedly cause problems. You’re going to have to repay that time and money you borrowed to fit it.

It’s almost impossible to calculate how much interest you’re going to be paying in order to keep your system up and running. This is why you should repay the principal amount by refactoring your original messy code into better, cleaner code as soon as possible.

Finding a sensible level of technical debt.

There’s no doubt that accruing technical debt can cause problems for your business down the line. In this fast-paced industry, it’s not always possible to ship the perfect product when you’re racing against time. While you may not have an alternative to taking on technical debt, you can decide HOW MUCH of it you’re going to have.

The best way to manage technical debt is to confront it right from the start. Take the necessary steps to ensure that you’re not setting yourself up for a massive headache in the future. Consider the benefits of moving quickly in light of the unavoidable future costs.

If this is your first business or you’re unsure of what the best way forward is, you’re not alone. Find a service that can help you properly plan your development without taking on a lethal level of technical debt.

That’s exactly what the solution architects at SUPERTEAM, Inc have set out to do. We offer entrepreneurs confidence by identifying the best solution for minimizing technical debt.

Related: What is a solution architect?

Starting a business can be rewarding yet challenging. With limited time and money, you want to make the best decisions you can to increase your chances of success. By understanding the benefits and costs of technical debt, you will be better prepared for the long-term success and health of your company.

If you’re working on a project and need technical advice from an expert, we’d love to hear more. Hit us up at hi@superteam.io

--

--