What the Heck Really Is a Minimum Viable Product

An explanation of what MVP (Minimum Viable Product) is and its importance to the Software Design/Development process for Start-Ups in the Tech Industry

Nowadays, when it comes to Software Development, most of us know the Common Construction Processes and Development Models, such as Scrum, Agile, Waterfall, or Spiral. The common characteristics of the above models all provide standards for building software in phases; the interaction between development teams with each other, all for the single purpose of "smoothing" all the positions inside and out of the product. Like the "gears" of a machine, the better they fit and work together, the faster the contraption will run.

However, the application of the above models always depends on each type of project or product to be built. They even form the structure and organization of a company. Dynamically growing companies have now adopted more flexible processes such as Agile, allowing projects to close quickly, smoother interactions among members, and creating an open corporate culture, full of flexibility.

The Agile Development process has more than 15 years with its own philosophy and operation. The most obvious point is that there aren't any rules at all, but it's the experience passed back and forth among the employees, allowing them to improve and help the project go smoothly. The key here is experience, the processes created by the predecessor's experience are learned, summarized, and often applied quickly.

I'm a software consultant with a background in software engineering, machine learning, and cognitive computation. I focus on early-stage development of Minimum Viable Products as a consultant, trainer, or tutor specializing in progressive web apps on the JAMstack. After many years of being part of a number of Tech Startup Product Development, I have learned that there is a better way to do things without relying on mere experience alone.

And today, I will tell you about a concept called "Minimum Viable Product", coined by Eric Ries, author of the bestseller "The Lean Start-Up." He has shown a technique that is more suitable and serves as a guide for start-ups (companies with limited resources, time, and money in the early stages), helping them to save the process of "testing" their products. At the same time, it minimizes market risks, thus quickly allows start-ups to adapt their products based on reality. With this model, you can speed up your development process ten-fold and make your workflow infinitely more manageable.

What exactly is MVP?

The Minimum Viable Product, also called MVP (be careful not to mistake it with "Most Important Person") This is actually an idea for quick product deliveries. After this product is brought out to the public, my team and I will start closely evaluating opinions from customers (including both direct and indirect assessment through usage monitoring) to continue to develop and flesh out more functions for the product according to what the customer really wants.

In mobile application development, MVP is a stripped-down version of an application, usually released to the market before the official launch of the app.

However, a quality MVP needs to have all the bare-minimal features, which effectively meet the needs of users, making users want to buy your official product at launch.

Minimum Viable Product as Minimum Viable Solution

Minimum Viable Product is basically a “pre-alpha” version of what your company wants to put out primarily for testing and feedback. It is the most rudimentary build of the final product you are aiming to develop. Therefore, it also acts as a Minimum Viable Solution to how a start-up should strategize and organize their production. There are some benefits to using MVP, such as:

  • MVP helps you to get feedback from product users. This is like testing a product. During this test, I will need to track and analyze the responses (or have a team do it). We have to decide whether we should fix bugs and glitches or add new features to the software. In the process of providing the customer with the software, we can acquire potential loyal customers who want to see the end product.
  • MVP is a support tool. It will help you research the needs of the market and test your assumptions. If the process is successful, you can proceed to the next steps. You can add more human resources or improve the product for the next test released. Just like that, your product becomes more and more complete.
  • With an MVP, it is possible to validate the product. People will recognize that you were the first to come up with that particular product.
  • A Minimum Viable Product can be considered as a product. You can sell the product if it is right for a group of customers who do not have high requirements for other features.

In addition to the above roles, it has different roles depending on the profession and the field.

Minimum Viable Product is consistent with the lean start-up model. The Lean start-up model has a process of building, measuring and learning. This MVP product is the facilitator to make that process easier. 

Basically, an MVP process in a Lean Start-up should play out in three phases

  1. Build: Build an MVP with the core and most essential features. Specifically, they are the backbone features - unlikely to be discarded in the future. The engineering level for an MVP is within the development team's capabilities and within the limited initial budget. Note that features built into this MVP can be changed or upgraded, so the fulfillment of functionality needs to be achieved (creating product value and availability.)
  2. Measure: Send the product to a specific group of potential or designated customers to evaluate its availability and practicality. Thanks to those realistic measurement results, we can assess the risks and know whether the project is on the right track or not. Therefore, we can decide whether to adjust and make changes or stick to the product with our business strategy.
  3. Learn: is self-learning with verification. Based on the measurement results in specific numbers, we learn which changes are needed, what needs to be added, and what to remove in the next MVP.

An Example of a Good Minimum Viable Product

Let's say we set out for a finished product development, which takes 68 months with a budget of $200,000. Our goal is to get an end product that we can put to the market and wait for responses from the users - whether they like it or not. In the event that our product doesn't appeal to users, the time and money spent developing it becomes a waste.

The MVP method allows my team to speed up our product's launch because only bare-bone features are needed before we can start getting real feedback on the overall concept. MVP development usually takes 1-1.5 months with a budget of $10,000 - $15,000. The difference is insane, isn't it? We can save so much money for our development using the MVP method.

My Personal Tips for Agile Development using MVP

Developing MVP means finding the right balance between minimal design and maximum value. The MVP version should represent the most basic purpose and functionality of the product. The development should be minimal but should not deprive products of its point of sale.

Focusing too much on radical minimalism when creating MVP can result in a product that is not suitable for the exact study of market demand. It can even damage the image of a brand if the MVP version doesn't give the user an overall impression of the product.

I recommend that you start MVP development by adding only the functionality needed for the project. Functional parts should be added during the test when users respond. Through this MVP Software Design process, a product can be created and authenticated by the user as soon as possible.

The Do’s and Don’ts for MVP Software Design

When building an MVP for your project, aside from the myriad of benefits this model brings, you should also pay attention to its downfalls and make sure to avoid them. Understanding both sides of the coin will get you very far. I have gained a lot of experience using this model and learned from my mistakes as well.

Do’s:

  • Maintain minimal functionality at high quality
  • Orient your team's effort towards major markets
  • Pay attention to the monetization model.
  • Track and take user behaviors into account.
  • Get your product into the market as soon as possible.
  • Study your competitions.
  • Come up with a marketing plan and strategy that will attract a large number of users.

Don’ts:

  • Add unnecessary or purely novelty functions and features 
  • Delay putting your product into target markets by trying to add repetitive features that cost more development time
  • Neglect the product’s overall feasibility. Sometimes we are too wrapped up in thinking about what we could add without thinking about whether it is practical to do so.
  • Be afraid of starting over with your MVP when the results are not favorable.

Conclusion

Product feasibility is an important characteristic of MVP development. What a product does is far more important than how it is presented. A viable product fulfills a user's needs by performing a function properly. It doesn't have to look fancy. Research shows that 60% of an application or product features are not utilized to their fullest or even aware of by the users at all. These features are an unnecessary waste of development time and resources. Learning to put your team's effort into the right aspect will shorten development time and save you a lot of trouble.

Now that you know what MVP is and how it works in MVP Software Engineering, maybe you can start applying it right now to your own projects!