Program Prioritization

32 prog-program-prioritization

The initial Program Prioritization is critical in that it ensures the Program team is working on the most critical features first, which in turn creates the most valuable system.

Explore More.

Related Mindset:

Lean-Agile

Value-Driven

Segment:

Program

Inputs:

Decomposed features and a prioritization from the Agile Portfolio

Outputs:

A prioritized list of Features for the Program team to address

The Program segment receives a prioritized list of Epics from the Agile Portfolio.

The Program will first begin decomposing those Epics into multiple Features. With these Features in hand, the Program team now needs to prioritize all of the Features through the Program Kanban process to evaluate the needed runway for each Feature prior to including it for the PI Planning Event.1

Just as in the Agile Portfolio, there are factors to consider for Prioritization. The first consideration is the business value provided through the Feature. Other important factors to consider include time criticality, risk mitigation or reduction, and the effort required to implement the story. Weighted Shortest Job First (or WSJF2) is a helpful tool to prioritize user stories in an efficient way, which takes all of these factors into consideration.

In addition to the prioritization of the Features, the Program is responsible for prioritizing any Enablers3 that are essential for the Program to deliver these Features to the Team segment. In areas where Architectural or User Experience Runway4 needs to be created, there should be identified Enablers for each area.

For more information on WSJF prioritization within the Scaled Agile Framework®, review the following abstract:

Common Pitfalls

Even in organizations that adopt a Lean-Agile mindset, there are problems that can occur in the Prioritization which cause a derivation from the ideal implementation:

  • Poor Features and Enabler documentation: Features and Enablers should be defined with enough information for the Program to clearly understand the scope and what runway will be needed to implement it. Later in the Program Kanban process, these will be broken into User Stories. Some organizations tend to over-define at this level, which reduces Program velocity. Other organizations under-define at this level, which can result in the Program team not finding all needed runway until the Decomposition into Stories.
  • Forced Prioritization of Features over Enablers: Enablers are critical for the stability of the system in the long-term. In some organizations, there is pressure to defer Enablers to a point where all critical Features are delivered. While this may please business leaders in the short-term, it will be detrimental to the health of the system and lead to a reduced velocity in the future, due to fragmentation and instability.
  • Single-factor Prioritization: Many systems fail because they only take one variable into account when prioritizing. It’s easy to only listen to and look at business needs when prioritizing the backlog. Doing this will likely result in large technical debt as well as a system that doesn’t take user need into consideration. Following an approach such as WSJF2 will allow for a multi-faceted approach to prioritization.

References