My first company, Openvote, was a question and answer site where people could poll their community. We had dreams of the site being a forum where bold conversations could take place. We wanted people to expose the real issues going on at their school or company and really push the envelope of controversy. We knew that, if successful, we could become a powerful way to give people a voice. We also knew that the site could easily spiral out of control. We were very concerned about this prospect. Very concerned.
We knew we would need ways for users to flag comments that were inappropriate. But wait, what if people were flagging good comments just because they disagreed? We'd need a way to monitor who was flagging what and allow the community to vote on whether a comment should be removed. This would probably require some sort of moderator system to help facilitate the process. Which would also mean that we would need a process by which the community could elect moderators. They'd need a page so that there would be transparency in the community. There was a lot to do.
Fortunately, a lot of companies have tackled these types of problems. We researched how the Wikipedia community is managed. We looked into Digg's sorting algorithms. We studied Reddit's process for using moderators. We followed Hacker News's karma system. And all of these sites had one thing in common:
They had users.
We had no one. No one was spamming us. No one was leaving inappropriate comments. No one cared about us. We were irrelevant. We weren't pre-product-market fit; we were pre-product!
We were solving problems that hadn't occurred yet! And I see this from entrepreneurs all the time. It makes sense. You pitch your vision all the time. You invest emotionally in a dream and begin to believe in it as if it's already happened. You have to because investors/advisor/friends/employees need convincing that this thing is really going to happen.
And if you let those big fictitious plans infect your product development process, you're in a lot of trouble. Product development is about figuring out the single most important problem that exists right now and doing that and only that. It's much harder to do than it sounds. Somebody has to keep the whole team focused on those issues that are most critical right now. And that somebody is you.
Tips for focusing on the right priorities:
Read Getting Real
I recommend this book more than any other book. Written by the guys from 37 Signals, Getting Real flips the way most people think about product development. Instead of starting with the big vision and working backwards. You figure out the most important features and build those before doing anything else. Every single MBA interested in entrepreneurship needs to read this book.
Break features into V1, V2, Vx
Take all those awesome, creative, forward-thinking ideas and throw them into a bucket that you label VX. Keep V1 as your minimum viable product. Put your next feature request into V2. You'll be shocked how many times you re-prioritize after V1 and never end up doing what you originally planned for V2.
Do stuff that doesn't scale
This is one of my favorite tricks. Anything you can do upfront that reduces development time, you should do. Even if that means doing something manually. Even if it means calling up people one-by-one. Sign-up forms don't have to be implemented up front. A recommendations algorithm can be replaced early on with brute force hustle.
The goal for a startup is to find product-market fit before running out of money. Once (and if!) you find it, your goal will be building your business. But until that happens, you should assume that your hypotheses are wrong and work as quickly as possible to disprove them. Make sure everyone involved in the company understands the hypothesis on which you're currently working.
Use link-testing as trial balloons
Have a hypothesis for a new feature that will take 2 months to build? Design the page in a day, throw it on your site, and invite people to use it. When people go to click on the link, ask them to join your beta-testing list for this new feature. You can even A/B test this with alternative features to help you decide which to build first.
Track your speed of experimentation
How long does it take you to prove or disprove a hypothesis? I love seeing early-stage companies that can execute at such a speed that they're testing a meaningful hypothesis about their company every month.
As an entrepreneur starting from scratch, you're not maintaining a battle ship; you're inventing a new type of raft while on the verge of drowning. Don't plug links when you got no boat.
tl;dr: stay lean.
Find discussion of this post on Hacker News