I have a confession to make: My name is Anat, and I was infected with the agile virus while I was a product owner.
The first agile technique that made me look at the system differently was the minimum viable product (MVP). The moment I realized what it means, I asked myself: “why have I ever invested time in infrastructure that I do not know I'm ever going to use?”or “why have I ever invested 2 months on a feature that I do not know my customers even find value in?”
MVP is one of the most important techniques, and it’s important to notice that its power is matched only by the amount of confusion it causes, because it's actually quite hard to do. It requires judgment to figure out, for any given context, what MVP actually means.
The MVP term was coined and defined by Frank Robinson as the unique product, that maximizes return on risk for both the vendor and the customer. Later it was popularized by Steve Blank, and Eric Ries (Lean Startup).
From the Agile product management perspective, MVP is the minimum features set to sell your vision.
Steve Blank claims you are selling your first version to the Earlyvangelists (= Early Adopter + Internal Evangelist). Hence, one approach to defining the minimum features set is to ask, “What is the smallest or least complicated problem that the customer will pay us to solve?”.
Let’s also examine the definition used by the lean startup movement: “The minimum viable product is that version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort”.
Eric Ries claims that we have to be able to learn something from each product iteration. In many cases this requires investing a lot of energy in talking to customers, measuring stuff and analytics.
For the lean startup movement, the bottom line is that: An MVP is an experiment.
Lean startup and agile have some different purpose, however, both techniques can be perfectly combined. If I must choose, I am with Eric Ries :)
I remember the times when I started my agile journey as a new product owner, I was really excited when I first understood the power that comes with MVP. I used MVP as “risk reduction” tool for cooperation with project managers. At that time, we worked in agile internally, however, externally, the project was still managed based on waterfall methodology: fully defined SPEC, and final deadline, which was based on long run estimation (on high-level features) that became commitments. Using MVP techniques allowed me 100% confident of delivering the most valuable features on time (I think it usually was about 60% of the features committed). Regarding the rest, I was able to recognize unexpected complexity in early stages of development, and either find a workaround or communicate it to the project manager when there was still enough time to manage it with the customer.
As I said before, defining MVP is hard, so I would like to share with you some common mistakes, I have seen during my work as an agile coach:
- MVP based on the waterfall model - for example: first iteration full high level design, second iteration detailed level design, third iteration implementation. What is the value for the customer in high level design doc - Is the customer willing to pay for that? What were the experiment results? What did you learn based on your basic assumptions? What did you learn from your customer feedback after the first iteration?
- Minimum does not mean imperfect, incomplete, or unfinished. It does not mean lowering quality or compromising standards, and creating huge technical debt. Minimum, as you should spend as little time and effort to create it, it means more with less.
- Minimum is not your goal. Furthermore, avoiding spending money is not your goal either. Your goal is to avoid wasting effort and cash as you search for a repeatable and scalable business model.
- It is not the first version of your product, that all your potential customers should want. Do you remember the Earlyvangelists?
In conclusion, MVP is hard, like prioritization - if it’s easy, it usually means that you are doing something wrong.