Joel on Software has some interesting things to say about setting your priorities when creating software products, the basic conflict being between doing things quickly and doing them correctly.
Listen, I know that everybody is saying that the cool thing to do these days is Ship Early and Often, but when you ship half-baked ajax calendars that don’t do much and then get Scoble to go nuts about how great they are, well, you’re going to have a lot of people like me checking it out and realizing that, for example, no thought whatsoever has gone into printing, which is fine, it’s a 1.0 release, but you know what? I’m not going to look at 30 Boxes again — I’ve spent enough time evaluating it. G’bye.
A very wise person once told me that nobody will remember how quickly you get things done. They’ll only remember how well you do them. This goes pretty contrary to the dot-com-boom/Web 2.0 thinking that “first to market wins,” or, as Joel points out, at least gets purchased:
Why so many Ajax calendars? My theory is that about a year ago, there was a lot of buzz (possibly true, possibly false) about Google shipping a calendar, and everybody thought, oh gosh, it’s gonna be really good, like Gmail, and then Yahoo! is going to be embarrassed again, and run out and buy the best Ajax calendar company they can find, just like they did with Oddpost, making those very funny kids millionaires overnight.
(It’s funny because it’s true.)
Anyway, I think Joel’s thinking here is long-run correct if what you’re trying to do is build a quality product that people enjoy using. Yes, client feedback is important. It’s absolutely essential, in fact. Just try to get feedback on something that work. If the product is bulletproof and well-thought-out, the feedback will tend towards making a good product great than towards making a crap product acceptable. You want your users to think of new features that you could implement, not bugs that you really should fix.
In terms of interacting with clients and ending up with a product that everybody (myself included) is happy with, I’ve always had better luck spending more time on things — up front time writing quality tests and putting research time in to tools as well as just being more thoughtful when actually writing the damn thing — than I have getting things out the door ASAP. Long run, I’m betting that the companies that follow this line of thinking will be the successful ones.