DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workkloads.

Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Related

  • A Non-Technical Guide To Adopting Agile Methodology for Your Non-Software Team
  • What Is Agile Methodology?
  • Top Software Development Tools Used by Agile Teams
  • The Trouble with User Stories

Trending

  • Scalable System Design: Core Concepts for Building Reliable Software
  • Fixing Common Oracle Database Problems
  • Stateless vs Stateful Stream Processing With Kafka Streams and Apache Flink
  • Understanding and Mitigating IP Spoofing Attacks
  1. DZone
  2. Culture and Methodologies
  3. Agile
  4. How to Prioritize Your Product Backlog

How to Prioritize Your Product Backlog

Every person in your company probably has a different opinion about what's the company's biggest priority. But which project should be prioritized? Fortunately, there are great methods to help you prioritize your product backlog.

By 
Cate Lawrence user avatar
Cate Lawrence
DZone Core CORE ·
Updated Jul. 27, 21 · Review
Likes (8)
Comment
Save
Tweet
Share
10.1K Views

Join the DZone community and get the full member experience.

Join For Free

This article will cover the following topics:

  1. Product Manager: More Mad Skills than A Cat Herder
  2. What Is the Product Backlog?
  3. What Are the Product Backlog Tasks?
  4. The Importance of Prioritizing Your Backlog
  5. 5 Things No One Mentions About Prioritizing the Product Backlog
  6. Method 1: Impact Effort Matrix
  7. Method 2: Stack Ranking
  8. Method 3: The MoSCoW Method
  9. Method 4: Weighted Shortest Job First
  10. Method 5: Data-driven Prioritization

Product Manager: More Mad Skills than A Cat Herder

Enter the product manager as the unsung hero as the person who has to herd cats and bring everyone and every task together to ensure that deadlines are met, tasks are ticked off, code deployed, and products released. It's not just about keeping everyone focused and to deadline, but being agile enough to strengthen tasks and targets, and the demands of managers and users change. Any good product manager should be intimately acquainted with their product backlog, but how do they decide what to focus on and when?

This article takes a look at the different methods for product backlog prioritization. It's not selling a particular framework, workshop, or ideology. Instead, it provides an opportunity to look at the different ways people interpret and prioritize the product backlog.

What Is the Product Backlog?

A product backlist is a list of tasks required to meet the strategic plans of the product road map. The backlog is about turning that sky-high thinking into actionable tasks, including how-to and by whom. While the product roadmap is big-picture, presenting high-level goals and strategies intended for a CXO audience, a product backlog is the nuts and bolts to-do list, writing (arguably) for those who carry out the bulk of the work — product and development teams.

What Are the Product Backlog Tasks?

Product backlog tasks differ depending on the team. Those using a scrum ideology may refer to 'a user story'. This puts each specific product backlog task into the perspective of the end-user. For example:

"As a (user type) I want to (what they want to accomplish) so that I can (the result they want to achieve)."

However you frame them, these typical tasks or stories can include:

  • Bug fixes.
  • Infrastructure and feature updates.
  • Developing new features .
  • Infrastructure updates.
  • Changes to existing functionalities.
  • Bug fixes.
  • Reducing technical debt.
  • Refactoring.

The Importance of Prioritizing Your Backlog

Your product backlog should be a list of all the product-related tasks your team needs to complete, including the division of responsibility and the time frame. The problem is that the list is not intended to be conclusive. It needs to be flexible and will change according to the other things that are happening. For example, a hotshot product release by a competitor may mean you need to release a product update earlier than expected to compete, meaning everything else gets pushed back.

Even events such as attending conferences (virtual or in-person) may mean that teams may prioritize sales and marketing visible tasks in an effort to connect with new customers. But the problem occurs when tasks keep getting pushed below the list, and the product manager struggles to maintain momentum to review and organize all the tasks in preference and priority. An effective product backlog list needs to be well structured, organized to be easily read and understood, and arranged to meet the company's strategic needs.

5 Things No One Mentions About Prioritizing the Product Backlog

