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
Flesh out your ideas
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.
Keep it simple
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.
Know your tools
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.
To what end?
In the end just remember two things: Plan, plan, plan & Do the
simplest thing possible and agree to iterate later