User Story Mapping in practical way
Tags: productivity
Published: 2020-09-23 15:26:44

Hi, I am a lazy frontend developer come from Vietnam, the man looking for original values.

---

This is one of the series about User Story Mapping. You may take a look at [my previous article](https://dev.to/shinabr2/easy-to-get-started-with-user-story-mapping-58ao) about its concepts, basically are:
- User Story Mapping help us easier to focus on prioritize work.
- Everything in User Story Mapping is based on user perspective.

I also have mentioned that we need to tool to visualize these things. Fortunately, I found a good JIRA plugin. You can find all the references at the last section of this article.

Let's go to the first part to understand why User Story Mapping perfectly fit with Agile.

---

# User Story Mapping with Agile

I assume that you have already known about Agile. We heard lots of teams and companies use Agile nowadays. I will list some basic notable benefits from Agile:
- Breaking down very large project into small pieces to make easier to do everything from develop, testing and deployment. In other words, better product quality.
- Focus on users.

Agile is great! But all we have known, in the large project, the "product backlog" is terrible long. That is the reason why User Story Mapping helps and it perfectly fit with above Agile benefits:
- Each stage of development process can be mapped to a user goal in User Story Mapping.
- User Story Mapping based on user perspective or in other words: "persona".

I will take a very common use case for web development as example. We want to build an e-commercial site. Let say we have two high level functions:
- Login, logout, etc.
- Buying or selling some products.

Next section is the practical way to work with User Story Mapping on JIRA. I assume that you have already known some basic terms in JIRA like "epic" and "ticket".

---

# Visualization of User Story Mapping in JIRA

Creating a visualization of User Story Mapping basically follow these steps:
- Create "persona" to understand which kind of requirement of each kind of user.
- Define user goals
- Divide all goals into smaller pieces and prioritize them

Please take a look at my result screenshot for a demo project I have created. This process should take time, of course.

![User Story Mapping of a demo project](https://dev-to-uploads.s3.amazonaws.com/i/3dz232xtn9ey1vn6mekl.png)


Please tell me your first impression about this look and feel :) I really want to hear that you love it like me.

We have some rules for this tool based on User Story Mapping concepts:
- Top row defines all **user goals**. From left to right is the user's **narrative** flow. In other words, from left to right is the happy case from user perspective to achieve a meaning result. In above picture, we have for example three goals are "Manage User" (login/logout/etc), "Buy a product" and "sell a product".
- Second row define steps mapped to an "epic" in JIRA. This plugin also allow me to collapse all epics into one group. You can see I have grouped epics in "buy a product" and "sell a product" goals which shown the total number are 4 and 5 accordingly.
- The last down part are the tickets, the smallest piece need to be done to perform "epic". You can see this plugin help me allow to create the milestones, release management, filtering tickets and so on. In this example, we have 14 for "buy a product" goal and 8 tickets for "sell a product" goal.

You can manage "personas" from the near top right button, next to the zoom button group.

Of course, you can add many goals, many tickets if you want. But I think, the shorter goals, the better visualization. The more tickets, the higher pressure.

This article is aimed to show you the practical look and feel of User Story Mapping, you can give it a try. This plugin is good enough for me, I am crazy like how it looks. But I found something should be better to be improved:
- You need to learn "JQL" a bit. It is a language that helps you create the filters like pivot tables in Excel. It is easy if you are familiar with Data Analyst tools.
- Some minor bugs on UI, does not matter if you are not a perfectionist like me.
- I can not find out the way to feedback in two minutes. Not joke at all. I am an advanced user with having good sense of UX and understanding how important of user feedback is. Two minutes for me, is a notable time.
- No onboarding process for a new user like me. **DO NOT** underestimate this thing. It is one of crucial things to keep your valuable users.

That's all. Thank you for your time, thank you for all of you guys reading this and see ya on next articles.

---

# Related References

- [JIRA User Story Mapping plugin](https://marketplace.atlassian.com/apps/1222309/)
- [Why product onboarding is so important](https://www.appcues.com/blog/user-onboarding-customer-journey)
- [JIRA blog about JQL](https://www.atlassian.com/blog/jira-software/jql-the-most-flexible-way-to-search-jira-14)