The Feature I Killed and What Customers Taught Me
The Feature Nobody Asked Me to Remove
I built a dashboard panel that let customers configure detailed scheduling rules. Time zones, recurrence patterns, exception windows — the works. It took three weeks. I was proud of it.
Six months later I deleted it.
That deletion was one of the best product decisions I have made.
Why I Built It
The logic seemed obvious. Several early users mentioned wanting more control over when things happened. I took those conversations, extrapolated them into a full scheduling system, and shipped it. It felt like a gift: "You asked, and here it is — plus more than you expected."
The trouble with gifts nobody opens is that they still take up space.
The Numbers That Didn't Lie
Three months after launch I pulled usage data. Fewer than one in ten active accounts had touched the scheduling panel. Of that group, most had configured a single rule and never returned. The feature sat there like a formal dining room in a house where everyone eats at the kitchen counter.
Meanwhile, new users were asking more questions during onboarding. Support conversations kept circling the same spot: "What does this section do? Do I need to set this up before anything works?" The panel created confusion for the majority while serving almost nobody.
The Emotional Resistance
Knowing the numbers and acting on them are different things. I had spent real time on this feature. It carried my fingerprints. Removing it felt like admitting a mistake — publicly, in front of the people I had shipped it to.
Builders develop a specific stubbornness. You start defending the feature not on its merits but on the effort it cost. "It took three weeks" becomes a reason to keep it, which is the sunk-cost fallacy wearing a product hat.
I sat with the data for two weeks and did nothing.
The Conversations That Changed My Mind
What moved me was not a spreadsheet. It was three calls with customers in the same week.
The first was a new user who said, "I almost didn't finish setup because I thought the scheduling part was required." She had nearly abandoned onboarding over a feature she didn't need.
The second was a long-time customer who had configured scheduling once, realized the defaults already did what he wanted, and forgot about it. "I figured it was there for power users," he said. He considered himself a power user.
The third was someone who had actually used the feature. She told me the rules she built could be replaced with a single default setting and a one-line override. She didn't need a panel. She needed a toggle.
Three calls. Three levels of engagement. The same conclusion: the feature wasn't pulling its weight, and it was actively in the way.
What Removal Looked Like
I emailed every account that had a scheduling rule configured. Short message: here is what is changing, here is why, here is how the default behavior covers you. If it doesn't, reply and I will help you personally.
Two people replied. Both were satisfied with the alternative. One thanked me for simplifying the interface.
Then I removed the panel and shipped the update.
The Surprising Aftermath
Onboarding completion rates went up. Support questions about "that section in the middle" disappeared. New users moved through setup faster because there were fewer decisions to make.
Nobody complained publicly. Nobody churned over it. The feature I had agonized about removing had been a net negative the entire time, and the only person emotionally attached to it was me.
The Lesson I Keep Relearning
Subtraction is a builder superpower, but it requires a kind of courage that addition does not. Shipping something new is exciting. Removing something you built is humbling. You have to look at your own work and say: this is not helping. The people I made it for are telling me — some with words, most with silence — that it does not belong here.
Customers don't keep score by feature count. They keep score by whether the product solves their problem without getting in the way. Every feature that doesn't serve that goal is friction disguised as generosity.
The hardest part was not removing code. It was letting go of the identity I had attached to the work. Once I did, the product got lighter, the support queue got quieter, and the users got happier.
A Rule I Follow Now
Before I build anything, I write down the exit criteria — the specific signals that would tell me this feature failed. Usage thresholds. Support volume. Direct feedback. If those signals appear, I act on them instead of negotiating with myself.
Saying no to your own work is not defeat. It is editing. And good products, like good writing, get better when you cut.
0 comments
Be the first to comment.