Ask HN: Why should you ship fast?
Is it really that necessary.
Does it ever makes sense to develop something in its entirety (some level which kind of makes it feel like a complete product and not a in-haste release).
Thoughts? Did you ever do otherwise and were successful?
15 comments
[ 6.3 ms ] story [ 47.4 ms ] thread- Fear of rejection. What if no one likes it ?
- Fear of being mediocre. What if it really is not what I wanted it to be ? Damn I hate to be mediocre.
- Distractions and not enough focus. I should have coded up that module last week but I am too distracted to do so. Every day I think of coming home from work and compiling that piece of code. oops I rather start playing with my kid or watch TV
- You know what. I have this stuff ready but I want to enhance the design further. Damn I don't like that CSS. Ok will finish this tomorrow (which never comes)
I've tried a whole bunch of web based side products in my years as dev, most I never even launched, and the ones that I did launch flopped.
Then after reading about shipping fast and MVPs on HN, I built BugMuncher as an MVP in a couple of weeks worth of evenings and weekends, and it is my first (and only) success! It's grown organically, and I've built it up from a really bare bones MVP to a full featured web app.
Relevant book: http://executebook.com/
Among consumer facing web-technologies, there's definitely a compelling argument in favor of shipping fast. Shipping fast lets you iterate quickly based on lots of small pieces of feedback. This is a really effective way to build something that fits your users' needs.
In other domains, however, it may make a lot less sense to ship things rapidly. For example, in science and medical domains, it becomes important to validate carefully everything that you are shipping before you ship, because your audience has no tolerance for rough edges. Those audiences tend to be less willing to adopt half-baked/non-turnkey products as well, so first impressions count more.
I think you should think hard about who your audience is and how they will perceive your product before trying to ship things aggressively or patiently.
For example, say you are developing a web-app for a sizable customer base and it is easy to release intermediate releases and put it in front of a small fraction of your potential customer base and obtain instant feedback. In this scenario, your "cost" of obtaining feedback is negligible and I think it makes all kinds of sense to ship early and often.
However, consider another scenario (one that I am more familiar with). You are developing software for a medical device, perhaps in a surgical setting. Your chances to test this software with actual customers (e.g. surgeons operating on live patients) are extremely limited and costly to obtain. Not only that, but surgeons (and doctors in general) have a low tolerance for time wasting and may very well lose confidence in a product that is not thoroughly tested. The confidence of your early-adopter surgeons, often key opinion leaders (KOLs), in your target market is something you cannot afford to lose. In this scenario, cost of obtaining feedback is staggering and shipping early and often, to real-world customers, is almost impossible and wholly unadvisable. I still recommend you iterate and test often in this scenario, but it must happen internally.
So I'd say, ship quickly and regularly to a sub-set of users that have shown interest in your product who will hopefully be keen to provide feedback. Then ship to the public once you have made any required improvements.