What is reckless debt?
The other kind of technical debt doesn’t have anything to do with age or growth; it’s reckless debt. You can think about this as debt resulting from skipped steps. Here’s Joël Quenneville of Thoughtbot: “(Reckless) technical debt is described as taking shortcuts and cutting corners in code quality in order to speed up development.”
Identifying “Reckless” debt is challenging in itself. Nobody wants to cop to cutting corners, but we all do it. Kent Beck exhorts us to “make it work, make it right, then make it fast,” but many incentive systems encourage developers to just “make it work, make it work, make it work.”
Use automated code quality systems
One popular but incomplete way to deal with this is to use automated code quality systems that don’t let you commit code that worsens metrics beyond an acceptable point. These tools help bring future debt into the present and force you to deal with it before you ship, rather than putting it off forever until it becomes an impossible task.
Tools that hold the line and don’t let things get worse are so powerful. Examples of these tools are test coverage, type coverage, bundle sizes, perf metrics, etc. Much of APIs is about how not to break something that was once tested. They are under-invested in open source and business-critical in Big Tech.
- Sebastian Markbåge