It can be tricky to balance between building an MVP (Minimum Viable Product) and taking future updates into consideration. I’m thinking specifically of building a mobile app, but this could be applied to just about any other product or launch. If you don’t include a feature in your MVP, you may be adding quite a bit of extra work to a future update. Core Data migrations in iOS is an example.
Since the definition of MVP is a bit subjective, its not always clear where to draw the line. Sure, I can build a “minimum” version of my app, but is it really “viable”?
You want to keep things as simple as possible, launch, get the product into the hands of customers, get feedback, and iterate on that feedback – but you also want it to be interesting enough to the customer so they actually want to use it.
I’ve been working through this with an app I’ve been creating, and the way I’ve decided to balance the “MVP vs. future updates” is to not launch it in the app store yet and have a smaller, local launch instead. I’ve created an MVP and have installed it personally on the iPhones of some of my family members and friends. I’m having them use it and give feedback. I’m going to iterate on that feedback.
I plan to launch in the app store soon – feedback from a wider audience of non-friends and family is valuable in many other ways. But this method of a local launch has been quite helpful.