Engineering Practice
A software maintenance playbook for products that cannot pause
How teams can keep shipping while improving reliability, dependency health, observability, and technical debt management.
Make maintenance visible
Products rarely stop so engineers can clean everything. Maintenance has to compete with features, incidents, and customer requests. If it is invisible, it loses.
A healthy team keeps a visible maintenance backlog with clear business reasons: reduce outage risk, unblock features, lower cloud cost, or remove security exposure.
Use small recurring windows
Large cleanup projects are hard to fund and easy to interrupt. Small recurring windows are more reliable.
A team might reserve one day per sprint for dependency updates, test hardening, observability improvements, and removal of code that no longer serves users.
Measure maintenance outcomes
Maintenance should have evidence. Useful signals include incident count, mean time to recovery, build duration, failed deployment rate, dependency age, and test coverage around critical paths.
No single metric proves quality, but a small set of signals helps teams decide where to spend the next maintenance window.