In certain contexts, not having a mobile app can be the equivalent of a business not having a website 10 years ago. Enterprises that want to grow, maximize profits and interact with customers must build an engaging experience for their customers, and a large part of such an experience is allowing customers to use their mobile devices to connect with your business. The International Data Corporation reported that vendors shipped more than one billion smartphones worldwide during 2013 — and that statistic does not include sales of tablets, phablets and other mobile devices.
Armed with the knowledge that the use of mobile devices has been expanding at an exceptionally fast rate, you have decided that you need to create a mobile app. You select what you consider your most innovative idea for an app, which (coincidentally) is the one you feel will prove most successful. After carefully evaluating the benefits and challenges, you opt to outsource app development.
During your initial discussion with the developer, the subject of a minimum viable product arises. Your outsourced developer is very much in favor of the strategy, but you have reservations. You might think that an MVP is little more than a demo, or you may feel that the app will only be of interest if it is packed with features and offers all of the “bells and whistles” that current technology can provide. However, an MVP is a valid method of testing your idea before you spend a lot of money on features that users really do not want — or developing an app for which there is no demand.
What an MVP Is — And Is Not
The concept of a minimum viable product is easier to grasp if you define each word in its name independently.
- Minimum: Smallest, lowest, least possible, fewest.
- Viable: Workable, feasible, practicable, usable.
- Product: Good or service that has been manufactured for sale.
Thus, you could say that an MVP is a product (your app) that has the least possible number of features that permit it to be used. In other words, it is a functioning app, but it contains only basic functionality. It is not a slideshow that presents mock-ups of how your screens should look or text describing how the app will work. It is a product that is actually usable — although the number of features may be far fewer than you envisioned initially.
Why Build an MVP?
Until your product is on the market, your belief that it will be successful is still a theory — that is, based on all the available evidence, you have a rational idea that the concept can be executed and that people will want your app. However, history is filled with examples of theories that have been disproved, despite having been based on logical principles and careful observations. Even the “greats” have been wrong at times. For example, Albert Einstein was a leading proponent of the static-universe theory and believed that the size of the universe was permanently fixed, neither expanding nor contracting. Lord Kelvin, the scientist for whom the Kelvin scale of temperature measurement is named, applied his knowledge of thermodynamics to calculate the age of the Earth at 20 to 40 million years. In both instances, these theories were proven incorrect when additional information became available.
Once you release your MVP, additional information may become available that can disprove your belief that your app is “the next big thing.” You might find that features you had been considering are extremely low on your users’ lists, or that features you had initially chosen to omit are actually priorities for your users.
With an MVP, you have limited your risk of financial loss (in a worst-case scenario) and given yourself the ability to make quick changes or improvement to the final version. You can deploy the MVP sooner than the final version and use the MVP to collect feedback from users on what they love, hate or wish the app did differently. You can use the feedback to tailor the finished version to fit the needs and wants of your users more precisely.
Initial Steps in Creating an MVP
The first step in creating your MVP is to define the core functionality that your app will have. For example, suppose your app’s primary function is to enable users to take photographs with their cell phones and immediately post the pictures to their Facebook pages by tapping just two keys. You believe the combination of convenience and speed will attract many users.
While considering other features, you decide that the ability to edit photos before posting, adding a distribution list to email pictures to selected friends or the ability to edit the audio on videos recorded with the phone would be of value. Perhaps you would like to add video editing as well, or the option to design customized digital albums to contain photos. Maybe you would like to add a community where users can chat or share images.
Once you have decided every feature that you feel your final app should offer, prioritize them. Assign each feature a rating, such as “Essential,” “Nice to have” or “Moderately important.” Cut the list down to just the core functionality, i.e., the “Essential” or “Must-have” items. In the example, you might opt for an MVP that only lets users take the photos and post them to their Facebook page.
Conduct additional research before you commit to an MVP. Look for similar products and evaluate their shortcomings to determine the ways that your app will be an improvement. Review every feature’s ranking to ensure you have included all of the essential functionality and eliminated the unnecessary. Once you feel that your list of features is “just right,” you are ready to present your project to your outsourced developer.
Working with Your Developer
Every vendor providing outsourced app development will probably have a different idea of the technology that should be used to create your app. Their methodologies may vary as well, with some developers insisting on using the agile methodology and others preferring the waterfall method. Discuss all of the options, but keep in mind that you are the customer — you have the right to reject their suggestions or proposals. However, you should make sure that you understand the benefits and disadvantages of what they are proposing.
Give your developer that most detailed set of specifications you can write. It is normally a good idea to give the developer a complete list of the features that you are tentatively planning to include in the final version. Stress the word “tentatively,” since there is a good possibility that additional features may be added or eliminated, or that their priorities may be altered. However, if the developer has a better understanding of the final goal, it is easier for him to decide whether a small change in the MVP could prove important when additional features are needed. This helps avoid unnecessary delays and expenses, such as learning that half of the code in the MVP will need to be revised to interface with an additional feature.
Launch the App and Collect Feedback
Once your vendor delivers the completed MVP, test it yourself. If you have trustworthy friends and family members, consider asking them to test the app and give you honest feedback. Ask your testers to make attempts to “break” the app, i.e., ask them to enter letters in fields designed to contain only numeric values, navigate rapidly between screens or power off their device with the app running. If you discover any issues or bugs, have them fixed and test the corrected app before proceeding.
The next step will be to market your app. How you do this will depend on your budget, your goals and your connections. One strategy might be to promote the app on Twitter or Facebook. Because you need feedback, you might also promote it as a product that is in need of testers.
Collect all of the feedback you can from your users. Getting users to volunteer feedback can be challenging, You may have to be proactive, such as sending them emails to ask them for their reviews. Ask them what features they would like to see in the next version as well as what issues they faced in using the app.
Analyze all of the feedback you receive from users. Do not concentrate on just the negative comments or just the positive ones. Drill deeper and attempt to determine why specific comments were made. Use the feedback to prioritize your features for the next development cycle.
Once you decide to have a mobile app developed, you will be faced with a number of decisions. Using an MVP can help you pare down your list to make the project less costly and less time-consuming. Instead of diving head-first into unknown waters, you can reduce your risk — and your stress — by establishing that there is a market for your app before making a more substantial commitment.
Useful Resources for Readers: