technical debt
noun
Technical debt is the extra work required because earlier software decisions make later changes harder, slower or riskier.
The team addresses technical debt before adding the new payment method.
Technical debt arises when a software decision is convenient in the short term but creates extra work later. Examples include copied code, missing tests, outdated dependencies or a design that no longer fits how the application is used. Like financial debt, its effects can accumulate: each later change takes more effort because developers first have to work around existing limitations.
How does technical debt arise?
Sometimes a team deliberately chooses a temporary solution to meet an important deadline, with a plan to improve it later. Debt can also grow unnoticed. Requirements change, a Glossary · In briefcodebaseA codebase is the collection of source code used to build and maintain a software product or component.Read more grows or a temporary solution stays in use longer than expected.
Technical debt is not the same as a software bug. An application can work correctly while its structure makes changes difficult. Nor is every simple solution technical debt. A compact solution that fits the current problem need not create extra work later.
How do you address technical debt?
The team starts by identifying where debt exists and its effects. Frequently changed components or those causing incidents usually take priority. Glossary · In briefrefactoringRefactoring changes the internal structure of existing code without changing observable software behaviour. The aim is to make code easier to understand and modify.Read more can improve internal structure without changing intended behaviour. Tests help check that behaviour remains intact.
Not all technical debt needs immediate removal. The cost of changing something may exceed the expected benefit, for example in software due to be replaced soon. The decision depends on risk, maintenance costs and product plans.