Minimum Viable Product
This lesson can help you earn points in the "User Experience and Design" and "Potential Impact on Direct and Indirect Users" lines of the judging rubric.
In this lesson, you will...
- Learn what a minimum viable product is and why it is important
- Choose the most important features of your app to build first
Minimum Viable Product
Now that you have an idea for your app and a problem statement, you probably want to start coding right away. But hold on! Before you get started, you can save a lot of time by doing a little bit of planning. It is better to create an app that does one or two things really well, then to try to create an app that can do everything. Here’s an example.
Imagine your friend tells you that she always wakes up late and is late to school. You create an app for her that has:
- An alarm clock to wake her up in time for school
2. A notification that tells her when she should go to sleep so that she can wake up on time
3. A journal so your friend can write down her dreams if she wakes up in the middle of the night
4. A music player that plays relaxing music to help your friend fall asleep more quickly
5. A chatbot that your friend can chat with if she can’t fall asleep.
You show your app to your friend and she’s really excited to use it! She uses the app for a couple of days and then tells you what she thinks. She tells you that she really likes the alarm clock feature, and the notification that tells her when she should go to sleep. However, the notification doesn’t always work correctly and sometimes gets sent in the middle of the night, which wakes her up. She also wishes the app would let her pick a custom sound for the alarm clock. She also tells you that the relaxing music keeps her awake, and she doesn’t have any dreams, so she has not used the dream journal. Additionally the chatbot is buggy and she doesn’t like using it.
You just spent several weeks working on all these cool features for your app, but it turns out that many of them didn’t help solve your friend’s problem, and now, she isn’t even using them! You could have created a much simpler app and saved yourself a lot of time. With that extra time, you could have improved the alarm clock and the notification system, to make sure that they work really well.
Creating an app that does just one or two things really well will help you solve your problem and create something that your users like. You only have a few weeks to make your app in Technovation Girls, so it is especially important that you use that time wisely. In this lesson you will learn how to prioritize different features of your app, or work on the most important features first.
A minimum viable product (MVP) is an app that has just enough features to get the job done and test with users so that improvements can be made later. In this lesson you will decide which features you will include in your MVP and which features you will create later, as future features.
Right now you probably have a long wish list of things you want your app to do. In order to create an MVP you will decide which of these features is most important to build first. You will need to think about which of these features really solve your problem and which features your users said they wanted. Before you get started, review your problem statement and your user research from Ideation Lessons 5 and 6.
Activity: Deciding on a MVP
Create a list of all the things that you want your invention to do. Make sure to break down big ideas into smaller features. Here's an example:
Social network that allows users to friend each other, post pictures, and exchange private messages
- Users can connect to other users
- Users can take pictures from the app and post them on their profiles
- Users can see a feed of pictures others have posted
- Users can message each other
Now with your team, discuss your features. Which are the most important features to build? Consider:
- Which features are needed to solve the problem?
- What features did your users say they would use?
- What features will help you stand out from competitors?
After you discussion, write down the features your app will do, this time, in order of importance, with #1 being the most important feature.
For your MVP, you should focus on the first two features only. You and your team should decide if you need to add the third feature to your MVP, or if it should be a future feature.
- Remember, less is more! Focusing on a smaller number of features will allow you to build them really well and will give you more time to test out your app with your users and get their feedback.
Time to double check if your MVP will solve your problem.
- Have one member of your team pretend to be someone has the problem that you are trying to solve. Present the MVP to her without mentioning your future features.
- Does it help solve her problem? Be as critical as you can of your MVP.
- If your MVP does not solve your problem, you might need to try prioritizing your features again.
You should now have a better idea of what you will include in your MVP. Remember, your MVP is just your first prototype, and you can always iterate on it to make it better, even after the Technovation Girls season is over!
- Did you and your team struggle to prioritize the best features for your app? Why or why not?
- How did you compromise on your favorite features versus the best features to solve your problem?
- What are your next steps to coding some of the features of your MVP?
After finishing your MVP, you might want to get your user’s feedback about it. Follow the activities in the additional resources to learn how to collect user feedback and user stories.
Additional Resources: User Centered Design & User Stories
User Centered Design
UX Design (short for user experience) helps people create technology that is easy and intuitive to use. It has to do with the quality of the experience that someone has when using a system or a piece of technology. You can think of it as improving the ‘user’s experience’ which means that a user will have an easy time using the technology and will keep using it. You want your app to be easy and fun to use while also solving your problem. You will want to make it usable. But what makes an app usable?
It’s not just a matter of what you think might look good, or what you think you would like because you consider yourself a user of the app you will be creating. It’s about context. Think about who else will be using the app and what their needs are. Will people use it once a year, once a week, or once a day?
Where will people be using it? We used to think of applications as something that people use while sitting at their desk. What are some of your favorite apps, and what do they do? Where and how do you use them? Do they do many things, or do they do a few things really well?
First, you need to define your stakeholders, which are the people who would use your app or would be impacted by your app. These are the people that you need to talk to learn more about what they need the app to do. You and your team might think you are typical users but you should still talk to other people, interview them, get their feedback, and observe them in the environment that they would be using your app when possible.
Imagine that you are making an app that allows students to pre-order food from the school cafeteria to help reduce the waiting line. Students can use the app to request the food in the morning and then go and pick it up at lunch time. The potential stakeholders for this app would be:
- Students (who will be using the phone app)
- Cafeteria staff (who will be receiving requests through the app)
- Parents (who would need to buy their kids a smartphone so they can use the app)
- School administrators (who might not think phones should be used during school hours)
- School IT support (who would need to help students who can’t figure out how to work the app or connect to the network)
Are you ready to try this out for your app? The following two activities will help you identify who your stakeholders are, and how you can gather interview and user stories about your them.
Once you have gathered this information, you should do the activity in this lesson again to see what has changed about what features you think are most important for your app. Remember, user centered design is an iterative process, which means you’ll probably get better and better with every cycle of developing and testing your app! After you have created your MVP, you will want to test it with your stakeholders to see what they think.