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:
1. 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.
2. 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.
3. User Journey map and features
User Journey is a visual representation that illustrates user’ flow (series of steps a.k.a. activities) with in 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, their 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.
For the future state, we have to arrive at tasks for the activities. The tasks could be directly or 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)
4. 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, using this template, we could articulate the feature and their benefits better to our customer.
For example: If our requirement is to cut a cake, FAB would be as follows:
If the requirement (context) changes to, say, handle a polished surface, wooden knife may be better than a stainless steel knife.
5. 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 prioritised 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.
Every step above needs elaboration and examples. I’ll be covering them in my subsequent posts.