Be willing to say no to your customers
When it comes to feature requests, the customer is not always right. If we added every single thing our customers requested, no one would want our products.
If we obeyed every whim of our customers, Basecamp would have: comprehensive time tracking, comprehensive billing, comprehensive meeting scheduling, comprehensive calendaring, comprehensive dependency task systems, comprehensive instant message chatting, comprehensive wiki functionality, and comprehensive whatever-else-you-can-imagine.
Yet, the #1 request we get on customer surveys is to keep Basecamp simple.
Here’s another example: Despite some complaints, we decided not to support ie5 with our products. That was 7% of the market we were writing off. But we decided it was more important to worry about the other 93%. Fixing bugs and testing for ie5 just isn’t worth the time. We’d rather make a better product for everyone else.
As a software development company, you have to act as a filter. Not everything everyone suggests is the right answer. We consider all requests but the customer is not always right. There will be times when you just have to piss some people off. C’est la vie.
Related to this, it’s critical that you as a development company love your product. And you won’t love your product if it’s filled with a bunch of stuff you don’t agree with. That’s yet another justification for vetoing customer requests that you don’t believe are necessary.