What is WSJF?
WSJF stands for “Weighted Shortest Job First.” It is a prioritization framework used in Agile software development and Lean product development to determine which tasks or projects should be tackled first.
The framework calculates a “score” for each item on the backlog by dividing its “Cost of Delay” (the cost of waiting to complete the item) by its “Job Size” (the size or complexity of the item). The resulting score helps teams prioritize their work based on the most valuable items to deliver first.
The formula for WSJF is:
WSJF = (Business Value + Time Criticality + Risk Reduction) / Job Size
The factors used in the formula are defined as follows:
- Business Value: The value of the item to the business or customer, usually measured in financial terms.
- Time Criticality: The urgency or importance of the item, often related to a deadline or time-sensitive opportunity.
- Risk Reduction: The potential reduction in risk or uncertainty that completing the item would provide.
- Job Size: The size or complexity of the item, often measured in story points or other units of work.
By using WSJF, teams can prioritize their work based on the most valuable items to deliver first, which can lead to faster feedback, reduced cycle times, and ultimately, better outcomes for the business and its customers.
How product manager use WSJF?
Product managers can use the WSJF (Weighted Shortest Job First) framework to prioritize their product backlog and make data-driven decisions about what features or initiatives to focus on next. Here are some steps a product manager might take when using WSJF:
- Identify the job to be done: First, the product manager needs to identify the customer need or job to be done that their product is trying to address. This could be something like “helping customers track their fitness goals” or “making it easier for small businesses to accept online payments.”
- Define potential features: Once the job to be done is clear, the product manager should brainstorm a list of potential features or initiatives that could help address that need. These could include things like adding a new feature to the product, improving an existing feature, or launching a marketing campaign.
- Assign WSJF scores: For each potential feature or initiative, the product manager should assign WSJF scores based on four factors: time criticality, user value, risk reduction/opportunity enablement, and job size. These scores help quantify the potential impact of each feature and prioritize them accordingly.
- Prioritize the backlog: Once all potential features have been scored, the product manager can use WSJF to prioritize their product backlog. This involves sorting features in order of their WSJF scores, starting with the highest-priority feature and working their way down the list.
- Iterate and refine: Finally, it’s important to remember that prioritization is an ongoing process. Product managers should regularly review and update their backlog based on new information, changing customer needs, and other factors. They may also need to adjust their WSJF scoring criteria as they learn more about what works best for their particular product and market.
How does WSJF is calculated?
WSJF (Weighted Shortest Job First) is a prioritization technique used in Agile development and Lean manufacturing to determine the order in which to work on a set of tasks or projects based on their relative importance. WSJF is calculated by dividing the cost of delay (CoD) by the job size (JS) to get a relative ranking for each job or project. The job with the highest WSJF value should be worked on first.
The formula for calculating WSJF is:
WSJF = CoD / JS
Where:
- CoD (Cost of Delay): The business cost incurred due to delaying the completion of a job or project. This can include lost revenue, missed opportunities, increased risk, etc.
- JS (Job Size): The size or duration of the job or project. This can be measured in units of time (e.g. days, weeks, months) or complexity (e.g. story points).
To use WSJF effectively, you need to estimate the CoD and JS for each job or project, and then calculate the WSJF value for each one. Jobs with higher WSJF values should be prioritized over those with lower values. It’s important to note that WSJF is just one factor to consider when prioritizing work, and other factors such as resource availability and dependencies should also be taken into account.