Matrix Prioritization

 

IMPORTANT! If you are going to use any prioritization method, be sure that you actually implement more than just the highest level of priority items. If stakeholders consistently see that all that will implemented are the highest priority items, then soon they will stop believing that priority levels mean anything and that everything that is not flagged as the highest priority will not get implemented. And if that occurs, then either everything your clients prioritize will be the highest priority or they simply will no longer cooperate because they have lost confidence in the process.

   

Also known as: Prioritization Matrix, Wiegers Prioritization Matrix, Wiegers Prioritization Method, Prioritization Matrix according to Wiegers

What is it?

Matrix Prioritization is a general-purpose multi-factor prioritization technique that results in a ratio-scale output. The concepts behind it can be traced back to work done on Quality Function Deployment (QFD) and Total Quality Management (TQM) among others, and there are several variations in how the technique can be executed. The most common implementation of this technique among Business Analyst's is probably Wiegers Prioritization Matrix (WPM hereafter for brevity).[1] It is also very similar to the Decision Matrix technique (aka Problem Matrix, Solution Matrix), but instead of resulting in a single preferred outcome the Matrix Prioritization technique results in a list of all evaluated items ranked by priority.

Matrix Prioritization efforts are made up of five different components, which are:

  1. Item Set - The items that are being evaluated for the prioritization effort
  2. Criteria - The varying criteria that will be used to evaluate each item. All criteria apply to all items.
  3. Value Scales - These are the scale of possible values that can be used to specify the relationship of an item to the criteria being evaluated
  4. Weightings - The relative weighting applied to each criteria
  5. Formula - The formula selected to generate a priority value for each item based on the Criteria and Weightings

These components are described in more detail below.

Item Set

Matrix prioritization can be applied to any set of items that can all be evaluated by a consistent set of criteria. This can include:

In addition to being able to be rated on a consistent set of criteria (consistent among all of the items rated, not every time you need to prioritize a set of something), the items should all be at the same level of abstraction so that the rating evaluations are all made using the same approximate level of information.

Additionally, Karl Wiegers recommends that if specific items in your set are dependent (for example, if you would only consider item X if item Z was included), include only the driving item in the analysis. However, you could also deal with dependency issues by assigning a dependency criteria to the analysis process for each item that indicates the level of dependency of that item on other items in the set. An example of this is included in the How do I do it? section below.

Criteria

The Criteria you use for Matrix Prioritization should be relevant to all of the items in your evaluation set. There should be more than one criteria (preferably 3+ to get the most benefit from this process).

The criteria can be anything you feel appropriate for evaluating the items to be prioritized. However, the following list has some of the common criteria mentioned in the literature:

Note that for many of the criteria above you may consider more than one variant. For example, when looking at Relative Benefit, are you considering the benefit to a primary customer such as a purchaser, secondary benefits such as to the manufacturer, benefits to specific internal departments such as benefit to Marketing, or to other groups? Depending on the goal of your prioritization effort, it might actually be a good idea to evaluate the potential benefit to different groups as separate evaluation criteria.

You can also select multiple criteria to look at prioritization in specific aspects. For example, if you were focused on getting as much functionality built in as short of time as possible, you could be evaluating items based on a combination of Cost, Risk, Time to Implement, and Amount of Resources required to implement.

Whatever the criteria you choose, you should ensure that you document a definition for the criteria and gain stakeholder consensus on that definition.

 

Value Scales

Value Scales are used to rate each item in regards to a single criteria. The most common scale seems to be from 1 to 9 [1, 2, 5], but from 0 to 5 is also used[4], and no doubt others. The key things to consider with the value scale are:

For example, see the example below:

Relative Benefit

Ideally, you should try to define specific criteria for deciding what a specific value means for a given category, and get stakeholder buy-in, that will make the evaluation process go more smoothly. This is especially true for things like Implementation Effort or Cost, where it is easier to use specific numbers for each potential value. Currency amounts, man hours, or number of resources are probably the best options for these types of value scale.  For example: 0 = 0-50 man hours, 1 = 51-150 man hours, etc.

For simplicity, you might decide to use only specific values within the range you select. For example, if you use a range of 1 to 9, you might limit the choices to just 1, 3, 6, and 9.  This limited set of choices with a wider separation between the available digits will give the selected values more impact when prioritization values are calculated.

Weightings

Weightings allow you to prioritize certain criteria higher than other criteria. Or if you are tracking separate ratings from multiple stakeholders, you can weight stakeholders as well so that some have greater influence than others over the outcome.

Wiegers gives the simple example of weighting benefits twice as much as penalties, with benefits thus getting a weighting of 2 and penalties 1. An alternate approach is that suggested by Landau [3] of using percentages and ensuring that the weightings for all criteria sum up to 100%.

The idea is that criteria that are more important are given a higher weight so that they have a greater impact on the prioritization calculation than the might just using the basic value scales, without having to have several value scales for the same criteria.

Formula

