The feature nobody asked you to remove
Every feature you keep has a maintenance cost and an attention cost, and almost no team has the courage to subtract.
Every feature you ship enters a contract. From that moment, someone has to keep it alive — patch its dependencies, handle its edge cases, answer the support tickets it generates, and account for it every time the surrounding code changes. The feature does not pay rent. It collects it, from you, forever.
That cost is invisible on a roadmap because roadmaps only have room for addition. There is a column for what's next and no column for what's gone. So teams accrete. The product gets a little heavier each quarter, the codebase a little more cautious, the onboarding doc a little longer, until one day a new engineer asks what a setting does and nobody in the room knows.
The two costs you never put on the board
A feature charges you twice. The first bill is maintenance: the code path that has to keep working, the test that has to keep passing, the migration that has to account for a column three users touched in 2021. This cost is at least legible to engineers, even if it never makes it onto a planning doc.
The second bill is the one almost nobody counts: attention. Every toggle, menu item, and settings panel is a small tax on the user's ability to find the thing they actually came for. A product with forty features doesn't feel powerful — it feels like an airport. The feature you added to win one deal is now a sentence in a tooltip that ten thousand people read past every day.
On one team I worked with, we had an "advanced export" panel with six format options. Usage logs showed two of them had been used a combined eleven times in a year, both by the same internal account. They weren't broken. They weren't expensive to run. But they sat at the top of the export dialog, first in the list, making the two formats everyone actually used harder to find. The cost wasn't the code. It was the half-second of doubt on every single export.
Subtraction needs an owner
Addition has a natural owner — the person who wants the feature, the deal that needs it, the roadmap that promises it. Removal has none. Nobody gets promoted for the dialog that got shorter. So the default state of any product is to grow until it collapses under its own optionality.
The fix is to make removal a job, not a mood. Give it the same machinery you give shipping:
- →Instrument everything, so "nobody uses this" is a number, not a vibe.
- →Put a removal candidate on the roadmap with a name next to it, like any other feature.
- →Announce the deprecation, give it a date, and hold the date.
A roadmap that can only add is not a plan. It's a confession that no one is steering.
The hardest part isn't technical. It's the meeting where someone says "but what about the customer who relies on it." There is always that customer. The honest move is to find out how many there are and what it would actually cost them — and most of the time the answer is a number small enough to handle with a personal email and a migration path, not a feature kept alive forever for a hypothetical.
Removal is a design act
Cutting a feature well is not deletion. It's a decision about where the product's weight should go. When you remove the rarely-used branch, the common path gets to be the obvious one. When you collapse three settings into one good default, you are making a claim about what the product is for — and claims are what make a product feel designed instead of assembled.
This is where the engineering and the design stop being separate jobs. The engineer knows what the feature costs to keep. The designer knows what it costs to look at. Those are the same question asked from two ends, and the answer is usually the same: this earns less than it takes.
I've never regretted removing a feature that the data said was dead. I have regretted keeping one — watching it leak into a redesign two years later, forcing a worse layout because the old thing still had to fit somewhere. Features you keep out of fear don't stay quiet. They compound.
So look at your product and find the one feature nobody asked you to remove. Not the broken one — someone will eventually file that. The quiet one. The one that works fine and earns nothing. That's the one. Subtract it, and watch what gets easier.
