When building a Minimal Viable Product (MVP) the goal is to build something as quickly as possible, release it to the world and get feedback. Then improve and continue building.
In this post I will explain how to build a MVP based on “User Stories” rather than “Features” and why it’s faster and better.
What is a user story?
A user story is literally a quick story about a user, how he will use your product and how will he capture value from it. For example, Facebook has hundreds of user stories, below are two:
- A user signs up, adds his friends and enjoys watching pictures that his friends uploaded.
- A user signs up, adds his friends and then gets value from using Facebook to communicate with them in real time via the messenger application.
Ultimately each user story describes a process (or series of steps) which explain how the user captures value and “enjoys” the product. Mature products usually have many user stories, but to create a MVP you can start from one or a few. Note: each user story must end with value captured by the user.
Why is focusing on user stories better?
Creating a good product means creating value for its users. A single feature on its own does not create value to the user. Several features also don’t create value. Several features which are used in a certain sequence create value, and that is a user story.
Therefore, to create value for the users we should start from the end result, which is a user story and then go backwards to understand the features we need to build to support that user story. If we just create features without understanding the user stories they are supposed to drive there is a high likelihood we will develop unnecessary features and also increase the complexity and Intrinsic costs of the product.
So how do we create an MVP based on user stories?
Step 1: Write down all the user stories which your product may end up having. Remember, each user story must end with the user capturing value from the product.
Step 2: Prioritize the user stories according to value and difficulty of execution. There are many methods you can use to prioritize, from gut feeling to focus groups. See my post on the Prioritization Model for more information.
Step 3: According to the user story selected (or stories) drill down to understand which features you must develop. That is going to be your MVP.
Example: Creating your MVP based on User Stories
Let’s say that our startup’s idea is to make running more fun by creating a mobile app that gives you challenges as you run (check out Getyog). Cool idea and you can build a ton of features to make it happen. But which ones should you build first and how many are enough to release your MVP?
Step 1 – User Stories: For our idea there are tons of possible user stories, here are a couple:
- User Story 1: A user downloads our app, opens it, puts on headphones and starts running. As he is running, every 5 minutes he gets a challenge – “run 200 feet in 10 seconds” and our GPS measures if he is successful and if so let’s him know.
- User Story 2: A user downloads our app, opens it, enters his goal for running speed, puts the phone in his pocket and starts running. Every time the user slows below the speed he entered the phone starts to vibrate and he knows he should speed up.
Step 2 – Prioritize: Let’s assume that according to the Prioritization Model we decided to build user story number one first (since it provides the highest Value to Cost ratio).
Step 3 – Features: Now that we understand exactly how we are going to create value, we can decide which features we need and which ones we don’t. For example, I definitely don’t need to waste time on user registration since right now it’s not needed for my user story. In fact, it will just add unnecessary complexity to the user and reduce the value he captures (See Value Capture Model).
That’s it, I hope this makes sense and is useful. The theory behind this comes from Marketing Theory, specifically relating to Behavioral Segmentation. Comments are more than welcome and appreciated as always.