Co-founder & CEO at stepsize.com, SaaS to measure & manage technical debt
Every person in your company probably has a different opinion about what's the company's biggest priority. But which project should be prioritised? Fortunately, there are great methods to help you prioritise your product backlog.
This article will cover the following topics:
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 prioritisation. It's not selling a particular framework, workshop, or ideology. Instead, it provides an opportunity to look at the different ways people interpret and prioritise 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.
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:
As mentioned, there are plenty of people who have made money out of organising 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. 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.
2. Stack Ranking
One of the commonly used methods is stacked ranking—the act of taking your list of items that need prioritisation 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 prioritising things in terms of High/Medium/Low
The categories are:
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 prioritised 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 prioritise 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 bottleneck 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. Prioritise based on context
One of the best tools that helps you understand user behavior, including user flows and user pain points is data. Using a product such as Stepsize can also help to quantify the financial impact of technical debt. Stepsize is a free platform that allows users to add context to their code, like hours lost, quality issues, and customer impact.
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 from tech debt prioritisation from Stepsize.
Previously published at https://www.stepsize.com/blog/how-to-prioritise-your-product-backlog
Create your free account to unlock your custom reading experience.