How to build MVP

A minimum viable product needs to fulfill a need of your target customers or solve a problem they face.

Rather than developing your entire product first, you should build an MVP. It’s cheaper and a more efficient way to get started and test your startup idea with your target market because it takes less time to build.

42% of startups die because they made products that their users didn’t have a need for them. They did not know how to start a startup properly. You don’t want to be one of those startups that does that. Do you?

Developing an MVP will help you know whether or not you have product-market fit, as well. But it may take several to numerous iterations, or changes, in your product or service before you find it.

Product-market fit is when your product/product vision aligns with your target customers’ needs by solving a problem they have, and they can’t live without that solution once introduced.

Alright — now that we’ve got that stuff covered, there are a few steps to build a minimal viable product, and that includes going back to the basics of the business or startup idea. This helps you build a strong foundation for your business and you’ll read more about it in the next section.

Step #1 — Figure Out What Problem You’re Solving, and For Whom

The first step of successful minimum viable product development is evaluating your business idea. Start by asking yourself two questions to try to put yourself in your customer’s shoes: Why do I need this product? and How it can help me? Answering these questions will help you understand the main goal of your product and find the best solution to your future customers’ real needs.

We can call these “future customers” your target audience: the group of people who you’re hoping will buy and use your product. But why would they use it? You need to find a problem you can solve for your target audience. The best way to find a problem that needs a solution is to think about your personal challenges. Is there anything that you personally could do better if you only had the right tool? And can you actually create this tool? If you can’t find a problem this way, you can always look for problems within a particular segment of the market.

If we, for example, look back at how Uber started, we can see that it was initially an app to request premium black cars in a few metropolitan areas. Despite the fact that the usual meaning of ‘premium’ is expensive, Uber wasn’t expensive at all. Its service was aimed at an underserved customer segment, e.g. people who can’t afford to order a premium black car from a traditional taxi service because it’s too expensive. In the same way, you can find your own problem within a particular segment of the market and offer a solution.

Just imagine that you want to build an application that will help people save money. Saving money is a pretty obvious goal for many people. Nearly everyone would like a little extra money in their pockets. To save money you might use coupons and look for discounts on food, shoes, gifts, and other goods or services. These coupons and discounts can be found on the websites of shops, delivery services, etc.

But sometimes people don’t have time to look all over the web for these discounts, and as a result they pay more money than they need to for goods and services. Therefore you might develop an app that helps people search for discounts and coupons in an easier way and, most importantly, helps them save money. The primary goal of this product, therefore, would be to allow users to search for discounts (to save money) easily.

Step #2 — Analyze Your Competitors

It’s obvious that you have to conduct a competitor analysis if there are already similar products on the market. But sometimes, entrepreneurs ignore competitor analysis because of a pure faith in their product’s uniqueness. Keep in mind that even if you don’t think you have any direct competitors, your faith in the uniqueness of your product is not sufficient grounds for confidently bringing your product to market. Competitor analysis is important no matter what.

There are various tools available that can help you investigate your competitor’s websites or apps and get some insights about their monthly traffic, sources of traffic, website or app rank (globally and within a particular country), geographical location of users, and other helpful information. Keep in mind that all of this data will be within a small margin of error. One of the most popular free service of this type is Similar Web. With Similar Web, all you need to do is copy-paste a link to a site or even just set up an extension in your browser.

Analyze Your Competitors for building MVP
[Source: This data was displayed by the SimilarWeb extension for Google Chrome]

Other popular free tools you may consider are App Annie, Ahrefs, Follow, and QuantCast. If you’re ready to pay, then check out SensorTower or MOZ.

Additionally, you can find and analyze feedback about your competitors’ products. Analyzing customer feedback about your competitors’ products can help you build an MVP for your own product that addresses the shortcomings of existing solutions! To sum up, don’t hesitate to adopt good ideas from your competitors and also learn from their mistakes. Once we’ve determined the problem we’re solving for our target audience and have analyzed the competition, we can move on and define the main user flow.

Step #3 — Define the User Flow

We’re sure you’re familiar with Zappos, one of the most outstanding online shoe stores. Zappos also started with an MVP. Let’s consider the Zappos user flow. Remember that when you start defining the user flow for your future product, you should focus directly on its primary goal. As Zappos is an online shop that sells shoes, its main goal is to allow users to buy shoes online.

To define the main user flow we should first define process stages. This is actually quite easy, because all you need to do is explain the steps required to reach your product’s primary goal. At this point you should think less about particular features and concentrate more on basic tasks such as: “find shoes,” “buy shoes,” “manage orders,” and “receive orders.” These are the types of goals your end-users will have when they use your product. As soon as all these process stages are defined, we can then define features for each stage.

Step #4 — List All Necessary Features and Prioritize Them

As soon as you’ve defined all the steps your customer should take while using your product, you can start creating a list of particular features for each stage. You might highlight all the features you think are ‘nice-to-have,’ but not strictly necessary. When you have a list of features for each stage, you then need to prioritize them. To prioritize features, do the following:

    1. Ask yourself: What is the single-most important action that I want my users to accomplish? (Note: this will be your main feature);
    2. Ask yourself: What other features do I want to offer? (Explain why you need each of these features, then cross out the least important ones.)
    3. Now categorize all the remaining features under the categories ‘must-have,’ ‘nice-to-have’, and ‘don’t care.’ The Story Mapping technique might make this process easier. You can build a matrix where you have a horizontal row showing main process stages (our user flow) and under each stage a number of features dedicated to this stage.
List of features
    1. Once you’ve added all the stages and features for each stage, you can draw a downward vertical arrow going from ‘high priority’ at the top of the column to ‘low priority’ at the bottom. Now, you’re ready to start arranging features by their priority. Move stories which are crucial up the column, and other stories down. Always focus on the whole process.
Downward vertical of features

When you’ve prioritized all the features, you may define their scope for the first version of the product and move to building an MVP. If you want to see what your future product will look like, you can first create an MVP’s prototype. Here at RubyGarage we create UX and UI prototypes of our clients’ products in InVision and Moqups.

Step #5 — Build, Test, and Learn

When the first scope of work is defined, we move to the development stage. And when product development is almost completed, the product needs to be tested. The first testing stage is conducted by our Quality Assurance engineers, who work to improve the quality of the product when it’s not yet released. They ensure that a product is ready for alpha or beta testing.

Alpha testing can also be called a Friends & Family release, because you generally give an alpha build of your product only to a limited focus group, in most cases to friends and relatives. You may conduct alpha testing first and then move to beta one, or may proceed directly to beta testing. As soon as the product passes alpha testing it’s ready for beta testing. When we talk about beta testing, we mean that the product is going out into the real world to be tested by real users. The beta testing period varies, but it usually takes 1–2 weeks to get sufficient feedback. Based on feedback from beta testing, you may consider implementing changes in the following versions of your product. Keep in mind that only crucial changes should be made immediately.

Your users are the only people who can define what features your product lacks and what features aren’t needed. After you collect user feedback, you can start improving your product again and then test, and learn, and build again, and test again, and learn again.

Improving your MVP

If you’re curious how much MVP development costs, you should know that in most cases the cost for building a product depends on a great many factors. One of the most significant is project complexity. The approximate cost of building an Airbnb-like website ranges from $38,430 to $225,750. You can find out more details about the MVP product development in our article dedicated to the cost of building a minimum viable product for an Airbnb-like website.

If you have any questions or want us to help you develop an MVP or minimum viable product UI/UX design, don’t hesitate to contact us.