The difference between MVP and PoC

Categories: Software Development

This is part 1 of the 3-part series on what’s an MVP and what’s a PoC and how to run them.

Part 1 - Difference between MVP and PoC - this article

Part 2 - MVP from Software Engineering perspective

Part 3 - How to run PoCs - Software Engineering perspective

During my career, I have often heard words PoC and MVP. These words, especially in Startup world, are overused nowadays. Only lately in my career have I learned, what really an MVP and PoC is and how to run a successful PoC to the end. This article will start with the basics of PoC and MVP, describe the difference between them and give a few examples, when one needs an MVP or a PoC. This is the first part of the article. In the second part I will give examples how to run a successful MVP or a PoC and what to look out for.

Minimal Viable Product - MVP:

A minimum viable product (MVP) is a concept from Lean Startup that stresses the impact of learning in new product development. Eric Ries, defined an MVP as that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort. This validated learning comes in the form of whether your customers will actually purchase your product. (Source: agilealliance.org)

In my engineering words: Minimal Viable Product is an application/service/website that tests the main business assumption about the application. It should answer one question: “Will it sell?". By developing a minimal set of functionality and by cutting the scope to minimum ( especially the visual one - some Product Owners are obsessed with ‘perfect design’) you should be able to quickly release the application and see if the assumptions about the product hold on in the real life. Examples of the hypotheses that an MVP can answer: “Dog owners want to buy food for their puppies through an app”, “Users prefer PayPal as a payment method rather than bank transfer”. This is also the first step in starting an MVP - defining a hypothesis. I will explain more on how to prepare a succesful MVP in the second part of the series.

Proof of Concept - PoC:

Proof of concept (PoC) is a realization of a certain method or idea in order to demonstrate its feasibility, or a demonstration in principle with the aim of verifying that some concept or theory has practical potential. A proof of concept is usually small and may or may not be complete. (Source: wikipedia)

My definition in engineering context: Proof of Concept can be also called a prototype. The characteristics of such prototype are:

  1. They are not a working product and are usually designed to be thrown away (although from my experience, very often a prototype turns out into an actual product, mainly because the companies are reluctant to throw away work).

  2. They validate technical feasibility of an idea.

  3. They are meant to de-risk the project.

A few examples of PoC that I’ve ran or helped run recently:

  1. Moving a desktop application from Windows to Linux. This involved changing implementation technologies and frameworks from WPF to Electron, and we needed to make sure that the same functionality could be achieved on the new platform. I de-risked the project by testing if we can port all the key functionalities from the Windows app onto the Electron app. The PoC here was implementing an Electron app that had all or similar functionality to the Windows/WPF app and answered the question: “Can we migrate the desktop app to Linux?”.

  2. Rewriting custom implementation of Actor Framework into Orleans.

The difference between the PoC and MVP

I think the previous two sections already depict quite well the difference between the two. To summarize - the MVP is meant to validate if people will buy the product. You achieve this by implementing smallest possible thing, that you think delivers value to your customers, and then you try to sell it. The question that your MVP will answer is “Will it sell? Wille people buy it? Will people like this feature? Is this feature what people really wanted?". With Proof of Concept, the question is: “Is it technically possible to implement this?". Those two are quite different things, but sometimes people mix them and even use them interchangeably. I hope this article brings you closer to understanding the difference and making a decision when to use which one.

In the second part of the series, that will be available soon, I will talk how to run a successful PoC and when you should need an MVP.

See also

Share this post with your friends

comments powered by Disqus