Why do we need Prioritization ?

We all do prioritization on our every day life, because we have limited time for every set of items to execute, and that’s why we choose the most important actions to execute first and followed by lesser important.

Similarly we prioritize functionality or tasks in software development, because few functionalities are more important than others.

Let me explain few real life situation, and how we prioritize our actions with in that situation, and then will relate those concepts in the situation of software development to prioritize stories in Product Backlog.

Real Life Situation

Software Development

Situation 1

30 min break with in 1 day training, Your phone was switched off during the training, You found 10 missed call during the break. and wants to call back few of them.

Situation 2

Identifying expenses with limited budget.

Situation 3

Visiting remote town far from your home location for business purpose, and planning to meet few of your friends and family member as on when you get time from your business meetings.

Situation : Product backlog Prioritization.

you have 35 stories in backlog not yet committed, want to prioritize the stories for next sprint.


Situation 1

30 Minutes.

Situation 2

Amount of Money

Situation 3

1 Week

Situation : Backlog Prioritization 

3 Weeks

Story / Functionality / action to execute

Situation 1

10 Missed call to call back

Situation 2

10 Expenses, Like Electricity bill, buying new furniture etc

Situation 3

10 Friends at different location to visit

Situation : Backlog Prioritization 

35 Stories to work on

What to Prioritize

Situation 1

Whom Should I call first and whom should I call later. and order I will call them

Situation 2

What are the expenses I should plan first, and can not skip, and what are the nice to have kind of expenses I can plan for latter.

Situation 3

The sequence of the friend I will meet, so that In case If I don’t get enough time to meet all, at-least I will end up by meeting most important friends.

Situation : Backlog Prioritization 

Which story should I put top of my list by making its rank 1, and followed my comparatively less important stories. So that during sprint planning or grooming I can identify which story to pick first followed by the next story in rank.

What to consider during Prioritization

Situation 1

  • Possible duration of the call
  • importance to make that call
  • any other call related to the important calls
  • etc

Situation 2

  • Amount of each expense
  • how important to make that expense
  • Related or depended expenses
  • etc

Situation 3

  • Distance from my business location
  • what are the importance level its is, for you to meet your each friends.
  • friends living in close proximity

Situation : Backlog Prioritization 

  • Business Value of each story
  • Amount of work for the stories
  • Associated Risks and its mitigation time for the stories
  • Dependencies associated with the stories
  • any related story, can be done together
  • etc.

What is Product backlog Prioritization ?

Product Backlog prioritization is one of most important exercise in agile software development.  Any projects is successful if the stakeholders or clients or business gets most valued functionality at earliest. And that is possible by effectively and consistently prioritizing the requirements (users stories).

Backlog prioritization is required to organize the product backlog items (user story/Defects/Spike etc) to make the sequence of its development and deployment.

This Sequence  is followed by the scrum team to choose product backlog items during grooming or sprint planning.

The influencing factors for prioritizing product backlog items are

  1. Customer Satisfaction
  2. Business Value
  3. Complexity
  4. Risk & Opportunity
  5. Cost
Benefits of backlog prioritization

These are the key benefits of an effective and consistent backlog prioratization

Business Benefits
  • Fastest return of investment
  • Customer or Business satisfaction
  • Better management of dependencies
  • Minimizing Risks
  • Keep focused on Value driven development.
Benefits to the Scrum Team
  • Effective Grooming by saving time of selection story
  • Effective Sprint Planning by saving time of selection story
  • Better visibility to pick stories within current sprint scope, if there are bandwidth
  • Better visibility to drop stories from current sprint scope, if bandwidth reduce because of many reasons like Team members absence, emergency production fix etc.
Treatment of different backlog Items during prioritization

All Items in product backlog are treated equally during backlog privatization, that can include, Defects or Bug, New Functionality, Enhancements, Spikes.

Backlog Prioritization - Equal Treatment

What to Consider during prioritizing agile work item?

There are many influencing factors to consider during prioritizing backlog items. most important consideration factors are.

