I love Eric Reiss’s concept of a ‘Minimum Viable Product‘ – such an evocative phrase for anyone doing a lean start-up. However, like many evocative phrases it carries the broad concept well but doesn’t stand up to much scrutiny; how minimal is ‘Minimum’ and how workable is ‘Viable’?
There are other phrases knocking around that signpost the same concept. I like Minimum Marketable Feature, often talked about Minimum Usable Implementation when delivering projects rather than product, and Kent Beck recently tweeted:
i’m liking “minimum informative increment” as an alternative to “minimum viable product”
(to which Karl Scotland replied
@KentBeck I wonder whether its more about the learning than the information – “minimum learning increment”?
A year into our lean startup I guess I’ve come to the conclusion that minimum viability comes in different flavours and has different purposes for different people.
- Developers can often learn a lot from doing very little in terms of scoping a new piece of work, understanding a technical challenge, trying out alternative approaches, etc. I’m often amazed that a spike of a couple of hours can tell me much of what I need to know about a piece of work that may take days or weeks to complete. This is the minimum investigation to get viable information about the work required.
- Product owners and sales people can get a lot of value from doing very little in order to demo a concept or feature to customer or prospective customer. Working on the force.com platform allows us to rapidly show a ‘this will never work for you but at least shows you the idea’ type prototypes and we’ve also started using mocked-up screen shots and wireframes to solicit feedback on our road map and UX ideas. This is the minimum demonstration to get viable feedback.
- Customers and Users can get a lot of value from a product feature that has had the minimum work done on it to deliver the necessary functionality. The Customer/User can benefit both from getting the feature earlier than they might have done if they waited for the ‘bells and whistles’ version to come along and from being able to provide feedback that helps to ensure they get what they actually need rather than what the product owner or developer things they need. This is the minimum implementation to allow the user to viably achieve their objectives.
- Start-ups can get huge value from releasing a minimum set of workable features to paying customers. The presence of paying customers goes much further towards validating the business model than legions of people expressing ‘an interest’ and the handing over of money focuses the mind of the customer on giving good feedback far more than any prototype or free trial. Oh, and in any start-up cash is king: getting money through the door enables the business to provide increasingly good service (even if only because the founders get a better night’s sleep). This is the minimum product that allows the business to charge their customers a viable sum of money for which the customers get a viable solution to their needs.
There are pitfalls in all these and the other forms of minimum viability (the minimum viable development team is my current area of consideration) – if you get your spike wrong you can easily find you don’t understand your problem as well as you thought you did when it comes time to implement, and getting customers excited about features that don’t yet exist has many well-known issues – but it is the last two that concern me the most.
In our world the customer is often not the main user of the system (we sell SaaS to businesses and so the customer is usually the COO or the CEO and the users are people who work for them). In one instance the COO saw a very minimal version of a feature and decided it was pretty close to being sufficient for their staff. 10 minutes with the actual users told us that this was far from the case and we had a lot of work to do. In another case we had a working feature that allowed the user to do something but it was just too convoluted a process and our argument that, whilst not perfect, the feature was actually there was met with a blunt “if I have to mess about with it for 10 minutes it might as well not be there”. Fair enough; great feedback and the streamlined version of the feature is in QA as I write.
Those are just examples of where what we or the cheque-writer thought was minimum and viable feature turned out to be anything but. When it comes to releasing a minimum viable product we have an order of magnitude more difficult problem. To some of our customers what we offer is their first truly integrated, domain-specific application so almost anything that works is an improvement over what they’ve had before. But to others who are replacing an existing system their expectation is that our stuff does at least the same and hopefully a great deal more (or else why go through the pain of moving to something new) which really challenges some of the areas of functionality that are more minimal than others.
The more lean and scrappy start-ups succeed, the more the concept of minimum and viable will be understood in subtle as well as broad terms. My own small contribution to the debate is that learning, information, usability, ‘marketability’ and even ‘sellability’ are all great things but are often in tension with each other: if we place too many minimum features or feature sets in front of users that are the wrong side of being viable we may learn a lot but also risk gaining a reputation for delivering crap products that don’t really work. So when we’re talking about Doing the Simplest Thing or what the ‘minimum viable/informative/learning increment/feature/product’ is, its really important for us to understand:
- Who is the beneficiary of what gets delivered?
- What do they benefit from (learning, usage, cash through the door, …)?
- What is the right way to deliver to them (spike, prototype, polished implementation, …)?
- And, most importantly, what are their expectations? Because what they expect may not match with what we think is good enough for them.
When we’ve got the answers to these questions we find it a lot easier to calibrate what ‘minimum’ and ‘viable’ means for the particular situation.