Build a Great Product by Saying No to Feature Creep

April 21, 2016
Engineering

Building a great product’s hard enough. Building a great product and managing feature requests is even harder.

Those that know me, know that I’m a bit of a ‘yes man’.

You’ll sign up right away, but only if we have x new feature? Sure.

You have to cancel, but if we build y right away you’ll double your spend? No problem.

You want a custom install for your 50 person team that’ll take 4 weeks to build? I’ve got your back!

Our customers are all pretty darn smart, so the ideas they come up with are generally pretty great. But saying yes to new features is so easy it’s sometimes difficult to see the real cost.

##The Problem With Yes

The problem comes that nobody really knows your business as well as you do yourself.

You’re the one spending sleepless nights worrying about a teeny bit of UX nobody will ever use. You’re the one who sees the future of your business, and where you think it’ll end up. And you’re the one that needs make sure you’re always heading in the right direction.

User feedback is important, but you need to avoid feature creep

If you say yes to everything, you’ll end up with a product that sounds great, but looks terrible.

Your customers will have great ideas. But sometimes, you’ll need to just say no.

Not maybe. No.

##Popular Reasons to Ignore Your Gut

There’s a few compelling reasons your gut will tell you when you hear an idea, and instinctively wanna say yes.

When your product gets traction, you’ll find yourself inundated with good ideas for features. These will come from your customers, your colleagues, and yourself. Because they’re good ideas, there’ll always be lots of reasons to say yes to them.

Des Traynor, Intercom

You’re not alone. Even the guys over at Intercom, who are known in the SaaS industry for having a particularly awesome product, get inundated with requests for great features that they’ll probably never build.

###It’s Not Much Work

Sure, that feature should only take an hour to build, let’s do it!

Me, each time I sit down and spend 8 hours building a feature

Features are almost never that simple.

Sure, it might take an hour to build a feature in an ideal test case. But when you try and integrate that into your existing platform, work on the UI & UX, get your designers involved, write some tests, and eventually push the code, you’ll probably have spent the whole day.

Is the feature worth it? Maybe. But you need to be realistic about how long it’ll take.

###Someone’s Offering to Pay Me for It

So you’ve spoken to a huge client, and they’re totally ready to buy, but only if you make this one tiny feature. Happens to us all! Sounds like a sane idea, right?

Usually, it’s not.

The biggest thing to consider is the effect adding a feature for one customer has on your existing customers. If the user experience will be worse for 90% of your existing customers, just to please a new client, your future self won’t thank you.

###Everyone Wants It

Does everyone really want that feature? Or do they actually just have a common pain to solve?

If I had asked people what they wanted, they would have said faster horses.

Henry Ford (debatably)

If you just trust what your users say, you might end up building things that aren’t quite what they had in mind.

For instance, we hear a lot of user feedback about being able to schedule tweets in Contentacle. We conducted a huge amount of user interviews, and the pain point is more that it’s hard to promote content consistently without being self-promotional.

Get user feedback and then avoid feature creep

A better solution for us than just letting people queue tweets is to build tools that help people curate great content alongside promoting their own, with the least effort.

It takes a hundred times longer to build solutions rather than features, but your product (and your users) will thank you for it.

###Our Competitors All Do It Already

If you’re anything like us here at Contentacle, you probably have a ton of competitors that’re better funded, have more staff, and more resources than you. More resources means more features.

I totally get it.

You feel like you’re at a disadvantage by not having every last feature, and you think people will flock to your competitors unless you can do exactly the same.

You’re (probably) wrong. Because as a smaller company, you have a huge advantage, in that you can really focus on the few features you do have. Do one thing really well, and people will notice. Do one thing amazingly, and you have a pretty great business.

###My Grandma Told Me Even She Would Use the Product If This Was There

Your grandma’s a liar.

Your grandma's cookies may be great, but you shouldn't trust her SaaS advice.

People that care about you will generally tell you what they think you want to hear. They don’t want to upset you (they’ve seen you when you’re angry, remember?). They genuinely want to help, but don’t believe it for a second. Your grandma’s cookies may be great, but you shouldn’t trust her SaaS advice.

##Don’t Be Afraid to Bin Code

One of the hardest parts of managing feature creep is tearing out features after you’ve built them and they haven’t worked.

A couple weeks ago, I added thousands of lines of code to let people easily share out content. We tested the feature, our users thought it was average, we thought it was terrible, so we binned it.

Did I waste the time? Maybe.

Will I do it again? Probably.

Did I learn anything? Absolutely!

If a feature’s not working out, don’t be afraid to change it, or even bin it. It may feel like a total waste of time, but it’s better than pushing a feature that nobody likes.

##How To Manage Feature Creep

Honestly, this is still a struggle for us. I say us, but it’s mostly me—I think Jarratt has a heart of steel.

My best advice is just to really think about everything before you say yes.

Take a couple days. Sleep on it. Have a talk with your team.

If the shiny new feature still seems like a great idea, go for it. Then test, iterate, and if it’s working (and you’re happy), keep it.

If it’s not a good idea after all, or it’s not working out, bin it. Simple, right?