Three Debts in Software
I bet there’s more, but recently these are the ones I’ve read about in relation to software development. As if sleep debt wasn’t enough haha.
- Technical Debt
the future costs associated with relying on shortcuts or suboptimal decisions made during software development. These compromises are primarily due to quick fixes, poor documentation and reliance on outdated code. Over time, this debt must be addressed, requiring additional effort. This “repayment” typically involves refactoring, debugging and ongoing code maintenance.
You know the code well enough to establish there’s debt to be paid.
- Comprehension Debt
When teams produce code faster than they can understand it, it creates what I’ve been calling “comprehension debt”.
Accumulating code you’d have to understand later.
- Cognitive Debt
Cognitive Debt is where you forgo the thinking in order just to get the answers, but have no real idea of why the answers are what they are.
You don’t understand how to build it, just focused on getting the output.