Product backlog

Product Backlog: Full Guide with Examples

In the world of Agile development, trying to build a successful product without a well-maintained backlog isn’t the best decision. But what is a product backlog, and why is it so crucial? In this post, we'll dive deep into its essence and explore the best practices that will keep it in top shape.

What is a product backlog?

As defined in the Scrum Guide, a product backlog (PB) is “an emergent, ordered list of what is needed to improve the product.” In other words, it’s a dynamically changing document that defines all the work items (functionalities, enhancements, and fixes) that are planned on a product – sequenced by their priority.

Why make a product backlog?

Product backlogs help organize the development team’s work. When planning the next sprint or iteration, team members take the items from the top of the list and commit to completing them by the end of the sprint.

The team only works on tasks from the backlog—if something isn’t there, it won’t be done. However, having an item in the backlog isn’t a commitment, and it doesn't necessarily mean it will be delivered. Sometimes, it can be an idea that will not be approved by the customer or will turn out to be of little value.

Who is responsible for a product backlog?

In Scrum, a product owner (PO) is the person responsible for managing the PB. However, in reality, the roles are often muddled, so it can be a product manager, a business analyst, a project manager – or any combination of these or other roles.

How is the product backlog different from other documents?

While product backlogs are intertwined with other documentation such as product roadmaps or requirements specifications, they serve a distinct purpose.

A backlog is created based on the vision and strategy outlined in the roadmap. Roadmaps give a broader view of where the product is headed and are a higher-level document than a PB that’s focused on the actual development tasks.

A requirements specification that includes information about system functionality and behavior also supports backlog creation, often serving as a source of concrete user stories that are to be completed.

We assume that you have your product roadmap ready and all the functional and nonfunctional requirements defined. So let’s jump right into the practical stuff and see how we create a backlog from scratch.

How to create a product backlog?

One of the initial things to do is decide on the format of the backlog itself.

Backlog format: flat backlog vs story mapping

A flat backlog is a simple, linear list of all your product backlog items (PBIs), organized by priority in descending order of importance. Since it’s easy to understand and maintain, it’s a good option for small teams or simple products.

On the flip side, it’s harder to see the bigger picture or how individual stories contribute to the overall product vision. Also, as the product grows, a flat backlog can become overwhelming and cluttered, making it harder to track dependencies and the progress of larger features.

Story mapping is a visual approach that organizes user stories along two dimensions: the user journey (horizontal axis) and the priority (vertical axis). It provides a more holistic view of the product, showing how different features and stories fit together.

Story mapping makes it easier to manage complex products with multiple features, as you can see the relationships between different stories. However, it requires more effort to set up and maintain. In addition, not all backlog management tools support this layout.

a flat backlog and a story map

A simplified view of a flat backlog and a story map

There’s also a hybrid approach when you maintain a flat backlog for day-to-day tasks but adopt story mapping for strategic planning sessions. You can map out the high-level user journeys and features and then break them down into a flat backlog for execution.

As a general recommendation, a flat backlog is the best choice for teams that prefer simplicity and have a relatively straightforward development process. A story map works better if a product has a complex user journey and you need a visual, contextual approach to managing features and releases.

If you’re not sure what’s best for you, start with a flat backlog. As the product becomes more complex, you can always transition to a story map.

Whichever format you choose, you’ll have to flesh it out with items that describe all the functionality you want in the product. Let’s briefly go through the most common types of items that you’ll be using.

Product backlog items (PBIs)

Product backlog items (PBIs) are its components, similar to the entries on the to-do list. They come in various formats.

product backlog items

Types of product backlog items

Epics are large pieces of work that are often added as a general description of the desired flow or functionality – to be later broken down into smaller, more manageable stories or tasks.

User stories are short, simple descriptions of desired functionality told from the perspective of the end user. In most cases, user stories will make up the biggest part of the product backlog since essentially they are the ones that guide the development process.

Tasks are specific actions that need to be completed as part of user stories or epics. They are more granular and provide detailed instructions on what must be done on the front or back end.

