How to use story points for agile estimation
Story points can be a little confusing and are often misunderstood. Story points are an important part of user story mapping, and many agile teams use them when planning their work. But they aren't as simple as adding numbers to tasks or estimating how long a job will take.
Even if you’ve been using story points for a while, you’ll find that different teams and organizations will use them differently.
So, let’s define story points, discuss why they’re so useful for agile teams, and talk about some of the different ways teams implement them in story mapping and sprint planning.
What are user story points?
Story points are a useful unit of measurement in agile, and an important part of the user story mapping process. You assign a number to each user story to estimate the total effort required to bring a feature or function to life.
When to estimate story points
User stories can be estimated during user story mapping, backlog refinement, or during sprint planning.
Once a user story has been defined, mapped to the backbone, and prioritized, it's time to estimate the story points. It is a good idea to work with your team to do this, as each team member plays a different role in different stories, and knows the work involved in UX, design, development, testing, and launching. Collaborating on story point estimation will also help you spot dependencies early.
It is best to assign story points to each user story before you sequence them into releases or sprints. This allows you to assess the complexity, effort, and uncertainty of each user story in comparison to others on their backlog, and to make informed decisions about the work you decide to commit to each sprint or release.
How to estimate user story points
When estimating story points, you're looking at the total effort involved in making that feature or functionality live so that it can deliver value to the customer. Your team will need to discuss questions like:
- How complex is the work?
- How much work is needed?
- What are the technical abilities of the team?
- What are the risks?
- What parts are we unsure about?
- What do we need in place before we can start or finish?
- What could go wrong?
Tip: If you're having trouble estimating a story or the scope of work is overwhelming, you might need to break your story down into smaller parts to make multiple user stories.
What is a story point worth?
This is where story points can get a little confusing, as story points don’t have a set universal value. You kind of have to figure out what they’re worth to you and your team (yep, real deep and meaningful stuff).
Here’s how it works:
- Each story is assigned a certain number of story points
- Points will mean different things to different teams or organizations
- 1 story point for your team might not equal the same amount of effort involved in 1 story point for another team
- The amount of effort involved in 1 story point should remain stable for your team each sprint and it should remain stable from one story to another
- 2 story points should equal double the effort compared to 1 story point
- 3 story points should equal triple the effort compared to 1 story point… and so on
The number you assign doesn't matter - what matters is the ratio. The story points should help you demonstrate relative effort between each story and each sprint.
Estimating story points for the first time
Because story points are relative, you need to give yourself some baseline estimates for the first time you do story point estimation. This will give you a frame of reference for all future stories.
Start by choosing stories of several different sizes:
- One very small story
- One medium sized story
- One big story
...a bit like t-shirt sizes.
Then assign points to each of these baseline stories. Your smallest story might be 1. If your medium story requires 3 times more effort, then it should be 3. If your big story requires 10 times the effort, it should be 10. These numbers will depend on the type of stories your team normally works on, so your baseline story numbers might look different to these.
The important thing is that you’ll be able to use these baseline stories to estimate all your future stories by comparing the relative amount of effort involved.
Over time, you and your team will find estimating user stories becomes easier as your shared understanding of the work develops. This is where story points become most valuable, helping your team align expectations and plan more effectively.
Make estimation easier
An app for Jira like Easy Agile TeamRhythm makes it easy to see team commitment for each sprint or version, with estimate totals on each swimlane.
Using the Fibonacci sequence for story point estimation
Some teams use the Fibonacci sequence (1, 2, 3, 5, 8, 13, 21, 34, 55, 89, etc.) for their story point estimates, rather than staying linear or allowing teams to use any number (1, 2, 3, 4, 5, 6, 7, etc.).
This has its benefits. For example, if you're looking at a story and trying to estimate whether it's a 5, 8, or 13, it's much quicker and easier to come up with an answer than trying to land on the right number between, say, 4-15. You'll likely reach a consensus much more quickly.
This also means you won't be able to average the team's story points to finalize the estimation. Instead, you'll need to discuss the work and decide on the best estimate from a limited set of options.
But it does limit your options - if you have a story that’s more effort than 34, but less than 55, your estimate might be less accurate.
Using story points to estimate velocity
After some time working together most teams will have a good idea about how much effort is involved in each story point.
Of course, timing isn't exact - there's a bell curve, and story points are designed to be an estimate of effort, not time.
But story points (and knowing their approximate timing) can be useful when it comes to figuring out how much your team can get done each sprint.
You should be able to estimate about as many story points your team can manage during a two-week sprint, or whatever timeframe you’re working to.
For example, if your team can usually get through 3 story points per day, this might add up to 30 story points across a two-week sprint. This is your velocity.
Velocity is useful for user story mapping and sprint planning. When mapping your user stories to sprints or versions, you can check the total story points and make sure it matches up with your velocity so you’re not over- or under-committed.
As you can see there are a few different methods for estimating work. The best advice is to be conservative and not overload the team.
Over time, your estimations should become more accurate.
Using Story Points in Scrum, Kanban, and Extreme Programming
Story points are central to estimation and planning processes in many agile methodologies. Scrum and Extreme Programming (XP) rely heavily on story points to gauge the effort and complexity of user stories.
Scrum teams use story points during sprint planning to decide which tasks to include in the upcoming sprint, encouraging discussion that leads to shared context and understanding of the work.
Extreme Programming on the other hand, uses story points to assess the size of features, enabling teams to prioritize and allocate resources effectively. Teams using Kanban can benefit from story points by using them to set work-in-progress limits and optimize the flow of tasks across the board.
While the specific practices may differ, story points can help encourage team collaboration and a more predictable flow of work.
Related Articles
- Workflow
The Ultimate Guide to User Story Mapping [2023 Guide]
Whether you’re planning your first user story mapping session or you’ve got a few under your belt, it can be a little overwhelming 🤯
- What’s the process?
- Who do I need to get involved?
- Why are we even bothering with this when we have a perfectly good backlog? (Okay… it might be slightly dysfunctional, but you know...)
- Why are there sticky notes EVERYWHERE?
Most product managers and Agile teams could benefit from a deeper understanding of user story mapping so they can create a more customer-centered view of the work that needs to be done.
Plus, over the last 15 years (since user story maps started to become a thing thanks to Jeff Patton), some of the processes and terms have evolved and there are new tools and apps that can make your life a whooooole lot easier.
We’ve put together this ultimate guide with all the info you need to get up to speed on the latest user story mapping definitions, techniques, and tools. Let’s start with some basics 👇
What is user story mapping?
Here’s a super simple user story mapping definition:
User story mapping is a visualization of the journey a customer takes with a product, from beginning to end. It includes all the tasks they’d typically complete as part of that journey.
To expand on that, user story mapping takes all your user stories (across all your persona types) and assigns them to epics in the order that delivers the most value to the customer. From there, stories are prioritized and mapped to releases.
“User story mapping is a facilitated, curated conversation that brings everyone along for the journey. It’s an opportunity for the product manager to brain dump their insights (who is deep in this stuff day in, day out) and get it into the minds of the team who are about to deliver on it.”
Nicholas Muldoon, Co-Founder @Easy Agile
What isn’t user story mapping?
While user story mapping might have a few things in common with other methods, it’s not the same as journey mapping or event storming.
User story mapping vs journey mapping
Journey mapping is a UX tool that helps teams visualize the journey a customer needs to take so they can accomplish a goal. Journey maps focus on the journey for a single persona or customer, based on the persona’s specific scenario and expectations. This is useful for aligning the team, getting them focused on the user experience, and basing decisions. Unlike user story mapping, it’s focused on the user experience and the vision for the product.
User story mapping vs event storming
Event storming involves running a workshop with key business stakeholders present. The attendees write down business events (things that happen), commands (things that trigger the events), and reactions (things that happen as a result) on sticky notes. These notes are organized sequentially to map out the business processes. Unlike user story mapping, which is focused on refining the backlog to deliver a working product for the user, event storming is more high-level and done early in the product planning process.
User story mapping for agile teams
User story maps can be useful for all agile teams, whether they’re full SAFe or Kanban, but especially if they’re working on a complex product.
User story mapping is a useful technique for agile software development teams because it can help your team deliver working software and respond to change.
This fits right in with the Agile Manifesto.
And let’s not forget the number one agile principle:
“Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.”
User story mapping puts the focus on the user, ensuring that the backlog contains stories that add real value to the customer by helping them achieve their goals.
Plus, story mapping allows your team to plan and order their work so that it delivers the highest value to customers first.
The anatomy of a user story map
User stories, epics, the backbone and story mapping - oh my! To break down the steps and processes involved in user story mapping down further, let’s define some of its moving parts.
User stories
A user story is a goal, from the user or customer’s perspective. It’s an outcome they want. It’s also the smallest unit of work in an agile framework with the purpose of articulating how a piece of work will deliver value back to the customer.
User stories usually follow the structure:
As a [persona type], I want to [action] so that [benefit].
For example:
Tip: it’s a good idea to focus on just one type of user/persona during your user story mapping session. If it’s your first session, choose your most ideal customer type and write our user stories that will deliver value to them. You can always come back to your other users in future.
Read ➡️ How to write good user stories in agile software development.
Epics
Stories can be associated with epics.
Epics have different meanings depending on who you talk to. But for the sake of this article, we’ll define epics as bigger, overarching stories or steps in the journey that contain user stories. An epic on its own isn’t small enough to become a work item or development task, but the stories it contains probably are.
For example, the epic “Sign up” might contain the following user stories:
- As a customer, I want to read the privacy policy before I sign up for my account so I can decide whether I trust the company with my details
- As a customer, I want to see a list of features and benefits on the sign-up page to remind me about what I’m signing up for
- As a customer, I want to sign up for an account using my Facebook login so I don’t have to remember my username or password
- As a customer, I want to sign up for an account using my email address so I can control access to my information
- And in this example, the next epic might be “Set up and customize my profile”.
The backbone
The backbone is the top row of your user story map. It outlines the essential capabilities the system needs to have.
Your backbone should show the customer journey or process from beginning to end, including all the high level activities the customer will complete while using your product. Depending on how you use your backbone and story map, it could be made up of epics.
The backbone is critical because it gives your team the “why” behind the journey, even if they’re just focused on a single step. It takes away ambiguity around what might lead up to that step and what might follow it, which gives important context for creating a smooth customer journey.
More on: The Anatomy of a User Story Map
Why do user story mapping?
The purpose of user story mapping is to make sure you understand the problem the customer has, and then find a solution to that problem.
You’ll know the answer to:
- Why are we building this?
- Who are we building this for?
- What value will it provide them?
- When do we expect to deliver this?
This will help align your teams, groom the backlog, and more quickly deliver a product that your customers want and need.
John Walpole explains the value of user stories beautifully:
“[There’s] one technique and tool which time and time again I’ve gone back to when I felt like a project maybe isn’t thoroughly understood by the team, or I’m worried that we’re going to end up shipping software that isn’t going to delight customers. This is my go-to technique. I believe it’s going to help you ship software that will delight your customers.”
Without user story mapping, there’s a much greater chance that your team will come up with complicated, non-customer-focused solutions to a problem.
User story mapping helps ensure the team is aligned around what problem the customer has, and how you, as a team, are going to try and solve that problem.
It will keep you focused on delivering the highest impact and greatest value pieces first, enabling you to iterate based on feedback.
Read ➡️ Why User Story Mapping
Benefits of user story mapping
“User story mapping is the best technique I’ve come across to gain shared understanding within an agile team. Alex Hennecke at Atlassian talked about being able to see the forest - instead of just the trees, right in front of him.”
Nicholas Muldoon, Co-Founder @Easy Agile
There are so many benefits to user story mapping, like:
- Plan better - Seeing the user journey mapped out makes it easier for teams to see the big picture of your product and identify any risks, dependencies, and blocks ahead of time
- Greater empathy - It forces your team to see the product from your users’ perspective
- Better prioritization - Organize work into releases based on what’s most important to users and what will deliver a new or complete experience for users
- More value sooner - Frequently delivering new value to users is easier when you can order the stories based on value and map them to iterations or releases
- Realistic requirements - By breaking user stories down and visually mapping them, it’s easier to estimate work and see how all the pieces fit together
- Better collaboration - With all the upcoming work mapped out, marketing, sales, and other teams can see when you expect to ship new features and updates so they can adjust their marketing communications and sales conversations (without asking you for daily updates)
User story mapping helps your team understand the bigger picture, the why, and the end-to-end customer journey before they dive into the what and how.
Read ➡️ Understand what your customers want with agile user story maps.
The flat backlog vs user story mapping
Before we had user story mapping, we had the flat backlog. Actually, a lot of agile teams still use the flat backlog (no judgement if this is you!). So, let’s talk about what that looks like and how user story mapping has improved this practice.
Read ➡️ DEEP: The 4 Characteristics of a Good Product Backlog
What’s a flat backlog?
Essentially, it’s a to-do list. It includes all the items your team needs to do so they can provide value to your customers, ordered from most valuable to least valuable to the customer. The backlog may be split into current and future sprints to show what outputs are likely to be delivered when.
But I like our backlog!
A simple to do list might be fine if your product is simple, your team is small, and your to-do list is very short. But most products are complex, with multiple teams working on it. And most of the time, the backlog is massive (and constantly growing and changing).
Flat backlogs are complex at scale
If you’ve got hundreds of issues (or more), a flat backlog makes it impossible to see the big picture and surrounding context - which your team needs in order to refine the backlog, find dependencies, and prioritize the work into releases. It can also get pretty overwhelming!
- Specific challenges of using the flat backlog include:
- Arranging user stories in the order you’ll build them doesn’t help you explain to others what the system does
- It provides no context or ‘big picture’ around the work a team is doing
- For a new system, the flat backlog is poor at helping you determine if you’ve identified all the stories
- Release planning is difficult with a flat backlog - how do you prioritize what to build first when you’ve got an endless list?
- It’s virtually impossible to discover the ‘backbone’ of your product
User story maps were designed to overcome these challenges and restructure the backlog to add context, make it easier to prioritize, and put the focus on the customers’ needs. It introduces the X axis, with the backbone at the top to show the customer journey, and the user stories below.
When you go from a flat backlog to multiple axes, your team (and the rest of your organization) can understand what value we intend to deliver to the customer and when.
Read ➡️ The difference between a flat product backlog and a user story map.
When is user story mapping done?
So, when do you actually run a user story mapping session?
Generally, a team will collaboratively create a story map at the start of a project or product. It might be an entirely new product, or the product manager might want to pursue a new idea or feature as part of an existing product.
This involves getting subject matter experts and team members together to run a session where you look at your personas and overarching customer journey, then brainstorm ways you can provide the most value to customers. Then you’ll write user stories for each of your persona types and each step of the journey, based on their needs.
As we’ve already mentioned, it’s best to focus on one persona type per story mapping session to avoid confusion. So, start with the persona who is the best fit for your product or likely represent the largest chunk of your audience first.
Overall, the process could take several days or even several weeks, depending on the complexity of your product (and therefore, the number of steps in the customer journey) and the number of personas.
Getting the most out of User Story Mapping
Who should be involved in user story mapping?
Some folks you might invite to your user story mapping party session include your:
- Subject matter experts (whether product owner, product manager, customer support team member, or someone else who interacts with the customer)
- Business owner
- Developers
- Testers
- Marketer
- UX designer
- Facilitator or Scrum Master (it’s useful if you can get another product manager to facilitate the session)
Tip: Try to keep your numbers below 10 participants. Diverse perspectives are useful, but any more than that and it can get tricky to manage and get input from everyone. All the people present should be able to contribute insights into the personas/product/business, or help estimate how long tasks will take to complete.
Mapping the user stories
Once the backbone is established (and your team agrees on the order), you can put the flesh on it. Under each item in the backbone, go the user stories (steps, processes, and details) that support that activity. This involves some brainstorming and creative thinking.
Encourage your team to imagine the different options available to the user, how they might want to experience each step in the backbone, and actions they might take. It can't hurt to do a paper prototyping session alongside your user story map to mock up ideas as you go. Or perhaps that step will come later, depending on the scenario and maturity of your team.
Sequencing
Then you can put your user stories in a sequence to deliver maximum value to the customer as quickly and consistently as possible. So, put the most important user stories at the top, and the least important ones at the bottom.
Cut lines or swimlanes
Your team will get together and discuss and estimate the work involved in each user story. After that, you can add cut lines (usually sprint or version lines) to mark out what your team will deliver and when. At this point, you might shuffle some stories around if it makes sense for the user to get them in the same release.
Read ➡️ Anatomy of an agile user story map.
Tips for successful user story mapping
Involve the right people
It can be tricky to get your team and stakeholders together. They’re busy and probably have a plate full of commitments. But it’s always worth getting everyone to set aside time and step away from the keyboard. User story mapping is important - and you’ll need input from everyone so you can:
- Brainstorm stories then prioritize and estimate them
- Get your team to commit to implementing them
Break it up
“Typically, I’d run these things to try and get as much of the planning, personas, and backbone done on day one as possible. By that point, most people are tapped out because the cognitive load is high. Then the team can go away and sleep on it. Once they’ve had time to reflect on it, they’ll come back with other ideas for user stories and thoughts about how they’d do the work before they start sequencing.”
Nicholas Muldoon, Co-Founder @Easy Agile
You don’t have to do your whole user story mapping session in one go. Depending on the size, complexity, and phase of your product, you might not be able to fit it into one day, either.
Instead, break your session up into 2-3 hour chunks and do it over several days. You might do the first session in the afternoon and the next session the following morning. This comes with a few advantages:
- It means you don’t have to get your stakeholders and teams together for an extended period
- You might find it’s a lot easier to coordinate your calendars when you split your sessions up
- It gives your team time to reflect on the initial story map (they’ll probably think of a million new things to add on day two)
- Your team can get lunch after the session is done and debrief over food and drinks 🍻🍔🍕
A single facilitator
While you DO want all your team and stakeholders at your user story mapping session, you don’t want everybody driving the discussion (too many chefs in the kitchen = not a good idea). Instead choose one person to facilitate the session. Sometimes it even works better if you can choose a product manager from another team to run things.
No phones/laptops
For in-person user story mapping sessions, only your designated facilitator is allowed their device. To avoid distractions, ask folks to leave their phones and laptops in a stack at the door. That way, your team can be fully present for all discussions.
Start with data and evidence
Before you get stuck into user story mapping, bring in relevant data and supporting evidence. All of that is great context for what's to come. And of course, you can’t do user story mapping without a clear understanding of who your users are - and what their goals, objectives, problems, and needs are.
So, create your personas before you build out your customer journeys. That way, you’ll understand how your users will engage with the product, and you’ll be able to write user stories that more accurately reflect reality.
User Story Mapping Approaches
User story mapping example
Let’s go through an example of user story mapping to help you visualize the process for your own product.
- Identify product/outcome
In this example, our product is a free online educational kids game. The outcome is for the user to find and play the game.
- List high level activities (in chronological order):
- Navigate to games website
- Log into account (or sign up if a first-time user)
- Search for game
- Choose game
- Play game
- Share with a friend or on social media
- List user stories under each activity
For example, searching for a game could include the following options:
- Free text search - As a parent, I want to search for a specific keyword so I can quickly navigate to a game
- Browse by category: age group - As a parent, I want to find an age appropriate game that my kids will easily pick up
- Browse by category: type of education - As a parent, I want to find a game that will help my child improve their knowledge and skills in a specific area
- Browse by category: game type - As a parent, I want to find a new game that’s similar to one my child already likes
- Order by top rated - As a parent, I want to find a game that’s likely to keep my kid engaged for a while so I can get some work done
- Order by newest/oldest - As a parent, I want to help my child find a game they haven’t already played, to give them a new experience
- Order by most popular - As a parent, I want to help my child find and play the most popular games
- Order stories from most to least valuable to users
Value is identified from analytics on usage patterns, customer interviews, and other insights.
Your team might check feedback forms to see what parents’ top requested features are, and prioritize these first. That way, they’ll deliver more value, more quickly.
Sequence the work so you know what to deliver and when
Your team will estimate the work involved in each user story and decide what stories you can complete for upcoming sprints or releases. They may group stories that are needed to deliver an MVP, or stories that need to get released together - for example, all the “browse by category” features might go live at the same time.
Split it up over releases or sprints
The team sets your cut lines (for the sprint or version), allowing them to distinguish what they think they can deliver in that sprint/version. This will be based on their capacity and what they need to deliver to users for a minimum viable product (MVP).
A user story mapping… story
During his time at Twitter, our Co-Founder, Nicholas Muldoon, facilitated a session for another team whose goal was to figure out how they should fix an issue with the app. This example (in Nick’s words) shows another interesting application of user story mapping, including the types of issues you might work through and how you can hone in on a particular persona or subsection of your audience.
Step 1: Kick off
We started by getting everyone in the room. Attendees included several subject matter experts - not just the immediate team who were working on the project. This included someone from the user authentication team and a UX designer who had worked on password resets in the past.
The product manager kicked off the session by explaining the situation: “A whole chunk of users are having trouble getting into the app because they can’t remember their password. But in order to get them to go through the tedious password reset process, we want to give them value first to show that it’s worth doing. How?”
Step 2: Persona identification
To figure out the next steps and do user story mapping, we needed to narrow down the audience so we could use it as a framing reference or persona. After all, we were looking at a huge audience of 30 million people, not a single persona.
So we asked: who are we not targeting? Then we were able to take out any pro users and government users, which brought the audience size down to 28 million.
Next we asked: what’s the easiest place to experiment and test this? At the time, there was a feature we couldn’t access on IOS, so we went with Android. Plus, we had great relationships with the US-based phone carrier, AT&T. So we looked at our audience of Android users on AT&T in the US, which left us with a much more reasonable audience size of 3 million people.
We used this persona to experiment with this particular feature without touching all the different use cases.
Step 3: The big steps
Once we’d outlined the persona we were going to focus on, we could talk about what’s in or what’s out. So, we talked about the big steps, like:
- They’re on the Android home screen
- They open up the app
- They see all the features
- They attempt an action (Tweet, like, or retweet)
- They perform a password reset
- These customer-facing epics form the backbone of the user story map.
Plus, in this session, we also included technical epics for stuff we needed from other teams at Twitter. For example, this team didn’t control all the authentication, so they added a technical epic to have a conversation with another team to get that piece on their backlog so they had everything they needed for the experiment.
Step 4: The stories
As we fleshed out the epics, we built out the user stories below each of them.
Step 5: Cut lines
Typically, your team would do estimation and cut lines at this point, but we didn’t need to because timing was less relevant. We had to include all the essential stories to successfully run the experiment.
We did our user story mapping physically on a whiteboard, so we used tape to separate what was in and out of sprint one, two, and three. We had the backlog on the right hand side, which consisted of anything we’d discussed that we couldn’t include this time, but we wanted to come back to later. Maybe some items weren’t applicable to this persona, or we’d come back to it for IOS.
In other scenarios, we’d order the stories based on what we understood would provide the most value, estimate with story points, and then plan the capacity for a week or fortnight of work, based on historical velocity. Then we’d sequence the stories into sprint and versions. Sequencing might involve moving up something of lower customer value because you can fit it in. You might also need to break down a bigger or riskier story and split it into two user stories.
Throughout the process, everyone had the opportunity to voice their opinions (there’s nothing more frustrating than not being heard or listened to) and we’d put it on the board. One of my roles as the facilitator was to manage everyone in the room - from the quietest person to the most outgoing person.
If someone was being quiet, I’d pull them into the discussion and ask them for their thoughts directly. It’s important to pull in from different participants to get a holistic vision or understanding. Because at the end of the day, the purpose of user story mapping is to get the team on the same page. If the team sets off and they haven’t bought into the vision, they’ll soon find that everyone has a different understanding of what’s meant to happen. It’s less about the process, and much more about the alignment of the team.
Results 🏆
As a result of this user story mapping process, the project took a new direction where the app would use the device identifier along with the username to figure out who the user was before they log in. This would allow them to get straight into the timeline so they can get value.
But if they wanted to complete any actions (like Tweet, RT, or like a Tweet), they’d need to put in a password (and would hopefully be engaged enough to complete the process). Overall, it was a very successful user story mapping session!
Physical vs digital user story mapping
So, now that you know the steps in user story mapping, how do you actually implement them?
Traditionally, user story mapping is done physically. You get your team in a room, write out the backbone and user stories on post-it notes, arrange them on a wall, and use a string to represent the cut lines or swimlanes.
It might look a bit like this:
But this process does come with some challenges:
- You’ll have to find and book a room for a day (or longer if you need to map a complex product and user journey)
- We all know that post-it notes have a tendency to lose their stickiness and fall off the wall (even if you totally nail your peeling technique)
- Even if you involve remote team members using video conferencing, it’s tricky for them to read post-its - and of course, much harder for them to contribute
- A team member will still need to enter all the data into Jira once your user story mapping session is done (it’ll look like the below screenshot, which doesn’t resemble your physical story map too much)
“When I worked at Twitter, they tried to do physical user story mapping over video conferencing to include distributed team members. It was challenging. There’d be a lot of ‘Hey Nick, what does this say?’ and I’d need to read it out or type it out on chat.”
Nicholas Muldoon, Co-Founder @Easy Agile
That’s why it’s often better to use a tool or app to do your user story mapping digitally.
While there are a couple of user story mapping apps and software options, the most efficient approach is to use a user mapping tool that integrates directly with Jira.
That way, you don’t have to transfer your work into Jira - your team can move straight into working on their top priority stories as soon as you wrap up your mapping session.
Read ➡️ User Story Mapping for Remote Teams
If the last year is anything to go by, read more on: User Story Mapping for Remote Teams
Jira + Easy Agile TeamRhythm
Jira on its own doesn’t allow you to do user story mapping. It doesn’t replicate the physical session with sticky notes and an X axis. The best it can do is a flat backlog - and hopefully by now, you know that’s not good enough for most teams.
Fortunately, you can run a digital and collaborative story mapping session right inside Jira with Easy Agile TeamRhythm, which is an add-on for Jira.
Here’s how it works:
Add user story mapping capabilities to Jira
Add Easy Agile TeamRhythm to your Jira account. You can get started with a free 30-day trial.
If you open TeamRhythm from an agile board that’s already in use, it’ll automatically get populated with your board’s data, with current issues added to the backlog panel in the right hand panel. But don’t worry - you can easily edit this data. And if it’s a new agile board, you can easily add your backbone, stories, and swimlanes from scratch.
Set up your backbone
Across the top of the board you’ll create a horizontal row of epics (if you already have epics associated with your board, this will be pre-populated). Each epic represents an activity of the users flow through the product. This is often referred to as the 'backbone' of the story map.
These epics can be dragged and dropped and the order of the epics will be reflected on the backlog using Jira ranking.
Creating new epics right inside the story map is simple with Easy Agile. Simply click the “Create Epic” button in the top right of the screen. Add the name and description, then click “Create”. Scroll to the far right of your story map to find your new epic.
Don’t worry about getting everything perfect right away. You have the ability to edit them in-line later.
Add the flesh (or stories!)
Beneath each epic on the backbone, you’ll see any linked User Stories that are ordered by rank. To add a new story, hover over the space where you want to create your story and click “new”. Enter the name of your story and select your issue type from the drop-down (e.g. task, story, or bug). You can also access the Backlog panel to add existing stories or issues - simply click “existing”, search for your issue, and add it.
You can also drag issues in from the backlog panel.
And just like epics, you can edit your stories in-line by clicking on the name of the issue.
Order your epics and stories
Now, put your epics and stories in order. Your epics should reflect your customer’s journey from beginning to end. And your stories should be ordered by the value they deliver to customers.
In Easy Agile apps, you can click and drag to rearrange your stories and epics. And if you move an epic, the associated stories underneath will move with it.
Estimate work
Hover over the estimate field (the gray number on the bottom of each story item). Click to add or edit story points.
Read ➡️ Agile Estimation Techniques
Add and arrange swimlanes (version/sprint)
Now it’s time to decide what issues your team will tackle when by horizontally slicing up the work. Click on the swimlanes button in the top right. You can choose to sequence work by sprints or versions (depending on whether you’re Scrum or Kanban*). Your sprints or versions will appear in chronological order on the story map, and there’s an “add sprint” button at the bottom of the story map where your team can add additional sprints and versions.
* With Kanban, you’d typically sequence work into versions, as there is no sprint. This can help your team whittle down the long list of stories into the 'now' and 'future' buckets.
You can easily drag and drop stories, mapping them to the appropriate swimlane.
Check team velocity to avoid over committing your team during each sprint or version. Hover over the “Not started”, “In progress”, and “Done” indicators on the far right of the sprint or version swimlane to see how your story points are tracking across all the stories and issues. If you have too many story points, you can move some stories to the next sprint or version.
Read ➡️ Agile Story Points: Measure Effort Like a Pro
Try out different views
You can search or create a Quick Filter based on a text search (e.g. contains "As a parent"). Or if you’re using our other product, Easy Agile Personas, we have a tutorial on how you can create a Quick Filter by persona. That way, you can refine your story map and narrow in on what’s really important to you.
Get to work!
All changes made inside the story mapping session are automatically reflected in Jira, so your team can leave the story mapping session ready to start their work.
Get started with Easy Agile TeamRhythm
Easy Agile TeamRhythm works out of the box with your existing backlog (so getting started is super quick and simple). But it gives you that extra dimension to help bring your backlog to life. It’s aliiiiive!
Want to check it out for yourself? We have two options:
Easy Agile TeamRhythm Free Trial
OR play around with our demo (no installation or sign-up needed) :-)
But don’t just listen to us. Here’s what some of our customers have to say:
Jira software is great for following activities and backlogs, but it’s easy to lose the vision of your product without user story mapping. Easy Agile User Story Mapping allows the teams to communicate - not only about activity but also the vision of the product. Some of our teams regularly refer to this tool for retrospectives, and it helps them make the product their product.
- Paul Flye Sainte Marie, Agile and Tools Referent @Kering
We’ve found that Easy Agile User Story Maps brings the team together in one room. As a result, we find ourselves mapping more as a group, which creates a common understanding. Since using the add-on, we’ve been able to speed up planning and more efficiently conduct large story mapping exercises.
- Mike Doolittle, Product Director @Priceline
Since using Easy Agile User Story Maps, we’ve improved our communication and team alignment, which has helped give us faster results.
- Casey Flynn, Distribution Forecast Analyst @adidas
Easy Agile User Story Maps has helped us visualize our workload and goals, as well as speed up our meetings. We love the simplicity!
- Rafal Zydek, Atlassian Jira and Confluence Expert Administrator @ING Tech Poland
See what all the fuss is about
Start your free 30 day trial
Psst: It’s the fastest growing and highest-rated story mapping app for Jira! You’re going to love it.
6 ways to keep your story map alive
Speaking of bringing things to life, we’ve got a few final tips...
Your user story map is designed to be a living, breathing thing so that it can help your team continuously deliver value to your customers. But you’ll miss out on these benefits if your team doesn't continually use it, reflect on it, and refine it.
Here are 6 ways you can keep your backlog alive:
1. Progress tracking
As your team delivers releases, they can visually track their progress against the user story map. With Easy Agile User Story Maps, updates in Jira are reflected directly in the user story map so you can check what percentage of work has been completed. This enables you to identify problems early on and adjust your team’s workload (and future versions/sprints) if needed.
2. Backlog grooming
The purpose of backlog grooming is to maintain a healthy, up-to-date product backlog, ready for efficient sprint planning. A few days before your sprint planning meeting, your product manager will:
- Delete user stories that aren’t relevant anymore
- Create new user stories as needs become clearer
- Assign and correct estimates
- Split user stories that are too big
- Rewrite stories to make them clearer
- Ensure stories are ordered by priority
- Make sure stories at the top are ready to be delivered
It’s much easier to do this using Easy Agile User Story Maps (rather than a flat backlog) because your product manager and team can see all the contextual information. They can shuffle the order around by clicking and dragging, and can quickly update issues with in-line editing.
3. Sprint/release planning
Sprint planning is done at the beginning of every sprint. It’s designed to help your team agree on a goal for the next sprint and the set of backlog items that will help them achieve it. This involves prioritizing backlog items (this should be straightforward, thanks to backlog grooming) and agreeing on what items your team has capacity for during the sprint. Sprint planning sessions tend to run a lot more smoothly when you refer to your user story map. With Easy Agile User Story Maps, you can update your story map with backlog items as you go, and all your changes are reflected in Jira so your team can start work on the sprint straight away.
4. Sprint reviews
At the end of each sprint, your team will do a sprint review to see whether the goal was achieved and that your increment led to a working, shippable product release. Your product manager will look at the “Done” items from the backlog, and the development team will demonstrate the work they’ve done.
The team talks about what went well, any problems, and how they were solved or could be solved. They review the timeline, budget, and potential capabilities for the next planned product release, which puts the gears into motion for the next backlog grooming and sprint planning session.
Introduction to Sprint Reviews PDF
In Easy Agile User Story Maps, you can easily filter your view to show “done” issues, see sprint statistics, and update story point estimates. That way, you can do a quick and collaborative sprint review meeting, right inside Jira.
5. Roadmaps
You can use your story map to communicate your roadmap with stakeholders and share the product vision. With your upcoming releases and sprints mapped out, it’s easy to see which parts of the customer journey are going to see an update or improvement, and when.
6. Retrospectives
Retrospectives are often held at the end of your sprint or release. Or you might hold them after an event, presentation, every month, or every quarter. Retros are used to help your team reflect on what’s gone well, what could have gone better, and what they’d do differently next time. Your user story map can give your team a visual point of reference during retrospectives, and help them stay focused on the user.
How to learn more about user story mapping
We’re almost at the end, but don’t stop here! There’s so much more to learn if you want to go deeper with user story mapping.
Here are some resources worth looking into:
User story mapping books
Jeff Patton wrote THE book on user story mapping, called User Story Mapping: Discover the Whole Story, Build the Right Product. Jeff was the original user story mapper - at least, he’s credited with inventing the concept and practice.
User story mapping articles
Here are some articles written by us over the last few years:
Story maps - A visual tool for customer focused development (this one has a great video)
How to write good user stories in agile software development
The difference between a flat product backlog and a user story map
Anatomy of an agile user story map
That’s it! You’ve finished the user story mapping ultimate guide! 👏
You have all the tools and info you need to…
- Run your first user story mapping session
- Do story mapping more effectively (and confidently)
- Get more from your story map
- Prioritize your work to deliver maximum value to customers, as quickly and as often as possible
- Work more collaboratively
- Accurately schedule your work
- Understand the why behind the work
Go forth and story map! And let us know how you go.
If you have any questions about user story maps, we’d love to hear from you. You can contact us or send us a tweet @EasyAgile. We’ll update this guide as we come across more user story mapping tips, techniques, and frequently asked questions.
- Workflow
How to Write User Stories in Agile Software Development
Sometimes the idea of writing user stories can seem like another "thing" on top of an already busy workload. But for software development teams who are looking to lead their own improvement and deliver software that works for their customers, writing effective user stories is the first step.
If you’re reading this post, it means you want to learn what will work best for the people who use your software, and improve how you approach software development. That's great! Our goal at Easy Agile is to help you do that.
So let’s start with why good user stories are important.
Why write user stories?
You may wonder why you should write user stories rather than writing features or tasks instead.
If this sounds like you, you might not yet have seen the value of writing user stories, and that they serve a very different purpose to writing features or tasks.
It’s easy to get buried in a cycle of feature development that lacks context. The objective becomes more about clearing your way through a large backlog than building solutions that add value for your customers. To build successful software, you need to focus on the needs of the people who will be using it. Your human customers. User stories bring that context and perspective into the development cycle.
What is a user story?
A user story helps agile software development teams to empathize with their customers. Written from the customer (or user) perspective, user stories help the development team understand what they need to build, and why they need to build it.
User stories are simplified, high-level descriptions of a user’s requirements written from that end user’s perspective. A user story is not a contextless feature, written in “dev” speak.
A User Story = the 'what'
A user story describes a piece of functionality from the point of view of the user.
User stories divide features into business processes.
A task = the 'how'
Tasks are the activities that need to be performed to deliver an outcome.
Tasks are individual pieces of work.
How do we write user stories?
You might like to think of a user story as an ‘equation’:
As a [user] + I want [intent] + so that [value]
Let’s break this down further;
As a [user] — this is the WHO. Who are we building this for? Who is the user?
I want [intention] — this is the WHAT. What are we building? What is the intent?
So that [value] — this is the WHY. Why are we building it? What is the value for the customer?
Let’s look at a few simple examples;
As an internet banking customer
I want to see a rolling balance for my everyday accounts
So that I can keep track of my spending after each transaction is applied
OR
As an administrator
I want to be able to create other administrators for certain projects
So that I can delegate tasks more efficiently
Following this equation, teams should make sure that their user stories are ticking all of the following checkboxes:
To write successful user stories:
- Keep them short
- Keep them simple
- Write from the perspective of the user
- Make the value or benefit of the story clear
- Describe one piece of functionality
- Write user stories as a team
- Use acceptance criteria to show an MVP.
Acceptance Criteria
User stories allow agile teams to balance the needs, wants and values of their customers with the activities they need to accomplish to provide that value.
The link pairing these two things together is acceptance criteria.
Acceptance Criteria or ‘conditions of satisfaction’, provide a detailed scope of user requirements. They help the team understand the value of the user story and help the team know when they can consider something to be done.
Acceptance Criteria Goals
Acceptance criteria should:
- clarify what the team should build before they start work
- ensure a common understanding of the problem or needs of the customer
- help team members know when the story is complete
- help verify the story via automated tests.
Let’s look at an example of a completed user story with acceptance criteria:
As a potential conference attendee, I want to be able to register for the conference online, so that registration is simple and paperless.
Acceptance Criteria:
- Conference Attendance Form
- A user cannot submit a form without filling out all of the mandatory fields (First Name, Last Name, Company Name, Email Address, Position Title, Billing Information)
- Information from the form is stored in the registration database
- Protection against spam is working
- Payment can be made via Paypal, Debit, or Credit Card
- An acknowledgment email is sent to the attendee after submitting the form
With this in mind, teams should make sure that their acceptance criteria considers all of the following:
- Negative scenarios of the functionality
- Functional and non-functional use cases
- Performance concerns and guidelines
- What the system or feature intends to do
- End-to-user flow
- The impact of a user story on other features
- UX concerns
Acceptance criteria should NOT include the following:
- Code review was done
- Non-blocker or major issues
- Performance testing performed
- Acceptance and functional testing done
Why?
Your acceptance criteria should not include any of the above, because your team should already have a clear understanding of what your Definition of Done (DoD) includes, for instance:
- unit/integrated testing
- ready for acceptance test
- deployed on demo server
- releasable
Writing effective user stories is a valuable practice that will help you and your team deliver software that stays relevant for your customers.
When you embrace user stories as more than just another task on your checklist, but instead view them as an essential tool for creating context and value for your projects, you can stay connected with your ultimate focus - your customer.
Transform your backlog into a meaningful picture of work to gain context for sprint and version planning, backlog refinement, and user story mapping.
Stay focused on your customers
- Agile Best Practice
The Problem with Agile Estimation
The seventh principle of the Manifesto for Agile Software Development is:
Working software is the primary measure of progress.
Not story points, not velocity, not estimates: working software.Jason Godesky, Better Programming
Estimation is a common challenge for agile software development teams. The anticipated size and complexity of a task is anything but objective; what is simple for one person may not be for another. Story points have become the go-to measure to estimate the effort involved in completing a task, and are often used to gauge performance. But is there real value in that, and what are the risks of relying too heavily on velocity as a guide?
Agile estimation
As humans, we are generally terrible at accurately measuring big things in units like time, distance, or in this case, complexity. However, we are great at making relative comparisons - we can tell if something is bigger, smaller, or the same size as something else. This is where story points come in. Story points are a way to estimate relative effort for a task. They are not objective and can fluctuate depending on the team's experience and shared reference points. However, the longer a team works together, the more effective they become at relative sizing.
The teams that I coach have all experienced challenges with user story estimation. The historical data tells us that once a story exceeds 5 story-points, the variability in delivery expands. Typically, the more the estimate exceeds 5 points, the more the delivery varies from the estimate.
Robin D Bailey, Agile Coach, GoSourcing
Scale of reference
While story points are useful as an abstraction for planning and estimating, they should not be over-analyzed. In a newly formed team, story points are likely to fluctuate significantly, but there can be more confidence in the reliability of estimations in a long-running team who have completed many releases together. Two different teams, however, will have different scales of reference.
At a company level, the main value I used to seek with story points was to understand any systemic problems. For example, back when Atlassian released to Server quarterly, the sprints before a release would blow out and fail to meet the usual level of story point completion. The root cause turned out to be a massive spike in critical bugs uncovered by quality blitz testing. By performing better testing earlier and more regularly we spread the load and also helped to de-risk the releases. It sounds simple looking back but it was new knowledge for our teams at the time that needed to be uncovered.
Mat Lawrence, COO, Easy Agile
Even with well-established teams, velocity can be affected by factors like heightened complexity with dependencies scheduled together, or even just the average number of story points per ticket. If a team has scheduled a lot of low-complexity tickets, their process might not handle the throughput required. Alternatively having fewer high-complexity tickets could drastically increase the effort required by other team members to review the work. Either situation could affect velocity, but both represent bottlenecks.
Any measured change in velocity could be due to a number of other factors, like capacity shifting through changes in headcount with team members being absent due to illness or planned leave. The reality is that the environment is rarely sterile and controlled.
Relative velocity
Many organizations may feel tempted to report on story points, and velocity reports are readily available in Jira. Still, they should be viewed with caution if they’re being used in a ‘team of teams’ context such as across an Agile Release Train. The different scales of reference across teams can make story points meaningless; what one team considers to be a 8-point task may be a 3-point task for another.
To many managers, the existence of an estimate implies the existence of an “actual”, and means that you should compare estimates to actuals, and make sure that estimates and actuals match up. When they don’t, that means people should learn to estimate better.
So if the existence of an estimate causes management to take their eye off the ball of value and instead focus on improving estimates, it takes attention from the central purpose, which is to deliver real value quickly.Ron Jefferies
Co-Author of the Manifesto for Agile Software Development
Story Points RevisitedSeeking value
However, story points are still a valuable tool when used appropriately. Reporting story points to the team using them and providing insights into their unique trends could help them gain more self-awareness and avoid common pitfalls. Teams who are seeking to improve how they’re working may wish to monitor their velocity over time as they implement new strategies.
Certainly, teams working together over an extended period will come to a shared understanding of what a 3 story point task feels like to them. And there is value in the discussion and exploration that is needed to get to that point of shared understanding. The case for 8 story points as opposed to 3 may reveal a complexity that had not been considered, or it may reveal a new perspective that helps the work be broken down more effectively. It could also question whether the work is worth pursuing at all, and highlight that a new approach is needed.
The value of story points for me (as a Developer and a Founder) is the conversations where the issue is discussed by people with diverse perspectives. Velocity is only relatively accurate in long-run teams with high retention.
Dave Elkan, Co-CEO, Easy Agile
At a company level, story points can be used to understand systemic problems by monitoring trends over time. While this reporting might not provide an objective measure, it can provide insights into progress across an Agile Release Train. However, using story point completion as a measure of individual or team performance should be viewed with considerable caution.
Story points are a useful estimation tool for comparing relative effort, but they depend on shared points of reference, and different teams will have different scales. Even established teams may notice velocity changes over time. For this reason, and while velocity reporting can provide insights into the team's progress, it must be remembered that story points were designed for an estimation of effort, rather than a measure. And at the end of the day, we’re in the business of producing great software, not great estimates.
Looking to focus your team on improvement? Easy Agile TeamRhythm helps you turn insights into action with team retrospectives linked to your agile board in Jira, to improve your ways of working and make your next release better than the last. Turn an action item into a Jira issue in just a few clicks, then schedule the work on the user story map to ensure your ideas aren’t lost at the end of the retrospective.
Many thanks to Satvik Sharma, John Folder, Mat Lawrence, Dave Elkan, Henri Seymour, and Robin D Bailey for contributing their expertise and experience to this article.