There is no standard formula used for Matrix Prioritization. And although Karl Wiegers provides a formula for use with his specific version of this technique, I get the impression from his writings that even that formula is more of a suggestion than a hard and fast rule. So one of the key activities when using the Matrix Prioritization technique is to define a formula that you will use in the process.

Basically, the formula should be tailored to the criteria you are using and the general focus of your evaluation. Are you weighing up just the Pros? Are you weighing the Pros vs. Cons? If so, are you subtracting the Cons from the Pros, or dividing the Pros by the Cons? Or something else?

Sometimes all that is needed is to sum up all of the weighted criteria values for each row of the matrix [2, 3]. Sometimes you may want to do more complex calculations. For example, for WPM, Wiegers' uses the formula of: Priority = (Weighted Benefit % + Weighted Penalty %) / (Weighted Cost % + Weighted Risk %). Note that Wiegers converts the values in his process to percentages, and uses the percentages to calculate the final priority value.

Other options include the idea of providing a confidence or volatility rating for any implementation-specific ratings such as cost, risk, resource requirements, and similar values. This would let your implementation team say that they think cost is probably a 5 (whatever that means for your rating scale), but their confidence in that rating remaining true through implementation is only a 1. If you treat the confidence value as a percentage (so a rating of 1 means only 10% confidence) and multiply the two values together, the higher confidence items receive a higher priority.

Just as with the criteria, weighting, and rating scales, the idea here is to come up with a formula that all parties agree to. Just don't make it too complex. Matrix prioritization is not meant to generate high-confidence results, it's meant to allow you to prioritize across multiple criteria in a way that generates structured and useful results.

 

Why do it?

See the Prioritization wiki page for a discussion of why to prioritize (in general).

The main benefit of the Matrix Prioritization technique is that unlike virtually every other prioritization technique, it explicitly evaluates each item across several criteria (or contexts in the language used on the prioritization wiki page) rather than the single context that other prioritization techniques work on.

Another benefit is that if Matrix Prioritization is done with a spreadsheet that auto-calculates the priority values, it becomes very easy to conduct what-if scenarios to improve the results and to test various scenarios with stakeholders. What-if scenarios are basically changes to values, weightings, or the formula to explore how the results change if various inputs to the formula are changed (i.e. what if Cost is weighted at twice its stated value instead of at its stated value, how does that change our priorities?).

 

How do I do it?

The step-by-step instructions below are actually going to go through two examples concurrently. One will follow the standard Wiegers Prioritization Matrix (WPM) process, and the other will show a more wide-ranging set of options. The key point is for you as the Business Analyst to understand is that while there is a single overall process or method used with this technique, the method allows for a wide-ranging set of options when you actually execute a specific instance of the technique. It's up to you as the BA to work with stakeholders to define the set of options that are appropriate to your scenario. Hopefully the steps below will walk you through a detailed enough overview of the process for you to customize it to your specific usage scenario.

Step 1

List all of the items that you wish to prioritize in a table with the items being listed in the first column.  As an example, below is a list of some CRM features from various CRM vendor web sites.

Matrix Prioritization - Example 1

Step 2

Determine the criteria that will be used for evaluating each item.

WPM Example

The WPM process next adds the four standard prioritization criteria. The criteria and their definitions are listed below:

This results in the matrix looking something like this:

Matrix Prioritization - Example 2

Non-WPM Example

For the non-WPM example, the prioritization criteria we will use are:

In addition to using a different set of criteria for the Non-WPM example, this example set also demonstrate how you can use Matrix Prioritization to include more than just a single consensus value rating for each criteria by supporting value inputs from two different stakeholder groups (in addition to the implementation team). They will be a Sales stakeholder and a Marketing stakeholder for purposes of the example.

Note how in the updated table below the criteria columns that receive values from the business (or users, or whatever) are duplicated, one for each stakeholder group.

Matrix Prioritization - Example 3  

Step 3

Determine the Weightings you will apply to each criteria. In all of the references I cite below, the Weightings value is added above the Criteria, as shown in the WPM example below. However, I show an alternate method for including the Weighting in the Non-WPM example.

WPM Example

There are no specific weightings prescribed by the WPM process. However, they are supported and described by Wiegers as an additional option in the description of Step 4 in his original paper.

For this example, we will use the same weightings Wiegers used in Table 2 of his original paper. They are: Benefit to Customer is weighted twice as high (2) as Penalty to Customer (1) and Estimated Cost (1), while Relative Risk is weighted at only half the value of Estimated Cost (0.5).

The example table for WPM has now been updated to look like this:

Matrix Prioritization - Example 4

Non-WPM Example

While all of the references I cite below (and that I have seen) indicate that the weighting value is usually added above the criteria column header, I prefer to put the Weightings in their own columns as shown below. The reason I prefer an in-line weighting value is that it lets you capture values for multiple stakeholders who might have different weightings for the same features or to weight specific items differently for a criteria than other items for the same criteria. This has the downside of making the matrix much larger (depending on how many Weighting values you use).