1. Customer Satisfaction

We always prioritize stories by keeping in mind the factor of customer satisfaction, by assigning the functionality (backlog item) a high priority that have have a probability of higher customer satisfaction. and prioritize those functionality first without those customer may get dissatisfied.

So we need to implement the basic needs first , then the performance area, and then the delightful functionality

check out the section below for Techniques of product Backlog prioritization, below  that explains Kano Model to understand how measurement of customer satisfaction help us to prioritize our Product backlog item

2. Business Value

Understanding the business strategy and business goal is very essential to prioritize the functionality. That’s why the product owner or the business Analyst are best person to prioritize product backlog item.  Identifying which functionality will add most value to meet the business goal is helpful to prioritize the product backlog item.

The sponsor, Sales team, or strategic thinker influence the business value by targeting long term benefit or immediate value addition to counter competitors.

Backlog Prioritization Considerations

3. Effected number of users / or frequency of use

This factor is product specific, not everywhere considered as prioritization factor. The functionality may be prioritize by keeping in mind the number of users will be effected. for an example, in a eCommerce web site look and feel of consumer home page will get higher priority than a supplier home page.

Similarly if a functionality will be used more often, that should be prioritize early to work on any additional optimization work for it if needed.

4. Cost to develop and implement the functionality

High cost not necessarily be on low priority, we need to think rationally, about   each functionality’s cost and ROI. Cost is not the only factor, during prioritizing we need to think about the return of the functionality as well.

Definitely Low cost – High return will be on top priority and similarly High cost – low return can be low priority. But High cost – high return can also be at top of the list, considering other factors of prioritization.

5. Risks

Ranking high risks functionality in top of the list, maximize the early mitigation. Where keeping high risk functionality for later stage of the project, increase overall risk of implementation.

6. Complexity

Functionality with high complexity or difficult, is advisable to start working on early stages of the project, As the team is fresh so allocation of skilled and experience member is easy. And If it takes more time than estimated, the team will also have more room to adjust the extra time.

Lets utilize these consideration factor to get the Priority rank

There are many techniques to prioritize product backlog, we will discuss in details about MoSCoW method and Kano Model, later in this article.

Here lets talk about getting the priority by considering few of the above factors.

Prerequisites :
  1. Identify the factors your project will consider to analyze the priority, you can use all the above factors or most impact-full factors to do this exercise  in this example we are using three factors a.) Customer Satisfaction, b.) Business Value, c.) Cost.
  2. Allocate the weightage to each consideration factor, in case you think all the factors are of equal weight for your particular project, just give 1 to all. in this example we have allocated 12 to Customer satisfaction, 10 to Business Value and 7 to cost.
  3. Have your backlog ready with the items including Defects, stories, Spikes etc. In this example we are assuming our backlog have 10 stories that we are prioritizing.
  4. Define a scale to provide rate to each story against its consideration factors. In this example we are having a scale of 1 to 10.

Refer the below Matrix. followed by the explanation, to get the calculation mechanism to achieve the priority Ranks

Backlog Prioritization Consideration and Analysis

In this matrix has the consideration factors and its weightage as column and the 9 backlog items (Story 1 to story 9) as row.

The numbers inside the matrix are the relative values to denote the rate for each story for its respected consideration factor. The rates are in a scale of 1 to 10.

Each story has a total value in the 2nd last column. Its represents the cumulative value  of all the factor’s value for that story. Factors value for a story is calculated as weight multiply by its Rate .

The last column represent the priority or rank of the story, maximum value is on high priority with rank 1, and minimum value is low priority. In this example the top priority story is story 6, and lowest priority story is story 3 and story 4.

End of Section Product backlog Prioritization

Scrum team members role during Prioritization?

  • null

    Product Owner

    The Product Owner is responsible for prioritizing the product backlog, and ensure the team delivers to the customer, most valuable functionality first.

  • null

    Scrum Master

    The Scrum Master facilitate the prioritization, by working closely with product owner, and does not work directly to prioritize backlog items.

  • null

    Development Team

    The development team members are typically observe the process, and may provide inputs on request.



