The Never Ending MVP (Mininum viable product)
I’m writing this while on a road trip in my camper. It’s amazing how I can see so many places and do so many things in such a short time.
Interestingly, my ability to move fast is provided by the same concepts that can make your IT projects much quicker:
Minimalism
Simplicity
Reuse
Flexibility
Evolution.
I guess that’s a pretty good definition for a true MVP!
WHAT IS A MVP (MINIMUM VIABLE PRODUCT)?
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, The Lean Startup
THINK SMALL, BUT FAST.
Two years ago, we built mobile and kiosk survey platforms for a restaurant chain. One of our full stack developers did it over the weekend. It came entirely Cloud-based, with APIs, user geolocation, analytics and export capabilities. The infrastructure and licensing came under $50/month.
How could this be done in only two short days and such a low budget?
By using a Bootstrap template without any custom modifications to create some simple HTML pages.
By using Wufoo to build a survey engine and to provide basic analytics.
By embedding the Wufoo survey into the HTML pages with some Javascript.
By buying iPads and the Kiosk Pro iOS app to provide in-store kiosk versions of the survey.
By using a simple to remember URL to access the web version, or by scanning a QR code on the menus or by texting the survey phone number.
By connecting Zapier to export each new survey entry to Dropbox as a text file, to Google Sheet as a new line item and to emails and SMS notifications sent to branch managers.
By deploying the static survey app to Site44 CDN connected to a Dropbox development folder.
Minimalism
Product owners always ask for too many features. Just say no to most of them.
Think Camper, not hotel.
Deliver a super minimal product first. Don’t be afraid to rely on manual interventions, such as customer acquisition, payment or exports.
However, those initially delivered features must be impressive and game changers.
Simplicity
The application must be as simple as possible. Don’t do paging, column sorting or client-side validations. Keep each feature as clean and straightforward (Clean Code) as possible. Features should themselves be small MVPs.
So please, don’t architect to millions of users when you still don’t have any.
Reuse
Don’t code something that already exists.
The only code needed for an MVP is usually the glue that binds all those external components and the small bits of necessary, domain-specific business logic.
In our case, we needed to select the restaurant location from the user’s geo-location (not provided out of the box by Wufoo) and to compute store, region and chain-wide satisfaction metrics.
Flexibility
You should be willing to let go of a feature if it is too costly or if it pushes your launch date too far. You should accept that the UX may not be distinctive enough to win an award. You may launch only for iOS and target Android later if the app is successful.
The goal is to acquire your first users, not to build the perfect application.
Evolution
Deliver to your customers as soon as you have something that is usable and brings them value. You can add the next feature tomorrow, tune performance next week and add scalability when and only when you need it.
With our survey app, we added a simple backend, and we replicated the survey results in our datastore when new metrics not available natively in Wufoo were needed.
We migrated to AWS S3 when we got reliability issues with Site44.
We later added some machine learning capabilities to identify specific survey entries based on emotions expressed within the comment field.
Also, when new restaurants open or store managers change, we must do the updates manually in code and redeploy as this feature has yet to be implemented.
A motorhome provides you with the minimal living requirements when traveling, but each of these is a game changer (think shower and toilet). Every amenities is kept simple. Items transform into something else (sofa into a bed) in different contexts.
There are tradeoffs for sure but, by being flexible on your comfort (camper vs. hotel), you get mobility and velocity. Flexibility allows you to start with a vague outline of your trip and evolve it as you go, adapting to changing weather, interests or personal mood.
Be like the camper geek and get velocity by adopting the true MVP mindset.