All

What is MVP in Software Development?

The acronym MVP could have multiple meanings. For most people their first guess would be ‘most valuable player’ – Especially if you’re a sports fan! If you come from a finance background, you might say MVP stands for ‘Market Value Pricing’. And then we come to MVP in software development where MVP could mean anything from ‘Most Valuable Programmer’ to ‘Most Valued Project’.

MVP in Software development stands for “Minimum Viable Product”.

None of these definitions are wrong, but there is a more important definition to MVP. A definition that most entrepreneurs and business owners will be familiar with. And that is… ‘Minimum Viable Product’. It is not the most straight-forward meaning of MVP, but it is an extremely important concept in software development. In fact, it is a concept that could save your company time and money when used correctly.

What is MVP in Software Development?

In software MVP stands for Minimum Viable Product. A minimum viable product is a product or software that is only built with the intention of creating a product that is a close simulation of the possible end product, most likely incorporating the key features. These features are just enough to get accurate feedback from early users of the product in order to further development or halt the project. The complete set of features or final product is then built after considering the feedback from these early users.

One of the earliest mentions of the term MVP or minimum viable product was during a presentation by Morgan Bibbs (Creative Services Director at the University of Arkansas) in March 2000. Morgan described a MVP, as a prototype of the finished product. It is something that works and gives the end-users an idea or ‘flavour’ of the finished product, but it is not yet the finished product:

Cake comparison: MVP vs Final Product

 

One of the most popular examples of MVP’s is Amazon. Amazon started off as a site that just listed and sold books. They chose books because they were easy to buy, ship and sell to consumers, as they weren’t very costly. Slowly overtime they kept on making it bigger and better based on customer feedback. And now Amazon is the world’s biggest online store which sells almost anything, not just books:

Even today Amazon continues to build and improve on their website based on customer feedback, making them a great example of a MVP success story.

Characteristics of a MVP

Every MVP has three key characteristics, which include:

  • minimum set of features
  • a ’customer or user base’
  • an ‘early prototype’

A good MVP will have all three with the least possible amount of effort, time and costs involved.

In software development, a minimum set of features would refer to the ‘must-have’ features that make that software unique. Not creating a product with the least amount of features – which often gets mixed up. This may not include the finer details like design and user experience, which can be implemented in the final product.

A customer or user base is an essential part of an MVP. This could be in the form of a focus group, your current customers or a select group of users who signed up to test your product. It is important you have a large enough group to test your product and that feedback is recorded. Depending on how niche your product is, you might want to collect feedback from at least 100 users to get reliable results.

The final element is the prototype or the actual MVP. Ideally this should be developed with the least amount of requirements, resources and time spent. The prototype is something that you can give to users, let them test it for a while and then get feedback from them.

In software development, this could mean making the software or website live for a short amount of time to collect feedback from users. Then once feedback has been implemented, the MVP or prototype can be replaced with the final product.

Is a MVP the same as Alpha testing and Beta testing?

When it comes to MVP in software development, many people confuse an MVP with alpha or beta testing. All three are different concepts in software development.

An MVP is the minimum set of features that a product needs to get launched. It is from these minimum features that feedback is gathered and acted on.

Alpha testing is when a product (final product or MVP) is ready for testing by users but not in real conditions. In other words, the product will not be available to the public. Instead it may be tested by internal employees, a controlled focus group or in a lab environment where conditions can be completely controlled.

Beta testing is when the software (final product or MVP) is ready to be tested by the public or real users. While publicly available, it may still be limited to users who have signed up to test the beta version. A beta test is the final test before the product is fully launched.

While all three concepts are very different they can come together in a typical software development process:

Standard MVP Process

The ultimate difference between the three concepts is that both alpha and beta testing can be applied to a MVP. While an MVP is not a type of test, it is just the basic version of the final product.

Minimum Viable Product Examples

A minimum viable product in software development can be anything from a video demonstrating your software to a basic version of your software. The purpose of an MVP is to demonstrate the benefits or USP (Unique Selling Point) of the software as clearly as possible.

