I have had many discussions with people who are working on an “MVP.”. But they seem to mean different things.
Some seem to think MPV is “most valuable player” meaning it is something awesome.
Many people tell me that MVP means “Minimum Viable Product” which means the minimum we can do to make this viable. The problem hear is that some of the people think it is the “minimum we should do on this project before we run out of money”. But that is not actually the point of an MVP … that is more a “SCOPE”.
MVP does mean minimum viable product .. but it is the minimum we can do “during the project”. So a project will have many MVP’s. Each will achieve an objective and then be finished.
So in agile projects many agilistas see the MVP as the “release candidate” or the minimum we would consider releasing to users to solve some problem or add some value, while we work on creating more value.
This is a common definition but the term MVP actually comes from the lean startup movement and has been adopted by agilistas and others. And the lean start-up movement mean something subtly different.
Here are a couple of quick videos to explain what the lean startup is all about
lean startup – https://www.youtube.com/watch?v=vyR1JjS1Duc
Also here – https://www.youtube.com/watch?v=sOkmAbZNTik
The “viable” is different to “Valid”. A minimum VALID product would be the minimum we know would add value – it makes sense in theory AND we have checked all our assumptions. But a minimum VIABLE product is the minimum we could viably do in order to validate our assumptions.
That means it might add value to our users – or it might just be done to learn something or run an experiment. So the best MVP does NOT involve deploying a useful product.
Here is a good video explaining MVP as it was intended to be originally:
But that means we need to not just “build” and MVP, we need to plan it, define what we will learn and then manage what we learn. So MVP is not really building something but designing and running an experiment.
If you want to see how some people do this, here is a video on “designing an experiment (MVP) with a test card”
And here is another one on “What did we learn from the MVP”
So an MVP is actually – the minimum (cheapest easiest) way to validate the assumptions, that if valid, make this product viable.
If you are agile you should of course be punching out great customer value every week (or sprint) and you might there for be delivering stories at high velocity.
BUT – you should also be managing risks, checking assumptions and learning from users through prototypes. So rather than just delivering features towards a “minimum what we thought you wanted” MVP, you should be building prototypes, models and experiments to learn what people want.
The MVP is a tool to learn rather than a deliverable at the end of the project,