I’ve seen some talk/posts lately of doing quick launch products. I wanted to share some thoughts here that I’ve shared before in a talk about winning Rails Rumble^1^ and what it takes to do it.
Planning is essential to anything you want to do quickly and do well. For the rumble, we choose to use Basecamp and we started compiling ideas around 5 weeks before the competition. We ended up with around 35-40 ideas to vote on, we each picked our top three votes and took the one with the most votes, then called Menu2Meals. We proceeded to explore ideas and domains over the next 3 weeks before the competition.
It is important to take care of things like naming, core ideas, major features, and nice extras before you start on your project.
When you have passion about an idea, it is easy to write down a list of 15-25 feature ideas. It is important to determine the core pieces you need to have a workable product, try to get it down to 3 or 4 features. With Tastyplanner^2^, we had recipes, weekly menu planners, and grocery lists as our core features. Features like recipes search, grocery list sorting, recipe boxes, and others were on the list but a lower priority.
I make a list of high priority, low priority, and nice extras to have when I am working towards a product launch. Keep it simple, you can always iterate later.
Knowledge of the tools and code that you want to use is of paramount importance. A few weeks ago, I relearned this lesson when I wanted to launch a bunch of things in one week. I decided to give node.js and mongoDB a try, but in the end doing research and reading over other code ate up most of my time allotted.
Using new technology or code libraries always leads to some type of learning curve and most of them are steep. Don’t choose new tools when you need to get something done quick.
Timeboxing is a great technique to keep in mind when you are under a tight deadline. If you think something should take 1 day, don’t spend more than 1.5 days on it. If you find yourself stuck or going over, make a branch and push your code, hand it off to someone else, ask if the feature is really needed. I should have used this advice when I was doing the four bean soup launch week, but I didn’t. I lost 90% of my time working on the open source beancounter^3^ project, but nothing has been released still.
It is ok to take a break and work on other features or to pass the code to someone else, sometimes your brain just needs a break from the constant thought to really start to puzzle out the solution.
In the end just remember two things: Plan, plan, plan & Do the simplest thing possible and agree to iterate later