Minimum Viable Product

This week in class I was discussing the value of thinking in terms of a Minimum Viable Product (MVP), and how open source tends to favour the approach, because it allows one to ship, test things with real users, get feedback quickly, find and fix bugs, and repeat. Structuring your project, and the scope of your bugs, such that you can ship quickly really matters. I mentioned a fantastic image I'd seen on Twitter (source):


What you start with often feels completely lacking, almost embarrassing; and yet you have to do it, you have to make a start.

Tonight I'm reading about the RC for Redis Cluster, and I see this amazing paragraph toward the end:

Finally we have a minimum viable product to ship, which is stable enough for users to seriously start testing and in certain cases adopt it already. The more adoption, the more we improve it. I know this from Redis and Sentinel: now there is the incremental process that moves a software forward from usable to mature. Listening to users, fixing bugs, covering more code in tests, …

Everything I was trying to say is there. This is how you do it.