DEV Community

Serguey Shinder
Serguey Shinder

Posted on

The Feature Nobody Uses Still Sends You a Bill Every Month

Every system I have worked on carried a graveyard, a set of features that were built with enthusiasm, launched with a announcement, and then used by almost no one. The natural assumption is that these are harmless. They are already built, the cost is sunk, so why not leave them alone? What took me years to properly understand is that a feature is never done costing you money the day it ships. It keeps sending an invoice every single month, and that invoice is paid in a currency that does not show up on any budget line: attention.

An unused feature is not inert. It is code that still has to be kept compiling, dependencies that still have to be patched when a security advisory lands, tests that still have to pass, infrastructure that still has to run. Every time someone touches a nearby part of the system, they have to reason around this thing, understand it well enough not to break it, and route their change carefully past it. It slows every future change in its vicinity, complicates every audit, and expands the surface area an attacker can probe, all in exchange for value that rounds to zero.

The reason these features survive is almost never a real analysis. It is fear and sentiment. Someone might be using it. We spent so much building it. Removing it feels like admitting a mistake, so it stays, and the cost of keeping it stays invisible while the cost of removing it, a bit of work and a bit of ego, feels sharp and immediate. So the graveyard grows, one well-intentioned burial at a time, and the whole system gets a little heavier and a little slower to change.

I have learned to treat deletion as real, respectable engineering, not as cleanup for a quiet week. Before defending a feature's continued existence, I want to see who actually uses it, and if the honest answer is almost nobody, its removal belongs on the roadmap as a genuine improvement, because every line you delete is a line you never again have to patch, secure, test, or work around.

The most expensive feature is not the one you are building. It is the one you built years ago, nobody uses, and everybody is now too afraid to remove.

– Serguey Shinder

Top comments (0)