The correct sequence of backlog items is crucial for successful agile development. Prioritization is usually done by the Product Owner, or in SAFe, at the program level by the Product Manager. In Lean Portfolio Management, multiple people can determine the priorities of the items. But what happens when different departments and management need to collaborate to reach prioritization?

How can consensus be reached without individuals using their power positions to influence prioritization in their favor?

WSJF - a valuable tool

In his book "Principles of Product Management Flow," Don Reinertsen describes the methodology of "Weighted Shortest Job First" (WSJF), which is based on the calculation of Cost of Delay and job size. This allows entries in a list to be arranged in the best possible order to achieve the greatest economic benefit. Cost of Delay indicates the price the company would pay if a delivery is delayed. This can include a loss of revenue, customer satisfaction, or even legal penalties. Therefore, it is important to minimize the total Cost of Delay.

WSJF is a valuable tool that helps companies optimize their prioritization and gain the maximum benefit from their development projects.

A good approximation for Cost of Delay is the sum of Business Value, Time Criticality, and Risk Reduction/Opportunity Enablement.

WSJF - Priorisierung in agiler Entwickling

BV: Business Value, TC: Time Criticality, RR/OE: Risk Reduction / Opportunity Enhancement

Determining Parameters

The values for the BV, TC, and RR/OE parameters are assigned according to the values of the Fibonacci sequence (1, 2, 3, 5, 8, 13, 20, 40) as with estimating stories. We proceed as follows:

  1. Each parameter is determined in sequence for all entries in the list simultaneously.
  2. We search for the entry in the list with the smallest value and assign it a value of one.
  3. For all other entries, we estimate whether they are about the same size or larger. If the value for this parameter is approximately the same, a value of one is also set. Otherwise, the value closest in comparison is assigned.
  4. Once all entries in the list have received a number for this parameter, we check whether all entries with the same number are approximately the same size for this parameter.
  5. We continue with the next parameter.

As with Magic Estimation, we hang the numbers 1-40 (Fibonacci sequence) on the wall or lay them out on a larger table. The individual entries in the list are printed out and placed next to the corresponding number as described above. This allows for a quick and easy relative estimation of the individual parameters.

Here are some do's and don'ts to make prioritization more successful.

Do's

  • Ensure that entries in the list have sufficient information to discuss and assign values to the individual parameters.
  • Compare the technical aspects between entries.
  • Use Magic Estimation to assign values to entries quickly and adjust as needed instead of determining the exact value.
  • Ensure that all stakeholders participate in assigning values to create a better understanding.

Don'ts

  • Do not determine values for all parameters simultaneously.
  • Do not rely solely on specialists for evaluation.
  • Do not conduct value assignment as offline "homework."
  • Do not save parameter values for entries and reuse them in the next prioritization.

Job-Size

Job-Size refers to the size of a task or job and can be determined directly or indirectly. However, the values of all entries should be relative to each other. The calculation of WSJF is straightforward mathematics. Once the list is sorted in descending order according to the WSJF value, the entry with the highest value from an economic perspective should be implemented first because it has the best cost/benefit ratio. However, as mentioned, this is just a suggestion, and a different order can also be determined.

The added value of WSJF

So, what is the added value of the WSJF method compared to other prioritization methods?

To be honest, the discussion begins with determining the business value. How significant should the benefit be, and how should it be quantified? Can we compare customer satisfaction with higher sales? Yes, we can, and we must. It does not matter whether there is a clear and comprehensible formula. What is important is that all stakeholders discuss the benefits and agree on the level of importance in relation to the other entries. Once the business value has been discussed for all entries, the other values can be determined more quickly because everyone knows what the entries are about.

Discussions about the different parameters from the "cost of delay" are useful and helpful. However, the job-size is the decisive parameter in the end. Large to very large tasks have little chance of landing at the top of the priority list. If too large tasks are commissioned, the processes may become congested. However, if the entries are divided into smaller, more manageable units, they can be implemented more quickly and are more likely to be at the top of the list. Smaller tasks are more manageable and have a greater chance of success. Dividing them into smaller tasks also encourages thinking about the MVP (Minimum Viable Product) and leaving out unnecessary "golden faucets" functionality with little to no benefit.

WSJF - Priorisierung in agiler Entwickling

By applying the "Weighted Shortest Job First" method to prioritization, there is a possibility of achieving higher performance or benefit with less financial resources. However, it is important to reach an agreement on what exactly the benefit is. Such an agreement can only be achieved through transparency of the concerns of all stakeholders and alignment with a common higher goal, namely the company's strategy.

If you want to learn more about how to clarify and prioritize the backlog using WSJF in SAFe, we recommend that you attend the "Leading SAFe" training. Sign up for the next course today and secure the opportunity to understand and apply SAFe correctly.

Here are some steps to best prepare for a WSJF workshop:

  • Understand the WSJF method: Before attending a workshop, it's important to have a basic understanding of the WSJF method. You can research online or read books and articles to gain more knowledge about WSJF.

  • Review your backlog: To make the most of your WSJF workshop, it's important to review your backlog and identify the items that need to be prioritized. You should also have a clear understanding of the business value and job size for each item.

  • Prepare data and information: To facilitate the workshop, it's important to have all the relevant data and information at hand. This may include the business value, job size, and cost of delay for each item.

  • Set objectives: Determine the objectives of the workshop and what outcomes you hope to achieve. This will help you to focus on the most important items during the workshop.

  • Invite the right participants: Ensure that you invite the right participants to the workshop. This may include product owners, business analysts, developers, and other stakeholders who have a good understanding of the backlog and can contribute to the prioritization process.

  • Plan the workshop agenda: Plan the agenda for the workshop, including the timing and duration of each activity. This will help you to stay on track and ensure that you cover all the necessary topics.

  • Communicate the workshop goals: Communicate the goals of the workshop to all participants before the session. This will help to set expectations and ensure that everyone is on the same page.

  • Get assistance from an experienced consultant, scrum master or Product Owner.

By following these steps, you can ensure that you are well-prepared for a WSJF workshop and that you get the most out of the session.

If you need assistance with your first WSJF workshop, feel free to contact us.