Bugs are defects or issues in a product that require fixing to ensure it functions correctly.

Technical debt (also known as tech debt and code debt) is extra work or rework that arises when quick and easy solutions are chosen instead of more efficient, but time-consuming, ones. It's like borrowing time by taking shortcuts, which saves effort now – but has to be "repaid" later with interest through additional work to fix or improve the code.

Enhancements and improvements include revisions and additions to existing features that make them more efficient or user-friendly. They are often recorded as improvement ideas for further discussion.

Knowledge acquisition is additional research needed to progress on the project. It’s included as a separate backlog item when, for example, requirements aren’t clear, or when the team has to estimate the effort needed to complete a user story they know little about.

In most cases, backlogs have different types of items simultaneously. You can agree on the preferred ones with the team. For example, some teams add an item, say, a bug fix or an enhancement idea, as a preliminary version and then transform or decompose it to a more actionable user story format or a task during grooming.

Adding PBIs to the backlog

As you start filling your backlog, first list the epics that describe the user flow. They’ll serve as the project's backbone. Then, you can break them down into smaller items, describing specific functionalities or activities that have to be completed.

If you’re creating a backlog for an existing product, you might as well first list the major work blocks – or go with more specific items such as additional functionality, enhancement ideas, bug fixes, and so on.

Whatever the case, at this stage, it’s better to keep the items big and capture them at a high level. You don’t want to overcrowd your initial backlog by going into too much detail and listing thousands of smaller tasks. Also, don’t worry about their priority just yet—you’ll work on the order later.

Most backlog management tools have a separate epics menu or panel. For example, in Jira, one of the most popular platforms, you can view your epics on the Timeline, Backlog, or Board. You’ll also be able to see and modify the details related to each epic, including

  • name and summary,
  • start and due dates,
  • completion status,
  • child issues (any PBIs related to this epic), and so on.
Epic details in Jira

Epic details in Jira. Source: Atlassian

Once you have your epics ready, you can start filling them with smaller pieces of work (in Jira, they are called child issues), such as user stories, tasks, or bugs. All the created child items will have a parent epic shown, so you always know what they are related to.

parent epics are shown as colored labels

In Jira, the parent epics are shown as colored labels on the right. Source: Atlassian 

When adding backlog items, you can fill out such details as

  • summary,
  • assignee,
  • estimate,
  • parent, and
  • priority.

At this point, you probably wouldn’t know their priority, estimate, or who to assign it to, but you can add this information later.  

Listing the linear product functionality seems easy so far, doesn’t it? But what if the items in the backlog are interrelated? How should they be marked?

Related and dependent items in a backlog

Most backlog management tools allow you to link related items. For example, you can link a user story that has to be completed together with another story.

Linking issues in Jira

Linking issues in Jira. Source: Atlassian Community

Add notes or comments to the dependent item explaining what it depends on and how. It’s also worth using different labels, icons, or colors to mark soft and hard dependencies.

Soft dependencies mean you can work on an item, but they might impact some other flow or development of another item.

Hard dependencies are also called blockers. Basically, that means you can’t proceed with an item until a specific issue is resolved. In Jira, you can flag an item so that it turns yellow on the list notifying the team of the blocked status.

Hopefully by now, you have a bare to-do list of work items. In this form, your backlog isn’t really actionable yet. So what’s next?

Product backlog management

Product Backlog Management is the act of adjusting and ordering items on the Product Backlog so that the Scrum Team can deliver the most valuable product possible.

Now, you have to prioritize your backlog items so that the team knows what to start working on first.

Prioritizing backlog items

Prioritizing backlog items means ranking them based on their value, business impact, urgency, and required effort.

Numerous prioritization techniques exist, such as MoSCoW, RICE, KANO, Walking Skeleton, and so on. The choice largely depends on the product lifecycle stage, project context, available resources, and, well, the PO’s personal preference.

You can learn about different prioritization techniques from our detailed overview or from our expert video below.

