In our last hosted release we added to functionality to the calculated fields feature, and we are now supporting Weighted Shortest Job First (WSJF) calculations on Jama items. If you’re familiar with the Scaled Agile Framework (SAFe), you may have used a version of this to prioritize work backlogs. WSJF is often associated with scaled Agile practices, though on its own it’s a powerful tool for anyone prioritizing work.
At its core, WSJF is a way to incorporate a variety of value measures into a score you can use to compare different bodies of work. It translates complex data like business value, risk mitigation, and urgency into a number that can be quickly communicated. Having this common value can remove a huge barrier for organizations struggling to align on what to build next.
So how does WSJF work?
SAFe recommends the following variation to prioritize backlogs of work.
It is derived from Don Reinersten’s book, “The Principles of Product Development Flow: Second Generation Lean Product Development.” Reinersten takes the “shortest job first” approach, and adds an additional layer by weighting the result by job value.
Essentially the numerator is a combination of three measures of value:
1. value to the business
2. value now versus later
3. risk reduction or opportunity enablement to the business
Then this sum is then divided by job size.
The result is a number you can use to sort a backlog, the goal being that a team should work on features that produce the most value using the least amount of effort first.
Put simply, prioritizing using WSJF recommends this:
WSJF is useful even for non-Agile teams
Prioritizing by WSJF is a great exercise, even if you don’t strictly follow it to arrange your backlog. It can be a litmus test for how well defined the work is, naturally elevating well-designed, high-value work with high scores. It is an equally powerful tool to highlight projects that are too large to justify given their anticipated payoff. The product team’s response may be to simply break up the work into more increments, do more research, or cancel the work altogether. It’s a low-investment way to trigger a conversation about what to do next, and with Jama the WSJF calculation can be automatically generated and referenced in context with your requirements.
WSJF at Jama
On the Jama product team we recently started using WSJF to evaluate our roadmap, triggering some very dynamic conversations. We estimated each of the factors using the Fibonacci sequence. In the first round of evaluation we used a higher number scale for the effort value (0, 1, 3, 5, 8, 13), which completely skewed the list toward very small work almost regardless of value (which we only bucketed into 1s, 3s and 5s). That result didn’t match our collective gut at all! Then we adjusted the scales so they all matched, recalculated the scores, and began a much better conversation. As we expected, larger initiatives already slated for later this year scored lower than smaller projects queued up to start next sprint. Then we had a healthy debate around just the highest-scoring work until we landed on a list we were all aligned with. The Jama product team now keeps this value on our epics, and we use that to facilitate conversations across the business.
How to set up WSFJ in Jama
Setting up WSFJ on Jama items can be done quite easily through the Jama Admin page:
- Add a custom field to the item for which you want a WSJF score. In the setup window, select the “Calculated” type of custom field, and calculation type “Weighted Shortest Job First.”
- From there simply select your three measures of value for the numerator, and the size in the denominator.
(Above is a snippet of the columns we now use in our epics backlog)
What if I do prioritizing differently – are calculated fields still applicable?
While WSJF is quite useful, not everyone’s workflow conforms to this calculation. Some may have custom weighting for what to do first, or perhaps would like to experiment with different formulas on the fly. Knowing that, calculated fields in Jama are extremely flexible. Any of the numerator or denominator values can be customized using any integer fields available on the item.
For example, from the Jama Admin page you can select “Weighted Shortest Job First” and choose only one value divided by size. Let’s say you have a simpler equation:
You can add a custom WSJF calculation to an item, in this case stories as a custom field. Simply select “Business Value” as the numerator and “Story Points” as the denominator.
And voila! You now have a custom calculation that updates in real time on the stories.
If the scores seem unhelpful for prioritizing, just add or remove values from the calculation. Coming to a shared agreement on the calculation among your team members can be an important step toward aligning on priority.
Getting started using WSJF in Jama
Beyond WSJF, here are some other formulas to consider that may help prioritization:
- Priority = Importance x Urgency
- Risk = Impact of Risk event x Probability of Occurrence
- Any equation in this format: (x + y + …) / (a + b + …) where the sum is performed first, and then top divided by the bottom
If you’re new to Jama or Agile, Jama also has a recommended Agile Workflow Design to incorporate this and other Agile planning practices seamlessly into your development ecosystem. Reach out to and we can put you in touch with one of our Agile implementation experts.
Does your team use a formula or calculations to prioritize your work? Tell us about it in the comments!