There are several things to call out about the example table below that give you examples of the flexibility this approach provides:

Matrix Prioritization - Example 5  

Step 4

After selecting criteria and weightings, the next step is to select a rating scale.

WPM Example

For the WPM example we will use the 1 to 9 scale with a restricted range of 1, 3, 6, and 9. For each of the criteria, the following are guides to stakeholders for selecting the correct rating value.

Relative Benefit

Relative Penalty

Relative Cost

Relative Risk

Non-WPM Example

For the Non-WPM example, we will use the 0 to 5 scale with an unrestricted range. For each of the criteria, the following are guides to stakeholders for selecting the correctly rating value.

Relative Benefit

Relative Penalty

Volatility

Urgency

Criticality

Implementation Effort

Implementation Confidence

Dependency Risk

 

Step 5

The last step in setting up the parameters of your matrix involves selecting the formula that you will use to calculate prioritization values.

WPM Example

The WPM example will use the standard formula for Wiegers Prioritization Matrix, which is:

Priority = (Weighted Benefit % + Weighted Penalty %) / (Weighted Cost % + Weighted Risk %)

 

Non-WPM Example

For the Non-WPM example, I will use a slightly more complex formula given the greater number of items. The general idea will be to add up the business needs and divide it by the implementation costs & concerns using the following generic formula:

Priority = (Sales Business Needs) + (Marketing Business Needs) / (Implementation Costs & Concerns)

The Volatility values and weightings for both Sales and Marketing are considered concerns in this case because the uncertainty they imply could impacts implementation costs and effort. As such they are moved to the divisor. The overall idea is then implemented using the following long formula in Excel.

Priority = ((for Sales Stakeholder ((Relative Benefit*Benefit Weight)+(Relative Penalty*Penalty Weighting)+(Urgency*Urgency Weighting))+(Criticality*Criticality Weighting))+(for Marketing Stakeholder (Relative Benefit*Benefit Weight)+(Relative Penalty*Penalty Weighting)+(Urgency*Urgency Weighting))+(Criticality*Criticality Weighting)))/((Sales Volatility*Weighting)+(Marketing Volatility*Weighting)+((Implementation Effort*Weighting)*Implementation Confidence)+(Dependency Risk*Weighting))

 

Step 6

Now that the Matrix is set up, the next step is to apply rating values to each item for each criteria. A few guidelines for this activity include:

WPM Example

The table below shows the matrix up to this point with the value ratings populated for each item and each criteria.

Matrix Prioritization - Example 6

Non-WPM Example

The table below shows the matrix up to this point with the value ratings populated for each item and each criteria.

Matrix Prioritization - Example 7

Step 7

If your matrix displays any calculated values (such as the Total Value column in Wiegers Prioritization Matrix), you calculate them in this step. These values will normally incorporate the impact of any weighting.

Of course, a best practice here is to do Matrix Prioritization in something like an Excel (or LibreOffice Calc, or a similar spreadsheet) and to have built the formula's into the spreadsheet ahead of time. Using a spreadsheet should reduce the chance of calculation errors throwing off your final values.

WPM Example

The table below shows the matrix up to this point with the addition of the Total Value calculated column values.

Matrix Prioritization - Example 8

Non-WPM Example

For simplicities sake the Non-WPM example will not display any calculated columns other than the final priority.

Step 8

If your formula and / or Matrix require or display percentage values, you calculate them in this step. The percentage values are typically (certainly in WPM) the percentage that the specific row value is of the total of all values in that column.

WPM Example

Matrix Prioritization - Example 9

Non-WPM Example

For simplicities sake this example will not display any percentage columns.

 

Step 9

Based on the formula you specified, calculate the priority values. Again, if you have built the formula into a spreadsheet, this will already be done for you as you populate the rest of the spreadsheet.

WPM Example

Matrix Prioritization - Example 10

Non-WPM Example

Matrix Prioritization - Example 11    

What Should the Results be?

After sorting the items in the list from highest priority to lowest, you get the following final results.

WPM Example

Matrix Prioritization - Example 12

Non-WPM Example

Matrix Prioritization - Example 13  

Advantages

 

Disadvantages

 

Tips

 

References

  1. Article: First Things First - Prioritizing Requirements. By Karl Wiegers. On ProcessImpact.com. 1999.
  2. Article: Project Prioritization - A Structured Approach to Working on What Matters Most. By Carol Gosenheimer. Office of Quality Improvement. University of Wisconsin - Madison. 2012.
  3. Blog Post: Forced Ranking of Product Features in a Spreadsheet. By Nathaniel Landau. On his personal blog. May 10, 2013.
  4. Book: Requirements Engineering Fundamentals - A Study Guide for the Certified Professional for Requirements Engineering Exam Foundation Level. By Klaus Pohl and Chris Rupp. 2011. Rocky Nook, Inc. Pgs. 121-122
  5. Book: Software Requirements, Third Edition. By Karl Wiegers and Joy Beatty. Microsoft Press. 2013. Pgs. 322-327
 

Related Resources