Prioritization in Product Discovery and DevelopmentPlayButton
Watch our product manager Romana explain the main prioritization methods

Whichever technique you use, it must allow you to place high-priority items at the top of the backlog, ensuring the team works on the most important features first.

To prioritize your PBIs in Jira, you can use one of the plugins, such as Backlog Prioritization for Jira.Pro or Foxly. These apps support multiple frameworks and also allow you to create custom ones.

RICE prioritization

RICE prioritization with Foxly. Source: Atlassian Community

Now that you know your most important and urgent items, it’s time to discuss them with the team.

Backlog refinement (backlog grooming)

Product Backlog refinement is the act of breaking down and further defining Product Backlog items into smaller more precise items.

Backlog refinement (also called backlog grooming or story time) is an ongoing process of reviewing the backlog to ensure that backlog items are well-prepared for future sprints. It involves the product owner and the development team working together on such activities as

  • discussing top PBIs to get a shared understanding of what needs to be done;
  • decomposing larger backlog items like epics into smaller, more manageable user stories or tasks;
  • reordering PBIs;
  • adding details to PBIs such as acceptance criteria, assignees, and any necessary technical details to avoid ambiguity and ensure all items have clear and specific definitions; and
  • estimating effort required for each backlog item using techniques such as Planning Poker, T-shirt sizing, or story points.

Check out our dedicated post for more details on backlog grooming.

Note that you don’t have to refine all PBIs. Focus on the items at the top of the list.

As for refinement frequency, a common practice is to hold the session before planning the next sprint or iteration. However, this is not strictly dictated by Scrum and should be determined based on current necessity. It can occur multiple times during a sprint if needed, but if the top PBIs are already clear and detailed enough, no further refinement might be required.

A refinement session will allow you to fill out all the missing information about an item, such as the person responsible, estimated effort, etc. You can also reorder the items, split them, add subtasks, and pull the ones for the next sprint from the product backlog to the sprint backlog.

A sprint backlog in Jira

A sprint backlog in Jira. Source: Atlassian

So the key deliverable of backlog grooming is the Sprint Backlog, which consists of clear, actionable items due by the end of the upcoming sprint.

Product backlog vs sprint backlog

While a product backlog contains the scope for the entire project, a sprint backlog is a subset of the product backlog that contains items selected for a specific sprint, along with a plan for delivering them. A sprint backlog is usually more detailed as it contains specific, low-level tasks required to complete higher-level PB items.

In some cases, when multiple teams work on the same project, they share the same PB, but each team has its own sprint backlog.

Another difference between these artifacts is in their ownership: While a PB is created and maintained by a product owner, managing a sprint backlog is usually the responsibility of the development team.

So we can say that a product backlog serves as a source of items that the team selects to complete during the next sprint. To be included, the item must be defined as ready.

Definition of Ready (DoR)

The Definition of Ready in Scrum specifies the conditions that must be met before a work item can be considered ready for inclusion in a sprint. It ensures that all necessary information is available and that the task is clear enough for the development team to start working on it. This typically means

  • having clear acceptance criteria,
  • that dependencies were identified and resolved, and
  • that work is appropriately sized for the sprint.

Essentially, it's a checklist that confirms a task is well-defined and the team is equipped to tackle it efficiently. While every team can create its own DoR checklist, often, the INVEST framework is used. In a nutshell, it helps determine whether an item is independent, negotiable, valuable, estimable, small, and testable.

In Jira, you can create custom fields based on your own DoR checklist, which you will use to ensure that your items are well-prepared.

A DoR checklist in Jira

A DoR checklist in Jira. Source: Brett Day on Cloudwards

Closing items in a backlog

Closing an item in a backlog implies either that it’s successfully completed or the team decided not to work on it. To mark an item as done or completed, you have to check it against the acceptance criteria and make sure that all development work, including coding, testing, and any required integration, is completed.

In Jira, to close an issue, you change its status from “In Progress” to “Done”—or add a custom status, say, “Will Not Fix.” You can also remove the item from the backlog altogether.

