- The original definition of technical debt by Ward Cunningham refers to iterative design, not shortcuts or poor code.
- Common usage of 'technical debt' is misleading; it actually describes 'technical risk'—the risk of introducing bugs when modifying code.
- Technical risk increases over time as code becomes harder to change, unlike debt which can be repaid with time.
- All programs have some degree of technical risk, regardless of initial planning or code quality.
- Feature flags are often used to mitigate risk but can lead to combinatorial complexity and lock-in.
- Ongoing refactors and rebuilding systems can reduce risk, as seen in successful projects like the Rust compiler.
- New systems can adopt different paradigms (e.g., SQLite vs. OracleDB) to avoid stagnation.