by Product Owner


by Scrum Master.


by Development Team.

When to prioritize stories in Backlog?

Backlog prioritization exercise is advisable to conduct frequently, at least once a week. the candidate backlog items for prioritization are depend upon what stages that item is in.

Generally Backlog Items under Initial stage (Backlog) or in Groomed or Defines stage  are potential candidates for prioritization.

The Backlog item those are already committed for the current sprint, or currently in progress, or completed or accepted, does not need to be prioritized. Because those are already prioritized or ready to deploy.

Some prioritization techniques needs the size or estimated value to prioritize, thus it take only the backlog items from Defined/ Groomed state to prioritize.

Backlog items in different state to prioritize

Backlog Prioritization at different Stage

Techniques to Prioritize Product Backlog Items

There are many ways of doing prioritization. most commonly are as below

Affinity Analysis

Backlog Prioritization using Affinity Analysis

With this technique we categorize our user stories into different baskets like high low medium etc. and pick backlog items to groom, plan or construct. This is techniques of basketing Product backlog items to prioritize in groups.

Play the video below to watch practical demonstration in ALM tools like Jira, Rally etc. prioritizing backlog with different techniques including affinity analysis.

Backlog Prioritization using Affinity Analysis

Kano Analysis

Backlog Prioritization using Kano Analysis
Backlog Prioritization using Kano Analysis

With this technique we arrange our backlog items, rather I will say the functionalities, keeping in mind the customer satisfaction factor. The Kano Analysis chart have different areas of customer satisfaction, and we place our backlog items on those areas, and prioritize accordingly. The different areas of functionality are as below

  1. Must be Functionality
    Customer usually take those functionality for granter, If implemented customers are just neutral, but if not implemented or poorly implemented, customers are very dissatisfied.
  2. One Dimensional Functionality
    Those are the functionality satisfied the customer if implemented and dissatisfied if not implemented. Those functionalities are often discussed with mutually agreement between development team and business/customer.
  3. Attractive Functionality
    Those are the functionality satisfied the customer if implemented but don’t dissatisfied the customer if not implemented. Those functionality are often not demanded by the customer, but customers get delighted by having those functionality.
  4. Performance Functionality
    Those are the functionality are proportional to implementation and satisfaction. More we implement more the satisfaction will be.
  5. Indifferent Functionality
    These functionalities are nutral nor good or bad, implenting them or not implementing them does not satifiy or dissatisfy the customer.

Play the video below to watch details of Kano Analysis and how we can prioritize our backlog items using this technique.

MoSCoW Method

Backlog Prioritization using Kano MoSCoW

MoSCoW is another method of prioritizing work items in Product development.  The acronym derived from the first letter of  its 4 prioritizing category (Must Have, Should Have, Could Have, Would like to have). This is another way of Affinity analysis by basketing the product backlog items in four categories.

As the name of the each category, team prioritize the Must have functionality first followed by Should have, Could have and would like to have, to get the return of benefit faster, reduce the lose of high importance functionality in case of time or budget constraint.

Play the video below to watch practical use of prioritizing backlog items in ALM tools like Rally and Jira.


Backlog Prioritization using Ranking

Ranking items is another way of prioritizing backlog items in stack, A rank value (1,2,3,4,5…). With this method we organize our backlog items in stack, one above another. The Rank 1 considered as high priority than rank 2.  In our backlog the higher ( low number value) rank or high priority appears above the relatively lower rank (high number value).  We pick the top product backlog item first to groom, plan, construct etc followed by the lower rank.

Play the video below to watch practical demonstration of prioritizing product backlog item using Ranking method.

Watch the Video to understand the above mentioned Techniques with Example.

Hope this page was able to provide the information you were looking for, In case we missed something, feel free to leave your comments, feedback and suggestions, at bottom of the page’s comment section.

Author(s) of this article

Leave a Reply

Your email address will not be published. Required fields are marked *


Post comment