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