Last winter I spent two weeks deleting code from our product. Not refactoring — removing features outright. A settings panel nobody opened. An integration that cost us eight hours of support per quarter. By the time I was done, eleven thousand lines were gone and our deployment time had dropped from four minutes to under ninety seconds.
This was not a popular decision. But something had been bothering me since October, when I audited our usage analytics and found that forty percent of our shipped surface area accounted for less than three percent of weekly sessions. We were maintaining ghosts.
The Backlog Problem
Every engineering team I respect has arrived at the same conclusion: your backlog is not a plan, it is a liability. Each item carries weight — cognitive load in grooming, context-switching cost, and the slow erosion of morale that comes from watching a list grow faster than you can shrink it.
The teams shipping the best work are the ones brave enough to triage ruthlessly and say no to the things that would have been fine to build but aren't worth the ongoing cost of keeping them alive.