August 10, 2022

User stories in Agile – all you need to know

Jerzy Żurawiecki Content Specialist @BigPicture

Customers are vital to Agile projects. After all, the framework’s goal is to provide them with value in short increments. The end user’s needs are considered at a very early stage of a project. That’s why when Agile teams create a Product Backlog, they utilize user stories extensively.

Let’s dive deeper into user stories. Read the article to find out what they are, how to write them, and what makes them valuable in Agile.

What are user stories?

Let’s look at Atlassian’s definition and take it from there: a user story is an informal, general explanation of a software feature written from the perspective of the end-user or customer.

In other words, a user story is a starting point for the developers to get the main information of what should be done while considering the stakeholder’s point of view. That way, the developers respond to the customer’s needs and create a more valuable product.

A user story answers two essential questions:

  • What does the end user want to achieve?
  • What makes it a real need?

The needs distinguish a user story from a task. The latter is simply a described goal, but very often without the information on why a user needs it. With a user story, the description of needs and the feature’s goal are of the utmost importance.

The purpose of user stories in Agile is to convey how a given feature will offer value to the customer.

Who writes user stories in Agile teams?

Some say it should be the Product Owner’s responsibility. However, it is definitely profitable if the entire team understands how to write them. This allows the developers to work closely with stakeholders and think about the product from their perspective. 

Although it’s important to note that the Product Owner is accountable for the Product Backlog. Since User Stories are part of the Product Backlog, the Product Owner can delegate the responsibility of writing them to the team members.

Customers can also write user stories. In fact, it’s the best-case scenario. Unfortunately, it’s not a common practice. Whether customers write user stories or not, the developers and users need to communicate frequently and discuss customer needs.

Stories should be visible to the entire team and anyone who is involved in the product development process. User stories are elements of the Product Backlog. Usually, they are written down on cards, sticky notes, or in PPM software. The last option is especially useful for remote or distributed teams.

One of the benefits of BigPicture is live synchronization with Jira. It means every change made in Jira is reflected in BigPicture straight away. For instance, when a team member creates a new user story or changes its status, BigPicture gets updated automatically. The live sync also works the other way around. When you update a task in BigPicture, the information is sent to your Jira instance. As a result, all of your high-level information is up to date at all times.

Characteristics of user stories in Agile

If you want your stories to be as beneficial as possible, stick to the qualities called INVEST. The acronym contains six crucial traits of good user stories.

The main features of user stories: independent, negotiable, valuable, estimable, small, testable

The benefits of user stories in Agile

Based on the characteristics seen above, it’s clear that this method of describing features has a lot to offer to the development team. There are several perks of user stories in Agile. The most important ones include:

Benefits of user stories: customer-centric, collaborative, creative, helpful in understanding values

The main stages of user stories: the 3C’s

This model was proposed by Ron Jeffries, one of the creators of Extreme Programming. It is widely used in other Agile frameworks, such as Scrum or Kanban, to name a few. These three stages outline a life cycle of a user story:

  • Cards – user stories should be written down and kept in a visible place. 
  • Conversation – user stories leave the door open for a conversation with the end user or customer. During the Conversation part, the whole development team discusses the ideas behind user stories with stakeholders, clients, and end users. It is an opportunity to ask questions, which should give the team answers with detailed information about the scope, the deadline, and the value for the end user.
  • Confirmation – the developers and stakeholders agree on the test that will confirm a story is completed in a satisfactory manner. After all, the developers have to be able to verify whether the execution of the story is in line with the end user’s needs. Part of the confirmation stage is writing down the Acceptance Criteria.

How to write user stories?

Creating effective user stories is a skill that takes practice. However, it’s much easier with a solid foundation. Let’s look at some user story examples and a formula, shall we? This should help you write them more effectively.

Examples of a user story

Virtual meeting app:

  • As a host, I want to record a virtual meeting so that I can send it to those who couldn’t attend live.

Event calendar:

  • As an event organizer, I want to add comments to events in the calendar so I can provide additional information to the participants.

Project management software:

  • As a project manager, I want to see the status of each task so that I can easily monitor their progress.

User story template

Look at the examples of user stories above. Do they have anything in common? While the details differ significantly, the structure is identical in every user story. Here is the template for a user story structure:

A template for writing user stoiries: as a (persona), I want (action), so I can (benefit)

The last part of the user story is its most important one. Without knowing what the benefit is, it’s much harder to provide what the user actually wants to get out of the functionality – aka the value. 

That’s why a follow-up conversation is so crucial. Otherwise, the developers might create fancy features that look good but won’t provide sufficient value to the end user. And value is a cornerstone of Agile projects.

The needs influence the features, not the other way around. Oftentimes, a well-described need might yield unexpected results. Users might think a given feature is something they want. But in reality, they might benefit more from a completely different functionality.

User stories vs. Epics

As mentioned before, one of the qualities of user stories is the ability to complete each one quickly. Teams often work on stories that pertain to the same area or a subject in the software. When that happens, it’s a good idea to group these stories into one structure. This is where epics come in.

Simply put, an epic is a cluster of related user stories. When Agile teams break down a larger task into smaller chunks, it’s easier to complete it faster. That way, the customer can receive value more often in an incremental manner – it’s the essence of Agile.

User stories and epics live in the Product Backlog. Epics get divided into stories during the Product Backlog Refinement session.

A product backlog contains a prioritized list of user stories

Using epics in project management provides a hierarchy of tasks in a given sphere of a product.

Managing user stories in PPM software

If you want to track and manage user stories and epics easily, PPM software like BigPicture will help you do that. The tool allows you to view epics and corresponding stories, see the progress of each story, track time, create dependencies, assign team members or resources to a given story or epic, and a lot more.

As a result, you have more information to work with, and it’s presented in a hierarchy that helps analyze data more efficiently.

Speaking of presentation, you can view epics and user stories in different ways. From a drop-down list to a kanban-style board, or a grid with allocated resources – BigPicture gives you a wide range of user story visualization options. Combine that with advanced filtering capabilities, and you will quickly find anything you’re looking for and nothing you don’t need to see.

This versatility and abundance of information lets you plan and monitor each iteration easier compared to using a standard Jira instance. Furthermore, making changes is easier thanks to in-line editing and drag and drop. You won’t need to delve into the depths of Jira to adjust assignees, work estimates, dependencies, or epics.

In-line editing in BigPicture

To put the cherry on top, the PPM software will help you see all your information in a wider context thanks to various aggregation units.

Acceptance Criteria

Another aspect of a user story is testability. After all, the team must be able to verify whether the execution of a user story meets the end user’s needs. Agile teams use Acceptance Criteria for that. They are defined as the conditions that a software product must meet to be accepted by a user, a customer, or other systems.” 

The developers, Product Owner, and a user discuss the criteria that define the success or failure of a given functionality. This allows the end user to provide additional information about the desired functionality. It’s also helpful for the developer for that very reason. It’s a crucial concept for user stories in Agile. Until a user story meets the Acceptance Criteria, it can’t be considered done.

Let’s take a look at some examples based on the user stories mentioned previously:

Acceptance criteria and user stories – examples

Now you should know a bit more about user stories in Agile. It’s a great way of looking at future features from a user’s point of view. It fits the mold of the methodology, that’s why Agile teams use them to plan upcoming work.

Whether your team works with user stories in Agile or SAFe®, BigPicture gives you everything you need to plan, manage, and modify them easier and faster than ever. Check out our PPM software tool and manage your projects smarter.