Technical Debt

Technical debt refers to a situation where a trade-off is made choosing a quick, short-term solution versus investing time and effort to create a more sustainable, maintainable solution in the long term. As a result, technical debt can make it more difficult and expensive to add new features or make changes to software in the future. At some point the technical debt will have to be "paid" back; often by refactoring or rewriting the software into a more maintainable solution.

Managing technical debt is an ongoing process that involves balancing the need for new features and improvements against the need for improving the sustainability, maintainability, and reliability of a solution.

Types of Technical Debt

TODO: Intro.

Lack of Automation

Manual processes, or processes without sufficient automation.

TODO: Automation

Out of Date or Deprecated Libraries, Components, or Frameworks

TODO: Out of Date or Deprecated Libraries, Components, or Frameworks

Tools and Infrastructure

TODO: Tools and Infrastructure

Code Quality

TODO: Code Quality

Testing

TODO: Testing. Closely related to Code Quality.

Documentation

TODO: Documentation

Instrumentation, Logging, and Monitoring Capabilities

TODO: Instrumentation, Logging, and Monitoring Capabilities