Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,458,175
Community Members
 
Community Events
176
Community Groups

Weighted Shortest Job First (WSJF) made easy with Jira Premium

Weighted Shortest Job First (WSJF) is a handy tool to assist prioritize work. But that isn't really what this article is about. If you would like to know more about WSJF, then here is a good place to start: WSJF - Scaled Agile Framework

This article is about how the tools available now in Jira Premium can make recording, calculating and visualizing your WSJF data so simple. 

The first thing to do is create numeric custom fields for all elements of the WSJF equation: “Value”, “Criticality”, “RR OE”, “Cost of Delay”, “Job Size” and "WSJF"and add them to whichever issue type you desire. We only have them on Features (Jira Epics) but you could add them to any issue type.  I recommend putting them out of the way in a separate WSJF tab and ensuring that the calculated fields of "Cost of Delay" and "WSJF" are read only so that they cant be overwritten.....and that is because, the next step is to automate the math.

WSJF Automation part 1

This performs the 1st calculation, Value + Criticality + RR OE = Cost of delay

  1. It is triggered by the “Field value changed” trigger, with all 3 fields involved in the calculation as trigger points for the “Edit issue” or “Create issue” operations.

    WSJF1.png
  2. Then the “Cost of Delay” field is populated based on a Smart Values calculation {{#=}}{{issue.Value}} + {{issue.Criticality}} + {{issue.RR OE}}{{/}} via the “Edit issue” action.

    WSJF2.png

WSJF Automation part 2

This performs the 2nd calculation Cost of delay divided by Job Size = WSJF

  1. Again, triggered by the “Field value changed” trigger. This time by the “Cost of Delay” field upon the “Edit issue” or “Create issue” conditions.WSJF3.png 

  2. Then the “WSJF” field is populated based on a Smart Values calculation {{#=}}{{issue.Cost of Delay}} / {{issue.Job Size}}{{/}} via the “Edit issue” action.WSJF4.png

Note: WSJF Automation part 2 always triggers as the “Cost of delay” field changes as a result of WSJF Automation part 1.

Now create a plan using Advanced Roadmaps

This is a great use of Advanced Roadmaps where you take advantage of its spreadsheet like view, rather than its timeline features.

It gives you the ability to do a WSJF session directly into the plan, then update the fields back into Jira once agreed upon.

  1. Create a plan that filters in the relevant issues that have the WSJF fields. 
  2. Add the WSJF custom fields to your plan and add them as columns 
  3. Now commence updating the   “Value”, “Criticality”, “RR OE” and “Job Size” fields, then, when ready, click“Review Changes” and save back to Jira.

The automation will do the math and upon a refresh of the plan, the Cost of delay and WSJF fields will be populated.

Sort by the WSJF column and you have them in highest to lowest order ready to help you make those priority decisions.WSJF6.png

The Net result

The net result is, you now have a reusable plan that can act like a spreadsheet with formulas that records the data back into Jira on the Features the data pertains to.

5 comments

Thanks, @Curt Holley for that explanation of how to compute the SAFe version of WSJF once a team has identified the supporting measures.

For teams trying to understand WSJF better and the challenges/supporting ideas around its usage, I recommend reviewing the primary source on the topic: The Principles of Product Development Flow: Second Generation Lean Product Development, by Donald Reinertsen.

Best regards,

Bill

Like Curt Holley likes this

I am trying to implement this with limited success. What field type be the custom field for Cost of Delay and WSJF and how to make them read only

Curt Holley Community Leader Jan 16, 2023

Hi @Monica Gupta 
The fields are simply number fields. making fields "Cost of Delay" and "WSJF" read only is done in the Screen scheme by only adding "Cost of Delay" and "WSJF" to the view, but not edit screen. So you need two versions of the screen, one with "Cost of Delay" and "WSJF" for viewing and one without for editing.

From memory I believe you will want/need "Cost of Delay" and "WSJF" on Create as well.

using the below example, ZP:Scrum bug Screen would have the same fields as default Issue plus "Cost of Delay" and "WSJF"

zp.png

Thanks Curt, so if I edit the issue will I not see the existing Cost of Delay and WSJF values?

You will see the fields @Monica Gupta   and whatever value the automation has added, but you will not be able to edit the value. If they are still blank, i believe you are right, the fields not in the edit screen will not show.

Comment

Log in or Sign up to comment
TAGS

Atlassian Community Events