Remember the days of building a sandcastle in a sandbox, or creating a spaceship out of an old egg carton and tinfoil? These are examples of Minimum Viable Products (MVPs) and/or Prototypes!
Perhaps you didn’t have the money to buy the latest Millenium Falcon when you were a kid so you used the resources readily available to you to build something that shared the same vision: The power of space travel in the palm of your hands. This vision likely inspired others to make a similar investment, ask you how you did it, and carefully monitor the groceries brought in from the car. These same principles scale to a real-life next generation space transport, designed to carry a crew to Mars.
In the world of Agile software development, “DevSecOps”, and Design Thinking, its not uncommon to hear the terms Minimum Viable Product (MVP) and Prototype. You may even hear them used interchangeably, but is this correct? Let’s take a look.
An MVP is a product with a minimized feature set, usually intended to demonstrate vision while reducing the developer’s risk. Precious resources are saved by creating a smaller set of capabilities or information. Focusing solely on providing some initial value to users allows developers to test their assumptions and demonstrate basic market viability before making significant investments of time and money.
In some circles, a prototype is a representative example of the desired end-product or service. These can be incredibly useful for demonstration, testing, and getting buy-in from stakeholders. In other circles, prototyping is used for quickly assessing the viability of an idea using lower-than-production-quality materials (ex. using a paper towel roll as a lightsaber handle …). The latter interpretation of prototyping is perhaps more in line with the intended meaning of MVP, as coined by Frank Robinson and made popular by Steve Blank and Eric Ries.
One important thing to note is that both MVP’ing and Prototyping are best done iteratively. Don’t make just one MVP or prototype. Create several, each of which builds on the lessons from the previous ones.
Depending on the environment, it can be important to note the differences. Perhaps you find yourself in an organization where the term “prototype” has centered around the shiny representative final product. If you bring up rapid prototyping to weed out various risks, you may find yourself under the proverbial pile of rotten tomatoes. On the other hand, you may need to be careful using the term MVP. Some may have bad experiences where an MVP was too “Minimum” and not enough “Viable Product,” such that it turned off potential investors.
Can your egg carton be considered a prototype? Certainly! Just remember that there may be some “Doc Browns” out there, apologizing to Marty for the scrappiness of his model of downtown Hill Valley, complete with miniature DeLorean. You may have to explain that your use of “prototype” is not the same as a production ready representative example.
Follow these links if you’d like to learn more about MVP’s and Prototypes.
I would suggest MVP, as being ‘viable,’ has met some threshold of developmental rigor to allow for verification & validation of its (minimal) capability, while a Prototype does not (necessarily) (by intent) meet that threshold. If not obvious (e.g. obvious would be a 3D printed model…a good prototyping tool) (not obvious would be a GUI to not-all-there underlying code), a prototype should be presented as something that has not had necessary development rigor to cover down on all potential usage, while an MVP could be presented as usable (with the ‘minimal’ set of capabilities as a tag-line).
Thanks for the note, Gene! I agree, the “V” in MVP is the key differentiation between that and a prototype.
Good write-up. I certainly love this site. Stick with it!
Keep this going please, great job!