What is Tech Debt?

Fearless
2 min readSep 19, 2020

--

A guest post from Fearless Software Engineer Nicole Zonnenberg.

If you work in tech, you work with tech debt. This term was coined for the purpose of informing a non-technical audience, usually, clients or product owners who are invested in the final product. It is a metaphor-based on financial debt, a concept that clients or product owners are more likely to be familiar with. However, there are stark differences to what financial debt means and what technical debt implies.

Financial debt is the amount of non-operational debt (such as paying suppliers for goods and services) that a company has. The concept or presence of financial debt is not a blocker but a necessary cost of running a business.

Tech is often the product or service of a business and therefore does not follow all of the same rules as a business. Tech is, more often than not, an amalgamation of different types of technologies and skills. Even in just the code base, the team is probably implementing different code languages and libraries in the backend and frontend. All of these components are being maintained by their own teams, constantly improving and publishing improved versions of their products. Or in some cases, becoming defunct as they are abandoned for different solutions.

Unlike financial debt, tech debt accrues even if the engineering team does as little as possible. So long as the technical product or service exists, technical debt will accumulate. There is no paying it off, there is no setting the ledger to zero.

Tech debt, while it shares a small similarity with financial debt, is something to stay in front of rather than on top of.

It is not only possible for technology to become outdated, it is inevitable. The longer these technical tasks are ignored, the more effort they require to address.

Tech debt is not itself a good or service to keep the product status as relevant. Rather it is the constant improvement of existing code, from renaming variables to maintain consistency in language and content as resources and skills evolve, to overhauling architecture. Constant code improvement is the tech debt equivalent of servicing a financial debt; it is what keeps the debt from growing.

It is imperative for a team to include time for the engineering team to address tech debt, to audit their code and to stay abreast of any relevant library, technical, and skill updates. The level of effort will fluctuate depending on what is being updated or becoming defunct. The ability for a team to stay ahead of their tech debt will correlate with the efficiency of the tech product’s code and functionality.

--

--

Fearless
Fearless

Written by Fearless

Hi, we’re Fearless, a full stack digital services firm in Baltimore that builds software with a soul. https://fearless.tech

No responses yet