As mentioned, there are plenty of people who have made money out of organizing developers and will want to sell you their "fail-proof" method. Still, there are also plenty of resources bolted onto services you already use. But first, I'd like to make a few points. Whatever methods you choose, five things are necessary to make it work:

  1. The company has a reasonable level of functionality. High staff turnover or absenteeism makes it hard to get tasks completed. I once worked in a company where my department had five different managers in five months. Every time a new one started, the tasks and priorities changed.
  2. The product manager is respected and in a position of authority. This means when they set deadlines or allocate tasks, they are treated as if they were set by the CTO and CEO (or if you're a freelancer, the person who processes your invoices.)
  3. The CXO/Senior management are hands-off enough to allocate responsibility to the product manager and good communicators — if something needs to change, they are able to articulate the reasons instead of simply pulling rank.
  4. Team members are appropriately skilled to complete the tasks (or the company is receptive to hiring higher-skilled freelancers).
  5. There is a process for managing technical debt — especially if it is slowing down teams, causing bugs, and delaying feature releases. If technical debt is not a priority, it will be harder to reduce the product backlog or complete tasks.

Techniques to Prioritize the Product Backlog

1. Impact Effort Matrix

The impact effort matrix plots tasks on a matrix with two axes: level of effort and level of impact. I've seen it done in meetings using a whiteboard and post-it notes. There are also templates in edraw, miro, and sketchbubble. It's a good exercise involving team members from different departments as you get an opportunity to pit the different priorities against each other.

Not convinced? Itamar Gilad shares a well-critiqued analysis of the Impact/Effort matrix that is definitely worth a read.

Impact/Effort Matrix

2. Stack Ranking

One of the commonly used methods is stacked ranking—the act of taking your list of items that need prioritization and ranking them from the most important (top of the stack) to the least important (bottom of the stack).

Advantages? There can only be one number one. This method guarantees you're always delivering the highest value you can, and your team is never working on low-value features. Plus, it's easy to use.

Disadvantages? The priorities will most likely be determined using your intuition backed up with some analytics.

3. The MoSCoW Method

The MoSCoW method is an alternative to prioritizing things in terms of High/Medium/Low.

The categories are:

  • Must have: these tasks are critical to the current delivery timebox in order for it to be a success. If even one 'Must have' requirement is not completed, the project delivery should be considered a failure.
  • Should have: Important but not crucial for delivery.  
  • Could have: these tasks are desirable but not necessary and are to be prioritized only if other things are completed. 
  • Won't have: these tasks are the least-critical. 
MoSCoW Prioritization Chart from KECG

Great chart by KECG.

The problem with the MoSCoW method is that it doesn't help you choose if you, for example, have three tasks in the 'Must have'. Further, it's easy to see new builds prioritized over refactoring if refactoring is always delegated to the 'could have' or 'won't have' categories.

4. Weighted Shortest Job First

The weighted-shortest-job-first (WSJF) principle is used in agile software development to prioritize jobs based on the economics of Lean product development. This is achieved by dividing the Cost of Delay by the time taken to complete the tasks. For example, if I prospective featured would be worth $150k per month, a delay of three months would mean a Cost of Delay of $450K.

There are many different mathematical ways to frame this, but another way is thinking about what a company will lose if something is not attended to or completed. The task that, if not done, results in the most significant loss; this could mean financial and reputational, loss of subscribers, an inability to upsell a related product, or bottlenecks such as a task delaying multiple releases. There'll always be a level of subjectiveness, of course, but perhaps less than trying to determine what task is the most important to whom.

5. Data-driven Prioritization

Maybe you've spoken to the sales team to hear their customer feedback and are following the sentiments of users on social media to understand the problems they are facing. But there's another tool you probably already have that helps you understand user behavior, including user flows and user pain points: data. Using a product such as Stepsize can also help to quantify the financial impact of technical debt.

Ok, We've Prioritized Our Backlog. Now What?

Backlog Meme

Think about the platforms you already use for communications and managing tasks and projects. This is especially important with remote teams, particularly those in different time zones, meaning work happens asynchronously. Don't add to your team's cognitive load by making them use yet another workflow platform. Instead, integrate your backlog into the tools your team already uses, such as Jira, Trello, Monday.com, or Asana, and get extra support with tech debt prioritization from Stepsize.

backlog agile scrum Task (computing)

Published at DZone with permission of Cate Lawrence, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • A Non-Technical Guide To Adopting Agile Methodology for Your Non-Software Team
  • What Is Agile Methodology?
  • Top Software Development Tools Used by Agile Teams
  • The Trouble with User Stories

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!