Scoping is always an important and challenging activity in software development. Irrespective of whether we are scoping a product’s particular version or project’s specific release, we could use a set of steps to arrive at an MVP, Minimum Viable Product, that has a clear value definition, user validation and better chance of success. In my experience, I’ve found the following set to be very effective:
- Elevator Pitch
One of a simple and effective format to define our product vision is:
“For <target customer / group>
Who <needs a solution or has a problem>
The <our product / service>
Is a <key feature or primary set of processes>
That <what our product would do>
Unlike <existing products / services>
<our Product / service> <how does it solves the need / problem>”
It is called an Elevator Pitch as this can be easily explained to a potential client or to a prospective employee with in a few minutes. It should be interesting, memorable, and succinct. It also need to explain what makes the product unique or stand out.
- User Persona with their pains and gains
Hypothetical representations of Actual or Potential customers are described by visual stories called Personas. They draw a comprehensive picture of the users of our system. The details include, what our users want to accomplish, what skills they may or may not have and what are their needs, wants and priorities.
We can arrive at personas by brainstorming, user research, customer interview, secondary research of industry data, etc. It is a good practice to arrive at more than one user persona representing each key customer segment so that we could develop features to meet their expectations.
After identifying our personas, we have to detail out their goals, motivations, pain points and gains. Pains are their challenges and the gains are benefits if and when they use our system.
- User Journey map and features
User Journey is a visual representation that illustrates user’ flow (series of steps a.k.a. activities) within a product or service, their interactions with the system and the overall experience for a particular goal. The user journey could be created by mapping all user touch points, the mode of interaction and expected outcome for each goal. We have to create at least one user journey for each user persona.
First, we capture the current state as a journey. Then using the user persona’s goals, motivations, wants and expectations, we capture the future state of the journey.
With a few variations, these user journeys are some times called as Experience Maps or User Journey Maps.
Now, we have user persona –> goals –> activities.
Next we have to arrive at tasks for these activities. The tasks could be sliced further to arrive at User Stories or Use Cases or Granular Requirement Specification as the need be.
Now, we have a set of requirement statements (features)
- FAB (Feature-Advantage-Benefit)
FAB helps us define the advantages and benefits of the features identified. FAB could be used as one of the parameters in prioritizing the features for MVP. Also, we could articulate the feature and their benefits better to our customer.
Feature | Advantage | Benefit |
E.g. Stainless steel as material for knife | Won’t easily rust | Durability |
- Prioritized backlog (MVP)
MVP expands to Minimum Viable Product. It is a set of prioritized features just enough to cover the identified primary needs, expectations of the targeted customer segment.
The prioritized features from Step 4 are estimated. With priority based on benefit and estimates, we will be able to arrive at MVP and its release plan.