As an example, before Dropbox became huge they released a demo video demonstrating their website in action and its core features:

This demo video drew thousands of visitors to their landing page and grew their beta testing waiting list from 5,000 people to 75,000 in just one night. This video alone proved that their website concept would be viable. And because of that this video is a good example of an MVP.

Wireframes and sketches can also make good MVPs, especially if your product is something creative or design-related. In particular wireframes are commonly used within web agencies to get approval from clients on any complicated website features before actual development begins.

Landing pages are another popular example of an MVP. Before actually launching a product, a landing page can be used to clearly list the potential benefits of that product. Your landing page could also have a sign-up form for anyone interested in purchasing or using the product.

Buffer is a great example of a company which used a landing page to prove their MVP:

The most common example of an MVP in software development is software prototypes. This is where an incomplete version of the software is developed to determine its value. Once features have been tested and proven, the final tested version can be released.

Software prototyping was exactly what Foursquare did before they released their final app. Their MVP only worked on mobile devices and was only available to 20 U.S Cities and Amsterdam before it’s public release:

At the time, FourSquare used their MVP to get user feedback as well as to obtain investment to build the final app. Their MVP product was a clear hit and today they have over 55 million monthly active users globally.

Before you create a software prototype, we recommend that you’ve done some idea testing and audience research to ensure that there is a potential market for the software or tool. This is essential as software prototyping can get costly depending on your idea.

It is also recommended working with an experienced MVP Development Company to develop a solid MVP plan and to help you create an MVP in the most efficient way possible.

A Basic MVP development process

Developing an MVP is a continuous process of development and gathering user feedback. The process starts off from user feedback and then throughout the life of the product, it continues to receive feedback for each major product update. A typical MVP development process may look something like this:

MVP Circular Process

User feedback is key to the MVP development process. Once you have created your final product, you should continue to gather feedback and keep improving your product to make it the best possible.

What is MVP in agile development?

Most web agencies and software development companies follow the agile development approach. This is basically a collaborative approach to software development. Agile development means that different parts of the software can be built and tested simultaneously.

In the past software was developed in a more linear way. This meant that one part of the software had to be completed before the next part could be built and so on. If something went wrong, developers would have to go back to the beginning and start all over again.

There was also a lot of idle time, with developers having to wait around until certain parts of the software were complete. As you can imagine this led to many delays in projects and frustration in the development community:

Timeline Comparisons: Agile vs Linear

Then the agile methodology was developed where multiple parts or features of a software could be worked on and tested at the same time. With agile development teams being better utilised, projects are delivered on time and to the high quality expected by clients.

Agile development isn’t just about collaborative working, it is also about responding to changing requirements and customer collaboration. This is where an MVP fits in. As stated earlier, the MVP process is all about customer feedback. This ties in nicely with the agile principles.

An MVP is a basic product with only just the core features. Only after continuous customer feedback does it evolve from an MVP to the final product. Agile is the fastest way to get an MVP into its final stage. As not only is feedback gathered simultaneously, developers are also working on the product continually improving it at the same time.

As opposed to the traditional linear approach where customer feedback could only be provided when the entire software was complete. This normally resulted in unsatisfied customers, where both money and time was wasted creating a software which failed to meet customers expectations.

Therefore when it comes to developing a MVP, the agile principles are very important to understand and follow for a successful project completion.

Does Your Project need an MVP?

The most important question of them all is… Does your project need an MVP? The main reason a company might want to create an MVP is to confirm a new concept or idea.

The biggest misconception about an MVP is that they are only for start-ups. While it is true, a business just starting is the most likely candidate for an MVP. After all, they would need to test their concept out before approaching potential investors or before they waste money on marketing a product no-one wants.

Alternatively, established companies may also require an MVP to test out new features or product offerings. For example, if you’re thinking of launching a new app into the marketplace, but are not sure if the investment is worthwhile.

It doesn’t matter what industry or sector you are in, if you need a concept or idea proven then an MVP is the way to go! If you need some help with developing a MVP app or website for your next idea or concept, please do not hesitate to contact our team.

Insights by fastfwd

Share this post