The software development process: How to choose the right user story prioritization method

The software development process: How to choose the right user story prioritization method

How do you choose a prioritization method? This post tackles the issue of which method to actually use for effective software development (we discuss 6 different methods here and here).

In this post we learned that nothing is unrankable. Choosing a prioritization method is no exception.

We are going to demonstrate how one of the prioritization methods from our last review, AHP (Analytical Hierarchy Process), could be used to solve the problem of ranking the other methods:

  • The 100-Dollar Test (Cumulative Voting),
  • Priority Poker,
  • MoSCoW analysis,
  • Kano analysis and
  • Relative Weighting.

Let’s go!

How are we going to choose between these 5 methods?

Using Analytical Hierarchy Process. AHP is a systematic approach for decision-making that takes into consideration multiple criteria and various alternatives by structuring them in a hierarchical model. As a result of using this approach you can obtain the weighted average rating for each decision alternative and choose one with the highest score. According to the AHP, prioritization must consist of four steps. The explanation of all of them is below. Throughout our explanation, we use an example of how to choose the best of 5 prioritization techniques based on the traits we value most.

Step 1: Choose your prioritization criteria

The first step of the AHP is to build the structure of the hierarchy model, based on our goal, alternatives and our set of criteria. Our goal is already determined: “Rank prioritization techniques”. Also we have already defined our alternatives. In this case we have 5 alternatives: the prioritization methods listed earlier. But we haven’t defined the list of criteria yet. Now’s the time to do it.

As an example, let’s use four prioritization criteria to compare the alternatives that emerged during our research. Of course, the method described in this post can be applied to any set of criteria.

Our set consists of the following:

Criterion 1: Simplicity
  • Easy to understand
  • Not a lot of preparation
Criterion 2: Time
  • Time for preparation
  • Time for evaluation
Criterion 3: Efficiency
  • Ability to use comprehensive set of criteria and mathematical methods of results evaluation
  • Accuracy of the results
Criterion 4: Partnership
  • Possibility to achieve highest degree of collaboration between software development team, customer stakeholders and users
  • Take into consideration different opinions


So the AHP hierarchy in our case looks like this (click here for full-size image):

Step 2: Define the relative value of each criteria

The second step of AHP is to analyze the criteria and construct a pairwise comparison matrix to assess the relative value of the criteria, to prioritize which method fits our goals best. In our case we have 6 pairs to compare. To compare them, your experts should answer 6 questions, such as:

What is the more important trait, Simplicity or Efficiency, in your project’s prioritization method and by how much?

The answer to the “how much” question is a value measured on an integer scale from 1 to 9, where 1 means that two criteria are of equal value and 9 means that one is absolutely a higher value than the second.

In our case, this pairwise comparison table looks like the one below. Note that the fractions are simply an inverse of the original integer comparison between two traits.

Simplicity Time Efficiency Partnership
Simplicity 1 3 4 4
Time 1/3 1 4 2
Efficiency 1/4 1/4 1 2
Partnership 1/4 1/2 1/2 1


This table is just an example, not a rule. In your project the criteria values are likely to differ.

Step 3: Evaluate the alternatives

The third step should be to construct separate pairwise comparison matrixes to assess the relative value of the alternatives according to each criterion. In our case we will have 4 matrixes with 5 alternatives, because we’re comparing 4 criteria against 5 options. Let’s try to create the first matrix with the results of pairwise comparison of 5 alternatives according to the criterion Simplicity. To do this your experts should answer 10 questions like in the example below:

Which method, Priority Poker or MoSCoW, is better according to criterion Simplicity (simpler to implement) and by how much?

In our case the first table looks like the one below. Here again, the fractions are simply an inverse of a repeating comparison.

Criterion 1: Simplicity 100-Dollar Test Priority Poker MoSCoW Analysis Kano Analysis Relative Weighing
100-Dollar Test 1 2 6 8 8
Priority Poker 1/2 1 3 5 5
MoSCoW Analysis 1/6 1/3 1 4 4
Kano Analysis 1/8 1/5 1/4 1 1
Relative Weighing 1/8 1/5 1/4 1 1


We construct the other 3 tables in the same way.

Step 4: Rank your alternatives

The last step is to calculate the final results using the original algorithm developed by Thomas Saaty. According to this algorithm the pairwise comparison matrix of criteria is used to obtain the weights of importance of the decision criteria. The tables that compare alternatives are used to calculate the weights of each of the alternative according to each criteria. The final scores of the alternative is the sum of products of the alternative’s weight according to criteria, and the weight of each criteria.

In our case we receive the following scores for each alternative:

Prioritization techniques Scores (%)
100-Dollar Test 18.5
Priority Poker 17.5
MoSCoW Analysis 14.4
Kano Analysis 19.3
Relative Weighing 30.1


From the table it is apparent that the Relative Weighting prioritization technique ranked highest (bold). That should be the method we use to prioritize our backlog tasks. Again, in your case you may have very different results. There are no ‘correct’ or ‘wrong’ results – the main goal is to create the scores according to your conditions, your preferences, and your needs.

We hope that this case will help you choose the prioritization technique that is the most suitable for your circumstances. Let us know if you have questions, we’ll be happy to help.

Read Next:

Prioritization solutions for complex software product development
3 powerful prioritization techniques to transform Agile (or any) product development process
How to effectively manage remote, distributed teams


Back to Company Blog

Profile

Intetics Inc. is an expert in creation and operation of effective distributed technology teams aimed at software product development, IT support, quality assurance and data processing. Based on a proprietary business model of Remote In-Sourcing®, advanced Quality Management Platform and measurable SLAs, Intetics enables IT rich, innovative organizations to capitalize on available global talent and Intetics’ in-depth engineering expertise. Our core know-how is rooted in design of software products within conditions of incomplete specifications.

Request a consultation from intetics specialist