Backlog management best practices and tips

Managing a product backlog can be a bit of a juggling act, but with the right procedures, you can keep everything running smoothly. We asked Ruslana Kekalo, the product manager at AltexSoft, to share some practical tips. Here are some of them to help you stay on top of things.

Collaborate with stakeholders. Involve end users, customers, and other stakeholder groups in your discussions to gather feedback and align priorities.

The team doesn’t always know what’s really important for actual product users, or customers might reassess their initial solution requirements. Therefore, establishing a consistent feedback loop is essential to prioritize critical tasks and incorporate user suggestions into the backlog as potential features or improvements.

Ruslana Kekalo, the product manager at AltexSoft

Encourage team discussions. Do your best to engage all team members in discussing PBIs to get different perspectives and discover potential concerns early. Ruslana suggested conducting refinement sessions weekly to have enough time to work out all the details.

Keep it dynamic. Review and adjust your backlog regularly based on new insights, stakeholder feedback, and changing priorities. Don’t let it get too large as it can be too difficult to manage. Revise and declutter the backlog by removing ideas that won’t be delivered.

Add labels. Ruslana recommended using labels to categorize backlog items for easy search and filtering.

Customizing labels in Jira

Customizing labels in Jira. Source: Atlassian Community

Balance technical debt. Don’t forget about technical debt. Include tasks for refactoring and technical improvements in your backlog to maintain code quality.

Use software. Product management tools make it easy to manage your backlog, collaborate, add/remove/split/edit items, prioritize, and track progress.

Visualize progress. Use tools like Kanban boards or burndown charts to visualize progress. Regularly review these with your team and stakeholders to keep everyone in the loop.

Be one step ahead. Make sure you’re well-prepared for the refinement sessions and have the maximum information about the PBIs for several sprints ahead. Ruslana shared that they would typically discuss the stories with the team for 1-2 sprints in advance so that when it’s time to plan the next sprint and make estimations, everyone has all the pieces in place and no time is wasted.

By following these best practices, you can manage your product backlog effectively, ensuring it remains a valuable tool for guiding your development team and delivering top-notch products.

In our overview, we mainly discussed product backlogs in Scrum, but how about other Agile frameworks?

Product backlogs in Agile

While Scrum is the most well-known to use them, product backlogs are inherent in various Agile methodologies. Frameworks like Kanban, Extreme Programming, or Lean also use backlogs in some form to manage and prioritize work effectively.

Product backlog in Scrum

The product backlog is a key artifact and a cornerstone of Scrum. As we’ve already described, the Product Owner maintains it through continuous refinement (backlog grooming).

The Scrum framework

The Scrum framework and the place of a product backlog in it

During sprint planning, a subset of the product backlog is selected to form the sprint backlog, which the team commits to completing within the sprint.

Product backlog in Kanban

Kanban is based on a continuous flow system, where work items (often called "cards") are pulled into the workflow as capacity allows. The emphasis is on visualizing work, improving throughput, and optimizing the workflow rather than working within fixed iterations.

Unlike Scrum, Kanban does not prescribe the use of a product backlog. However, teams often use some form of backlog to manage work. It is usually less formalized and more dynamic compared to Scrum.

a Kanban board

What a Kanban board might look like

Product backlog in Extreme Programming (XP)

Extreme Programming emphasizes continuous feedback, refactoring, and frequent releases, which requires a dynamic backlog that evolves rapidly. So this framework uses a product backlog-like system, but it is typically referred to as a collection of user stories. These stories are kept in a prioritized list managed by the product manager.

XP operates in short iterations (1-2 weeks), and during each iteration planning meeting, the team selects stories from this list to work on. So in essence, the approach is very similar to that of Scrum, but with a stronger emphasis on continuous integration, testing, and customer feedback.

Product backlog in Lean

Lean is more about eliminating waste and optimizing the entire value stream, rather than focusing on specific product backlog management practices. Lean teams may use a backlog to track work items, but the focus is on optimizing the flow of value through the system.

