In a trial-and-error world, the one who can find errors the fastest is the one who wins. Some people call this approach “fail fast”. Eric Ries called it Lean, while Kent Beck and other software developers called it Agile.
Whatever you call it, the point is to find out which of your assumptions regarding the product are wrong by getting feedback from real users as quickly as possible.
The agile methodology presupposes dividing the product development into sprints, which allows to reduce risks and respond to required changes quickly.
Because the agile methodology is built around the idea of an iterative process based on customer feedback, the MVP plays a central role in agile development.
Building a Minimum Viable Product (MVP) helps to deliver a new product with sufficient features to satisfy early adopters, which allows getting valuable feedback, and building a complete set of features later on.
The MVP concept is mostly practiced in the software industry to check the viability of the product. If you looking for a company to build the MVP for you, check out this software development company.
The majority of the software today is developed using Agile methodology. In the Agile environment, you'll often hear the phrase minimum viable product (MVP).
This term simply means: the most minimally featured thing you can build that will address the opportunity well enough for most of your target customers and validate your market and product.
In other words, if you were to think about the core function you're trying to let customers accomplish, what's the simplest product you can build that lets them achieve that goal?
For example, let's say you went back in time and were working on the first version of an app for a newspaper. The core function of an app would be informing its readership. That is why the easiest product you could build would be a list of news headlines and a button to refresh.
Again, the key to successful MVP is focusing on the core value that the app provides, which is fresh news, rather than spending your time building additional features of the app.
Note that MVP doesn't mean the product should be bad. The truth is that it should be very good at what it does, but it should focus on doing only a few core functions.
In a nutshell, the main characteristics of MVP are:
- It has enough value that people are willing to use it or buy it initially
- It demonstrates enough future benefits to retain early adopters
- It provides a feedback loop to guide future development
A key differentiator between Agile and other methodologies is that Agile leverages MVPs. With an Agile approach, you build the simplest thing you can, gather data about how customers use it, and then refine the product if needed.
This will let you work quite effectively, building only the features customers want and will use rather than wasting time building things customers don't care about.
Contrast this with non-MVP-based approaches to product development. Using other approaches, you may end up spending lots of time trying to build the “perfect” product with every feature you can imagine, but once it's out in the real world you discover that customers don't use half the features you thought they would.
Here is the agile minimum viable product (MVP) example:
Drew Houston - the CEO of Dropbox, decided to create an MVP for the cloud-storage startup in the form of video.
They made an explainer video and shared it with their network to gauge people's reactions. The 3-minute video explained what the Dropbox is and demonstrated how it would help people.
After releasing the video, the company increased signups from 5,000 people to 75,000 overnight for the "early access" - all of this without having an actual product.
- Initial Consumer Research
As faster the product reaches out to the target user, the sooner you get the feedback and analyze the customer's challenges or preferences. If the users do not find your MVP valuable, you have space to pivot and test the other value propositions.
Or, if the opposite is true, you'll be sure that developed features are useful for target clients, so you can move forward. In the worst-case scenario, you can freeze the project to cut your losses.
- Testing Stage
The biggest benefit of developing an MVP is that it allows testing various business models and concepts.
By offering the core set of functions rather than a feature-heavy product, you can verify if their product concept resonates with your business model, providing an opportunity to change a product’s direction based on findings.
Unlike feature-heavy products, when the MVP is launched, you will have the ability to identify what types of social groups are the most active users, how they interact with the product, and how you can monetize it.
- Cost Efficiency
The quality products are the result of years of development, with an appropriate price tag. But because these products were created iteratively over a longer period, the cost is spread over time.
The MVP approach also helps to save by preventing the product from becoming over complicated. As the product starts getting more traction and gathering more information regarding the direction the product is moving to, you can increase or reduce your investments.
If you're interested to learn more about Agile and SCRUM methodologies, we recommend to you that you check out this article from the SCRUM Institute about how to become a SCRUM master in a detailed step-by-step process. They also offer the most popular, and the most economical Scrum Certification Programs globally.
Now, once you know what is an MVP, why it is used in Agile, and what are the benefits of it, let's have a look at the 6 steps required for building an MVP.
Step #1: Identify What Problem You’re Solving and For Whom
When developing a version of new products most people aren’t sufficiently rigorous in defining the problems they’re attempting to solve and articulating why those issues are important. Without this process, the product may miss opportunities and waste resources. That is why you need to become better at asking the right questions so that they tackle the right problems.
Take a look at your product idea and ask yourself:
- Who’s your target audience?
If you get stuck at this stage, try to identify your personal challenges. Is there anything you would be able to do better if you had the right tool?
- Why does your target audience need this product?
This will help you identify the main goal of your product and the solution to your potential customers’ needs.
- In what situation would they use it?
Note: In the process of identifying the answers to the questions above it is important to keep everything real and do time and cost estimates in addition.
Step #2: Analyze Your Competitors
As soon as you figured out what problem you are solving, it’s time to see how other companies are solving this issue – or at least trying to solve it. At this point, it is obvious that you have to conduct a competitor analysis if there are similar products on the market.
You should also keep in mind that even if you don’t think you have any direct competitors, your faith in the uniqueness of your product will ground for confidently bringing your product to the market.
Step #3: Define The User Flow, Wireframe & Design
Defining the user flow for your future product involves you focusing directly on your primary goal. In order to define the main user flow, we should first define the process stages which is actually easy because all you need to do is explain the steps required to reach the primary goal of your product.
At this point, you shouldn’t think about features – but should focus on basic tasks such as types of goals that your end users have when they use your product, their expectations, etc.
Once you’re done with defining the user flow, you can move on to wireframing, which is simply an illustration of a webpage or an app. A wireframe is a layout that articulates what kind of interface elements will find a place on important pages.
Designing the User Interface (UI) brings together concepts from interaction design, visual design, and information architecture. Here, you should capitalize on what you learned in the previous phases in order to produce an experience that will surprise and delight the end-user.
Here at Cleevio, when we have the first prototype ready (usually clickable mock-up) we do user testing. User testing is essential to the success of the new app. When we have the results of user testing ready we iterate the wireframes and re-test them on the users.
After the wireframes are tested you should move on to the design phase which should be different for each platform (iOS, Android, Web,...).
Step #4: Analyse Your Features
Now that you’ve created your user flow, you can start creating a more detailed list of features for each particular stage, but keeping the statistics in mind.
Once you’ve laid out your features for each stage, you will need to prioritize them. What is the most important action you want your users to complete? This will be your main feature.
One of the feature prioritization methods is MoSCoW which is used to decide which functions to complete first, which must come later and which to exclude. Another technique used for measuring the necessity of the features is based on the business value (time to develop vs. nice to have vs. costs)
Step #5: Development & Testing
Now that you know the features of your minimum viable product (MVP), it’s time to put them to practice. Moving to the development stage, you need to test your product and work to improve its quality.
After approval of the Wireframes, you should start working on the setup architecture, database and start developing API, Administration, and all back-end.
Alpha and beta testing can help here as some of the most popular ways to test a product’s performance in different scenarios. Make sure to align the testing and only make the changes that affect the entire user experience.
As standard, you should implement the following tests in a controlled environment before the app is launched:
- Functionality Testing
- Usability testing
- Compatibility testing
- Crowd Testing
- Interface Testing
- Performance Testing
- Security testing
During the development process, you should continuously test all the implemented features.
For example, here at Cleevio, we build mobile apps, and releases of beta builds are uploaded to Google alpha/beta testing and to Apple's TestFlight. Internal test builds are in Appcenter (an official tool by Microsoft).
When the "release candidate" (a product that's ready for the market) is ready we do open or closed beta testing, where we invite as many relevant users into the beta test program and we gather feedback on functionality and bugs.
Step #6: Iteratively get to product-market fit or fail
If you validate the MVP, you can start looking at your product’s scope and expand. At this point, you either raise startup capital to help you get to market faster or fail.
For a mobile app, we usually do a “soft launch” when we release the MVP to AppStore and Google Play but don't encourage any marketing of the app at this time.
As the app is getting more users some bugs can pop and we are sure to fix everything ASAP. Usually, we release new builds every other day. Once the app is stable and we have a crash-free users rate over 99.9%, we recommend to start with marketing and acquire more users.
Data is really important and that's why we recommend monitoring user's behavior with Mixpanel or Google Firebase analytics so that we can understand how users are really using the app.
The development of the product is never finished. Very important is to ask for the user's feedback and iterate the product. When we have more users we perform A / B testing to be able to test various solutions and increase user engagement.
At Cleevio we've developed over 120 MVPs in the past 10 years so we have enough experience under our belt, to know which MVPs scale and which burn and die.
We know that it's a bit overwhelming to prepare a roadmap, documentation, or wireframes for your MVP idea so feel free to reach out to us and we'd be happy to offer you some free advice.
For a consulting call about your MVP email us at firstname.lastname@example.org .