Anticipating and Dealing with Operational Debt
We are all familiar with the concept of technical debt, the idea that over time, software systems become harder to change and maintain because of shortcuts taken earlier. An example of technical debt is the lack of a comprehensive suite of unit tests (or a flaky test suite). Old, unused code that hasn’t been removed is another example. Technical debt can occur early in a system’s lifespan as shortcuts are taken in order to launch, but most of the time the problem of technical debt gets worse as a system ages.