Unused does not mean free

Every feature is tested, maintained, migrated, secured, and considered during every architectural decision. A feature with no users still charges you on each of those, permanently, which is debt that genuinely accrues interest.

Measure before you argue

“Nobody uses it” is an opinion until instrumented. Usage over ninety days by distinct account settles the discussion faster than any meeting, and occasionally reveals one large customer who depends on it entirely.

Instrument first. “Nobody uses it” is right often enough to be dangerous.

Find out why the few use it

A handful of users often means an unmet need being served awkwardly. Understanding it may produce a better feature, or reveal that a simple export replaces the whole thing.

Announce, then disable, then delete

Tell the affected users with a date, switch it off behind a flag so it can be restored instantly, then remove the code once nobody has complained. Flags make the middle step safe and turn a scary deletion into a reversible one.

Decide what happens to the data

Removing a feature does not remove what it stored. Export it for the users who had it, decide retention deliberately, and don’t leave orphaned tables nobody dares drop later.

Removal is progress

Teams celebrate shipping and treat deletion as failure. A smaller system is faster to change, cheaper to run, and easier to explain — which is worth as much as most of what gets added.