What is technical debt?

What is technical debt?


english design patterns

Technical debt is the cost of additional rework caused by choosing the fastest solution instead of the most effective.

It is the lack of quality in the code which generates a debt that will affect future costs. These costs are economic and time:

  • Carrying out maintenance
  • Refactor the code
  • Understand the code
  • Additional time on code transfer

Causes of Technical Debt

  • Business pressure

    Sometimes business circumstances call for speed over quality. So at that time, everyone wants to finish their homework above all else.

  • Incompetence

    This is when developer just doesn't know how to write decent code.

Martin Fowler technical debt scheme

Technical debt scheme

How is technical debt paid?

Falling into technical debt is normal and often unavoidable. We must be aware and worry about paying the technical debt. Techical debt is paid with Refactiring .

Refactoring

It's the process that aims to improve the code without altering its behavior to make it more understandable and tolerant of changes.

Usually, for a strong refactoring to have the expected objective, it is essential to have unit tests.

If we don't implement unit tests, we'll fall into famous: "If it works, don't touch it" .

Poor software quality always ends up being paid or assumed by someone. Whether it is the client, the provider with resources or the developer himself spending time refactoring or wasting time programming on a fragile system.

© 2023 Maciel Castro