People like to throw around the word MVP (minimum viable product), as if it gives you carte blanche to build something sub-par. This is the scenario you never want: Developers are head down in code for weeks, they build the product, rip the cover off, and your beta users' reaction are, What the heck is this?
As a founder, developers and time are the two most important and scarce aspects when building your business. You don't want to waste precious development talent building an MVP that no one cares about. If you have a big idea and then the next thing you do is hire a dev shop to build a "wire frame," you've already failed.
You are absolutely flying a plane in the wrong direction. You will wind up fixing it while it moving 500 mph (spending a lot of money and precious time while you do).
User discovery is always the first thing you should do when starting your company. Talk to hundreds of people who have the problem you are trying to solve or are using a similar product that you intend to improve. Build your MVP based on user research. It's the difference between creating a product that people actually want--or at least see the potential in--and building a vanity project. Develop your business model landscape.
So how do you prioritize your product development? Yes, start with your vision, but build your products iteratively based on user feedback.
ShopKeep's cloud backend was first built for a PC. The cloud technology eliminated the drudgery of issues that were endemic with server based technology (still existing today actually, but that's another article). The PC front end worked just fine in 2010 for a wine store and specialty grocery.
One day Jonathan Rubinstein, cofounder of Joe Coffee, told the company, "If you build this on an iPad we will try it in our new location. You have 3 months to do it though." At the time, the company was so focused on PC development that the company's founder was actually thinking "hmmm, iPads may be a fad. Should we spend the time and money to develop on an iPad?" But because of what Jonathan said, ShopKeep did it. They built what their earliest user asked for.
Today, the company has almost 30 thousand customers and is one of NYC's largest and fastest growing SaaS businesses revolutionizing how small businesses use iPads and the cloud to operate their businesses.
That's why you need to understand your users' needs. Most companies take this for granted. Talk to everyone. Understand what they are doing manually that you can make better or more efficient. Then build the software to solve for that.
Don't take it from me, however. Take it from the father of the lean startup movement Steve Blank. He talks a lot about customer development as the key to building early stage companies. He has said, "Instead of arguing internally about what features we need or whether or not to make the button blue, find and talk to your customers. There are no facts inside the building, so get the hell outside.
Stop chasing shiny objects. Be focused and tactical about what you're building. And, above all, always ask these three questions before starting development:
- Why are we building this?
- What's the goal?
- What data do we have to support this?
Steve literally teaches an entire class on just this topic at Columbia Business School to students who are developing actual businesses (which I somehow elbow my way into teaching with him -- note, he does the "teaching," I kinda repeat what he says at the back of the class and hope he remembers my name later).
Every day starts with asking the students, "How many customers did you talk to yesterday?" The students who say zero better be wearing a helmet.