The Difference Between an Minimum Viable Product (MVP) and a Prototype: The Strategy Closest to Product Market Fit
Digital transformation is about a way of approaching business problems and finding solutions for them. Introducing a new software product means changing existing interactions, workflows, and processes. It’s important to ensure the new software product is meeting all expectations, along its journey.
You have probably came across a range of different approaches for building software products. Minimal viable product and prototype are two terms, which are used a lot in tech startup industry, but they’re still often misused and misunderstood. It can be hard to figure out what’s the difference between a minimum viable product and a prototype and how to fit these two methodologies into your journey to achieve product market fit.
It’s worth mentioning Marc Andreessen’s THE PMARCA GUIDE TO STARTUPS blog series and his blog post The only thing that matters. He defined the product market fit as “being in a good market with a product that can satisfy that market.” If you want to achieve product market fit, building a prototype and a minimal viable product are essential steps. In this article I want to cover:
- What is a Prototype?
- Types of Prototype Models
- When Do You Need a Prototype?
- How to Build a Prototype
- What Is a Minimum Viable Product (MVP)?
- Types of MVP Models
- When Do You Need an MVP?
- What Are the Benefits of a Minimum Viable Product?
- Difference Between MVP and Prototype: How to Choose The Best Approach?
What is a Prototype?
Software prototyping is often confused with Proof of Concept (POC). The purpose of Proof of Concept is to verify the fundamental idea and find out if it’s feasible in terms of business models and technical capabilities. On the other hand, prototyping in software engineering refers to the strategy that allows seeing how the product will look like.
A prototype is a completed visual representation of the product. It focuses on showing how a software product will interact with the user and flow from one screen to another. It is an important part of the project because it helps in understanding the fundamental project workflows and their usability.
A prototype usually includes screens, wireframes (paper or interactive), mock-ups and user flows. The prototype itself is clickable, but it may or may not include functionality.
Once you have a functional prototype, you can share it with stakeholders and groups of prospective users. Through a prototype, you can get useful feedback that you can iterate to optimize the prototype. It helps you to point out errors and issues early on and you can come up with new ideas and features to implement.
Types of Prototype Models
There are four main methodologies used for creating software prototypes: throwaway prototyping, evolutionary prototyping, incremental prototyping, and extreme prototyping. Each model involves a different development process and end result. This gives each method varying advantages and disadvantages to their use.
Throwaway or also called rapid prototyping means making a prototype that is not reused later. This type of prototyping is helpful to either ensure a feature is technically possible to implement or to show the feature to potential users or stakeholders in order to gather feedback from them.
Getting feedback is the most valuable part of this process because potential clients can define their needs in more specific ways. Knowing that the prototype is a throw-away, makes it possible to finish the feature very fast while leaving aside aspects such as maintainability of the code, style, design patterns or testing.
Evolutionary prototyping refers to the creation of a model that is not discarded and is refined based on regular feedback from potential clients and stakeholders. Maintainability of the code, style, design patterns are important aspects in the process because the prototype can evolve into the final solution. In the beginning, only the main features should be implemented, and then features are added progressively.
Unlike evolutionary prototyping, incremental prototyping means creating separate prototypes, where each prototype represents a feature or part of the final solution. After finishing separate prototypes, all of them are combined together. Incremental prototyping works well for large systems with many contributing teams.
Extreme prototyping refers to developing a website or web application. This method consists of three phases. In the first phase, static HTML pages are implemented. There are many front-end frameworks and tools, which help you to build prototypes very fast. In the second phase, HTML pages are more interactive, because the service layer is simulated. In the third phase, the service layer is implemented and the prototype is very close to a real product.
When Do You Need a Prototype?
There are various cases when you need to build a prototype. If the product is too complex and there’s some aspect of the system that you don’t entirely understand, prototyping is very useful. If you have a general lack of understanding that you need to complete before you start building product, throwaway prototyping is useful. If you understand some aspects of the system and aren’t sure about the others, evolutionary or incremental prototyping is more suitable.
One of the main benefits of prototyping is getting early feedback from potential clients and stakeholders. An improved and revised prototype that corresponds to the user needs is the best way to start your MVP.
How to Build a Prototype
A prototype doesn’t need to look like the final product. You can choose different approaches to achieve different fidelity of prototype, which refers to how it conveys the look-and-feel of the final product.
Based on the goals of the prototype and available resources, you can decide to create various types of prototypes, ranging between a low-fidelity prototype and a high-fidelity prototype.
Low-fidelity (lo-fi) prototyping is a quick and easy way to translate the product’s features into tangible and testable artifacts. This type of prototype is built without a focus on typography, illustrations, images or colors. The prototype should include key elements and basic visual hierarchy.
There are two techniques you can use to build a low-fidelity prototype:
Paper prototyping is based on creating hand drawings without using digital tools. Drawings represent different screens of the user interface of a software product. This approach is very simple and quick. It’s helpful if you need to refine designs quickly and if you want to try different approaches of using software product.
You can create paper prototypes without technical knowledge and this means that everyone can build paper prototypes. However, paper prototypes are less suitable for highly-interactive or visually-complex interfaces.
A wireframe is the graphic representation of a software application or a web page containing the most essential elements and content. The wireframe provides a skeleton of your product, but there is still a huge gap between an actual tangible version of your product and wireframe. However, you can link static wireframes together, which allows you to create the simplest form of an interactive prototype — clickable wireframes.You can use Keynote or PowerPoint, or a specialized software InVision FreeHand, Balsamiq or Mockplus to build a clickable wireframe for your product.
If you want to build a prototype that functions and appears as similar as possible to the product, you can build a high-fidelity prototype. The user interface of a high-fidelity prototype looks like a real application or website. This type of prototype contains interactions, illustrations, images, similar-to-real content and it looks like the real product to end users. In comparison to low-fidelity prototypes, creating high-fidelity prototypes is more expensive.
There is an array of specialized software to create visually rich prototypes, including interactions, effects, and animations. You can use Framer, Proto, JustInMind, or Axure to build a high-fidelity prototype. If you have available resources, you can consider extreme prototyping technique, which is very close to building a minimal viable product.
In the video below, you can see a better comparison of tools for prototyping.
What Is a Minimum Viable Product (MVP)?
A minimum viable product (MVP) is a standalone-functioning product, a fully operating application or website that contains only the basic or crucial set of functions of the product i.e. makes it useful to the target audience. An MVP is intended to enter the market for user evaluation. It helps you to gather user feedback and impressions about the product’s key functionality.
Based on the feedback from your early adopters, you can test your assumptions and optimize your idea for product/market fit. It helps you to decide which functions to add or remove and you can identify additional pain points. This way, you can avoid investing your time and resources to build a product that doesn’t meet the needs of both users and your business.
The term “Minimum Viable Product” was introduced by Frank Robinson in 2001 and Eric Ries popularized the MVP concept in his book The Lean Startup.
The Lean Startup Methodology. Image source: theleanstartup.com
Many new entrepreneurs assume that MVP can be buggy and ugly because it is just an MVP. If you release an MVP that is too raw and simple, nobody will use it. While an MVP doesn’t need to be polished and perfect, it needs to work properly and delight the user. The following illustration by user experience designer Jussi Pasanen exemplifies how you should approach the MVP.
Let’s talk about all three key elements of the term Minimum Viable Product:
An MVP is a product
Image by Henrik Kniberg. Image source: blog.crisp.se
An MVP is a product that works and it needs to help or get users from a point where they are now to the point where they want to be. Your MVP needs to solve the core user’s problem. The primary problem — the point where users are now. Solving the problem — the point where users want to be. A landing page, mockup or prototype is not a product and something that get users from point A to point B.
An MVP is viable
If your MVP is not viable enough, you will lose a lot of clients. Word viability comes from the Latin word vita, meaning life. If your software is broken or looks unfinished, it will give a negative first impression and deter users. Products are vital if they feel different, delight us with usability and respond right. Without some of the standard attributes of a software product, your product is considered not worth anyone’s time.
An MVP is minimum
From my experience, it’s tempting for founders to add “just one more feature” to the MVP. You should focus on delivering a minimum set of valuable features to satisfy early adopters. You should put everything else on the backlog for the time being.
Types of MVP models
There are different ways to build an MVP to minimize development time and maximize your chances of building something people actually need. In the next section, I am going to introduce the most common MVP models.
Piecemeal is an MVP model in which the product is made by using existing tools and solutions instead of building a custom solution. For end users, piecemeal MVP looks like a complex product. A digital coupon website Groupon for the American marketplace is a great example of piecemeal MVPs. Groupon’s MVP was powered by third-party resources. Its founder, Andrew Mason, launched a WordPress website and manually added deals from various stores. He generated offers as PDF documents using AppleScript and emailed them via Apple Mail. That’s how he validated the Groupon hypothesis.
Wizard of Oz MVP
The Wizard of Oz minimal viable product lets users think they are dealing with a fully-functional system, but in reality, tasks are done manually to test product hypothesis. The Wizard of OZ MVP focuses on hiding the fact that the product is not finished yet. It is a great way to test a startup that provides services of any kind. This model is for those who don’t have the expertise or the time to make a perfect automated system.
Nick Swinmurn, the founder of Zappos posted shoe photos on a website. Once customers started ordering shoes, he went to a store, bought the needed pair, and shipped it. After having realized the project is viable, he added functionalities to the website.
Concierge minimal viable product is just like the Wizard of Oz build an MVP, where Wizard of Oz hides the working behind the system, Concierge MVP is fairly open in that case. Instead of building a prototype, you provide the style of service manually to a small group of test customers. Concierge MVPs are useful in situations where potential clients are offline or not comfortable with technology. It is also useful when investments to develop an effective online MVP is expensive.
Wealthfront, a service for financial planning and investments, started from a concierge MVP. Wealthfront workers communicated directly with clients that needed wealth management help.
If you figure out what should be the core functionality, you can build your MVP with only one feature or minimal functionality. With its help, you will be able to narrow down a target group, receive, and analyze feedback.
When Do You Need an MVP?
In CB Insights article, you can find the top 20 reasons why startups fail. Based on their research 42% of the startups fail because they made a product where is no market need. Nearly half of these startups spent months or even years building a product that nobody needs.
Top 20 Reasons Startups Fail. Image source: cbinsights.com
I realized, essentially, that we had no customers because no one was really interested in the model we were pitching. Doctors want more patients, not an efficient office.
MVP is the right choice if you need to validate the demand of your idea, analyze the behavior and preference of your target audience. Instead of spending a lot of time and resources on developing a fully-featured product, it’s a better idea to develop an MVP which helps you to validate your hypothesis.
Having great technology, a great reputation, and great advisors have definitely a significant impact on startup success, but if you are not solving a market problem, you will fail. MVP helps you to fail fast, which may not sound motivating, but prevents losing too much money and time.
What are the benefits of a Minimum Viable Product?
Besides validating the demand for your idea, building MVP, you can expect several other benefits. Building MVP, you are already building the core of your product. You can focus on the main idea of your product first and the others at a later stage. It helps you better target your customers and this is an opportunity to get early adopters without spending a lot of money on marketing. The user feedback you gather following the MVP will help you to position your product.
Building an MVP allows you to bring your idea into the market faster. Software products require a lot of refactoring in the early stages to align the product with customer requirements. When you build a product with only the basic or crucial set of functions, code refactoring and design changes are much easier to implement than in a fully-featured product.
MVP is tangible and convincing a first validated version of your product. Investors will feel more confident investing in your idea, which helps you raise future funds and appease potential investors.
Difference Between MVP and Prototype: How to Choose The Best Approach?
Complex and innovative products usually have to go through all product development stages, from a POC to a prototype to an MVP. Each stage has its own added benefits and is individually advantageous. The whole process helps you to avoid common product mistakes, from faulty features to a product that nobody wants to use.
Both MVP and Prototyping are product development approaches, which are designed to validate hypotheses. However, there is a fundamental difference between them. Prototypes are developed before a minimum viable product (MVP). A prototype is not a product, it is just a visual representation of the product, whereas an MVP is a functional product. You need to create a prototype when there is some aspect of the system that you don’t entirely understand or when your concern is feasibility.
Working on a podcast platform MVP in Node.js and React.js. Platform was rebranded to Bitcast.
If you are sure your idea is feasible, you can build a minimum viable product (MVP) to enter the market for user evaluation. MVP helps to clarify the needs and demands of the target audience and put it into the context of the product. By nature, the prototype is intended for a small audience — usually stakeholders and some potential clients. MVP could be built for sizable customer groups — your target audience.
If you validate your idea, you have to decide whether to build a prototype or a minimal viable product (MVP). In this blog post, I described what a prototype is, when do you need a prototype and you can find various prototyping approaches. Then, I described what is a minimum viable product and different types of MVP models. At the end of this article, I pinpoint the main differences between minimum viable product (MVP) and prototype.
Startups have often limited resources and have to make a choice if they should start with prototyping or they can build an MVP right away. While a prototype is cheaper to build than a minimum viable product, you don’t need it if you are sure how potential customers can use and interact with your product effectively. An MVP is the most widely accepted option when it comes to testing a product idea as quickly as possible.
If this blog post or another blog post helps you to understand the difference between a prototype and MVP, I would love to hear from you. Have you ever had to make a decision on which approach to use? Did I miss anything in this blog post? Feel free to leave a comment.