My friend and sometimes colleague Hardeep asked:
"… the lists of details for each of those features keep getting longer and longer. If I ignore all the features I want, I will be nowhere close to where my competitors are (should I care where they are?) and here I am working on a project that does more than the competitor. If I focus too much on nitty-gritty details, it will be months before a release. Do I focus on these details and build the best product now or focus on the bigger picture of releasing a product even if its feature set is limited?"
"[Google Vice President Marissa] Mayer recounted a debate among programmers before the release of GoogleNews. Days before the start of the beta, they had enough time to implement one more feature – sort by date or sort by location – but couldn't decide. So they did neither. The day the service was released. They got 305 emails and 300 of them asked for sort by date. The users answered the engineers' question for them. 'Just get the product out there and then have the users tell us where it is more important to spend our time,' [Marissa said]"
I couldn't agree more. Featureitis is a disease I've suffered from too often. A product distinguished by just a raft of features probably isn't worth doing. There's got to be one great thing that makes your product or service new and compelling. Get the basics of that done well; additional features will just obscure the main point and may make the product hard to use. You'll be astonished to find that the feature you found hardest to leave uncoded isn't missed by anyone while one you never thought of is demanded by multitudes.
But suppose you realize that some existing popular product would be an order of magnitude better if it only had one additional capability? Happens all the time; the better the product, the greater the possibilities that it opens up. Do you recreate all of Twitter, for example, and then add the missing capability? No way. Instead you find a way to build the capability on top of the existing product. You win by having invented a new service without the need to tediously recreate an old one. The owners of the old service gain by having you use their service as a platform. That's new product creation at its finest.
See Features Kill for how to manage feature creep.