Many Lean teams incorporate Kanban-style boards to visualize and manage work.

Product backlog in Scrumban

Scrumban combines elements of Scrum and Kanban. Teams often use a product backlog like in Scrum but with a more flexible approach to planning and iterations. The backlog in Scrumban is used to prioritize work, but the team pulls items based on their capacity, similar to Kanban.

In summary, while not all agile frameworks require a product backlog, most benefit from some form of backlog to organize and prioritize work. The specific approach to backlog management varies based on the framework’s principles and goals.

Product backlog management tools

As we mentioned, specialized software supports efficient backlog management. Here is a brief overview of a few popular tools and how they can help you handle your product backlog.

backlog management tools compared

The most popular backlog management tools compared

You can also check out our description of the top 20 product management tools to learn about other alternatives.

Jira: robust issue management and extensive customization options

Jira, developed by Atlassian, is one of the most popular tools for Agile project management. It’s highly customizable and supports Scrum, Kanban, and other Agile frameworks, but comes with a harder learning curve than most other tools.

As we described in the post, Jira allows you to create, manage, and share product backlogs, prioritize issues, set deadlines, assign items to team members, and more. It also offers handy reporting features like burndown charts and sprint reports to track progress.

Best for: software development teams in any industry that need advanced backlog management, issue tracking, and Agile framework support.

Trello: a simple, visual approach

Trello is a Kanban-based, visually-oriented project management tool that organizes tasks using boards, lists, and cards. It’s simple to use and great for teams looking for a more flexible, less structured approach.

Trello’s card-based system makes it easy to manage and prioritize backlog items. You can drag and drop cards to reorder them, add labels for easy categorization, and collaborate with team members by adding comments and attachments.

Best for: smaller teams or those who prefer a more visual approach to backlog management.

a Trello board

An example of a Trello board. Source: BiteSite

Monday dev: templates, intuitive interface, and integration options

Monday dev from monday.com is a visually intuitive, highly customizable work operating system. It supports backlog management by offering

  • templates,
  • customizable notifications,
  • visual boards for tracking PBI status, and
  • collaboration options.

It also offers over 200 integrations with popular apps like GitHub, Slack, Microsoft suite, etc.

Best for: teams that need a versatile project management tool with custom workflows and strong collaboration features. It’s a good middle-ground between Trello’s simplicity and Jira’s advanced features.

backlog interface in monday dev

The backlog interface in monday dev

ClickUp: all-in-one productivity platform

ClickUp is a highly customizable, all-in-one work management tool designed to replace multiple tools by offering a wide range of features, automation options, and integrations with other systems.

You can organize and prioritize backlog items using customizable views like lists, boards, and calendars, as well as set priorities, assign tasks, and track progress. Its flexibility lets you tailor workflows to fit your team’s needs and working style.

Best for: teams of all sizes, offering a variety of views and collaboration tools, though it may require some learning to fully utilize its features.

ClickUp backlog view

ClickUp backlog view

Other well-recognized tools include Azure DevOps, Asana, Pivotal Tracker, and ProdPad.

How to choose the right tool

Choosing the right tool can feel like picking the perfect pair of shoes—you want something that fits just right and supports your journey. But just like with the shoes, the selection is huge and that can be intimidating. Here are some things to consider and tips that might help you decide.

Team size and needs. If your team is small, go for something simple like Trello. If you work in a larger team or on a complex project, Jira or Azure DevOps might be a better fit.

Ease of use. Don’t get bogged down by overly complex tools. Check out their interfaces and go for one that your team can pick up quickly and actually enjoy using.

Flexibility. If your worflows require you to customize software and tailor it to your needs, consider monday dev or ClickUp. If you're okay with a straightforward approach, Pivotal Tracker might be your style.

Integration options. Pick a tool that plays well with other platforms you’re using.

Budget. Most tools offer a free version with basic features, but be sure to check the functionality included in subscription plans. Choose what fits your budget without skimping on the essentials.

Comments