*There's a common backlog prioritization technique, suggested as standard practice in SAFe, but also used elsewhere, " WSJF", "Weighted Shortest Job First." - also called "HCDF", "Highest Cost of Delay First" by Don Reinertsen.*

Now, let me explain this one in (slightly oversimplified) terms:

## The idea behind WSJF

## How to do WSJF?

WSJF is a simple four-step process:

To find out what the optimal backlog position for a given item is, you estimate the impact of doing the item ("value") and divide that by the investment into said item ("size") and then put the items in relation towards each other.

*Agile Fibonacci*" scale, so "1, 2, 3, 5, 8, 13, 20, 40, 80..."

### Step 1: Calculate "Value" Score for your backlog items.

Value *(in SAFe)* is actually three variables: User and/or Business Value, Time Criticality, Enablement and/or risk reduction. But let's not turn it into a science. It's presumed value.

Regardless of how you calculate "Value", either as one score or a sum or difference of multiple scores, you end up with a number. It becomes the numerator in your equation.

### Step 2: Calculate "Size" Score for your backlog items.

"Size" is typically measured in the rubber-unit called Story Points, and regardless of what a *Story Point* means in your organization or how it's produced, you'll get another number - the denominator in your equation.

### Step 3: Calculate "WSJF" Score for your backlog items.

"WSJF" score, in SAFe, is computed by dividing Value by Size.

For example, a Value of 20 divided by a size of 5 would give you a WSJF score of 4.

### Step 4: Sort the backlog by "WSJF" Score.

For example, if you get a WSJF of 3 and your topmost backlog item has a WSJF score of 2.5, the new item would go on top - it's assumed to be the most valuable item to deliver!

And now ... let me dismantle the entire concept of WSJF.

*Disclaimer: After reading the subsequent portion, you may feel like a dunce if you've been using WSJF in the real world.*

## WSJF vs. Maths

*assumes estimates to be accurate*. They aren't. They're guesswork, based on incomplete and biased information: Neither do we know how much money we will make in the future (

*if you do, why are you working in Development, and not on the stock market?*) nor do we actually know how much work something takes until we did it. Our estimates are

*inaccurate*.

### Two terms with error

*[Actual Value + Error on the Value]*

*[*

*Actual Size + Error on the Size*

*]*

**For the following section, it's important to know that we're on a Fibonacci scale, where**

*two adjacent items are always at least 60% apart*.

#### Slight estimation Error

*at least 60% higher value*than estimated, even if the difference between fact and assumption is miniscule. Likewise, if we under-estimate value, an item will have

*at least 30% lower value*than estimated.

*If we're not 100% precise on our estimates, we could be off by a factor of 2.5*!

#### Larger estimation error

### Square error terms

*we get a square error term.*

*The actual numbers don't matter... it's their relationship towards one another!*"

## Errors aren't equal

Item | Est. WSJF | Est. Value | Est. Size | Act. Value | Act. Size | Act. WSJF |
---|---|---|---|---|---|---|

A | 1.6 | 8 | 5 | 5 | 5 | 1 |

B | 1 | 8 | 8 | 3 | 20 | 0.15 |

C | 0.6 | 3 | 5 | 8 | 2 | 4 |

D | 0.4 | 5 | 13 | 13 | 2 | 6.5 |

*should have*ordered your backlog, had you had a better crystal ball.

# And that's the problem with WSJF

*start a conversation*about what we

*think*should be priority, when our main problem is indecision.

It is a terrible process for making reliable business decisions, because it doesn't rely on facts. It relies on error-prone assumptions, and it exacerbates any error we make in the process.

Don't rely on WSJF to make sound decisions for you.It's a red herring.

The discussion about *where and what the value is* provides much more benefit than anything you can read from a WSJF table. **Do the discussion. Forget the numbers.**

## No comments:

## Post a Comment