Mike asks:

I’m at a crossroads with a new project where I have a concept that can be executed in two ways. One execution is significantly more complex to build (and would take much longer) than the other, but could be the deciding factor of how successful the application is. The other execution gets the concept out there faster, but I fear it may lack the profoundness of the full execution and may fall short of its potential.

Assuming you have a vision for what a product should be before you begin development, where do you draw the line between your full realized vision and a core release that gets the concept out there. How do you make the choices about which features define the “soul” of the product versus the features that are not critical for a first release but which you plan to implement later?

My advice is always to err on the side of simple. The more complex something is the greater the chances that something will go wrong. And things will go wrong. You’re better off with less things going wrong early on. Wrong can be overwhelming.

Further, your initial assumptions about how critical a specific feature is often wrong. You don’t want to spend all the extra time up front on something that may or may not be the deciding factor. You’re better off executing the basics at a very high level and then adding on from there. What you thought was essential may surprise you.

Lastly, the longer a product takes to develop, the less likely it will launch. Long projects zap morale. Things get in the way. Life changes. Your time demands shift. Opportunity costs mount. We believe you’re better off launching something small quickly and then building from there. You’ll know more about what the product should really do once it’s actually alive.

As far as knowing exactly where the cutoff point is, that’s more art and gut than science and stats. The way we usually do it is to ask ourselves: “Does what we have now solve most of our problems now?” There’s always more to add and plenty of things to refine, but does what we have now get the job done reasonably well most of the time? If you’re using your product as you build it, and as long as you’re careful not to confuse your needs with “wouldn’t it be cool if…” then you’ll naturally get to the “yup, it’s good to go” point soon enough. That’s when you launch.

Whatever you choose to do, good luck. We hope you succeed.

Got a question for us?

Got a question about design, business, marketing, etc? We’re happy to try to provide some insight into how we’d tackle the problem. Just email svn [at] 37signals dot com with the subject “Ask 37signals”. Thanks.