In the wonderful world of startups, quite possibly the most exciting thing is developing your MVP, or Minimum Viable Product. You have this grand idea in your head and you’re trying to get it in front of the world. Some totally new concept that you are nurturing into existence. It can be a new feature on your site, or a new product you are offering or even an entirely new company all together.
Making this equally terrifying as it is exciting is the thought that has been lingering in the back of your mind since day one: The thought that's currently burrowing its way closer and closer to the top where it will all but consume you on launch day.
What if I fail?
Truth be told, you probably will fail in some fashion. Maybe there will be some bugs that piss users off. Or maybe there adoption rate isn’t quite what you’d hoped it would be. Sometimes its major, sometimes minor.
Nothing is a 100 percent success on the first try, but that doesn’t mean that its bad. In fact, there is a motto amongst the most successful tech and product leaders around.
This may seem like a self defeating statement, but it is actually an affirmation of positive progress. When you fail quickly, that means you’ve discovered what's not working and can adjust to find the path to success as quick as possible. This may mean scrapping your idea all together, but in most cases, it means you have to tweak it here or there to get it just right.
But how do we do this quickly?
Nobody wants to rush their idea into this world until its perfected. We want to incubate it until it is 110 percent ready for everyone!
But do you see the problem with that logic? You’re building out what you think is perfect — not what your customers think is perfect.
Don’t be so selfish!
Your startup will only be successful when you do it for your customers or clients. If you are pushing your idea of a product down their throats and refusing to give them any input, you’re doing it for yourself. That, my friend, is selfish. It is also the quickest way to burn through your cash, time and resources.
Take the agile approach.
Agile development is quite the buzzword these days in the startup scene, and for good reason. Being agile means exactly what you think it does. It means that you put something out in front of the customer quickly, listen to their feedback and adjust. By taking this approach, you can have your glorious idea released in steps where each iteration is built on your original MVP, plus a round of customer feedback, usage data, conversion data and any other relevant data that helps you track success.
But you still need to be lean.
Calling your development style “agile” doesn’t give you permission to put out whatever you want as your first round and then ask for feedback. If you aren’t putting out a lean product, you’re probably doing too much in each iteration. Remember what we are working on here: A minimum viable product.
You should be doing the least amount of work possible on each iteration before you test and release. If you’re building a new feature for your app, say something as simple as a button to share this article, your MVP should be only something as small as possible to get users involved. I wouldn’t make it anymore than just a button that says: “share this article.”
It would look nice and be placed in an appropriate spot, but that's it. If no one clicks it, I failed on the first iteration and people probably don’t want it. If people click it, great! Now I get to expand the feature out for them by building a list of their favorite articles into their profile and I can keep iterating until I generate specific content for them based on what they like to share.
If I built that out entirely from day one, I would spend all of this time and money for something that people may not even want to use.
The developer dilemma.
Now, product people, project people and executives love this whole MVP thing.
Developers, not so much.
As a developer, I get it. We are perfectionists and we don’t want to cut corners here and there just to get something out because we know what will happen in the future: The boss will say “this is great! Don’t go back to clean up the code and fix those annoying bugs, move forward with new iterations!”
This is a reality and as the boss, you will have to draw a line where you clean up the inevitable bugs that come out of all development and where you press on to build out the feature more. Nothing that is full of bugs will resonate with your users and on the other side of the coin, nothing that is perfected in development will ever get released.
If you plan this right from the start, you can have a clean codebase that has some basic test coverage and can be expanded easily on each iteration with minimal developer taxation. This should help alleviate the pains that the dev team will feel when they have to release before it reaches their exacting levels of perfection.
The slow rollout.
Here is where things get interesting. If you have a massive app or website already, you probably don’t want to release a minuscule MVP feature out to the masses.
Related: 3 "F"ing Facts About Failure
Not a problem. Before you begin to write a single line of code, you can reach out to your users and ask them to become beta testers.
What a valuable user segment we just created together.
If you have a segment of users that are opted in to beta test new features for you, you can run some tech magic by flagging them in your database somewhere that makes sense as beta users.
When are writing your code, you can have a simple statement like this:
if (User.betaUser == true)
Now you have the ability to roll out features only to those that want these early gems and you can speak with them directly for feedback. I’ve done this in the real world with outstanding results every single time and I always recommend this to startups that I advise.
In all of my experience in the fast paced world of tech startups, even in enterprise level companies with hundreds of millions of users, failing quickly is the safest path to product success. There are other ways to get there, but this removes the most risk from a time and cash flow perspective.