The primary purpose of release (PI) planning is to gain alignment between business owners and program teams on a common, committed set of Program Objectives and Team Objectives for the next release (PI) time-box.
The scaled agile framework (SAFe) enables organizations to transform business needs into working software in a consistent, repeatable way, using lean and agile principles. It’s useful to think of this process as one of continuous and progressive refinement from business requirements to user stories that can be accepted by delivery teams for implementation. This is accomplished via a set of transformations through SAFe’s operating levels. If your product requires 10 or less teams to build and support, then 3-level SAFe is sufficient for your needs. The SAFe 4.X model defines a 4th operating level – the ‘value stream’ layer, that is needed for very large programs requiring multiple release trains to make releases for a single value stream. The overall framework may summarized as follows:
Simplified Scaled Agile Framework Big Picture
Each layer of the framework has its own set of practices, roles and artifacts :
Each level of the framework represents a transformation into a level of detail required for processing at the next level. Within each level, the transformation process is managed using a kanban to ensure transparency and optimal flow:
SAFe Transformation Patterns
PI’s (Program Increments) and ARTs (Agile Release Trains)
The following diagram summarizes the elaboration of business epics into product features and user stories.
Scaled Agile Requirements Hierarchy
Epics represent business initiatives that typically take multiple program increments (PI’s) to fully deliver to production. Features represent product or service capabilities that solve specific problems at the user level, and can be delivered in a single PI. At the lowest level of granularity User Stories are things that deliver thin slices of functionality and can be delivered within the time-box of a single iteration.
Here is a more detailed view of the basic flows:
SAFe Basic Flows
The first stage of planning is the construction of a program backlog from which release planning can proceed. The program backlog is derived from the epic backlog and is constructed using a process often referred to as the feature intake process. This process is often quite ad-hoc and disorganized, however we can impose a reasonable degree of discipline by managing it with a simple kanban workflow. Initial ideas or requirements (perhaps the one-line feature definitions from the epic backlog) are captured through an intake funnel, where they are first vetted for alignment with product strategy and vision, and then for technical viability. Having done that they are then ranked by overall importance using an objective ranking process like WSJF. Imposing a defined workflow on this process removes ambiguity about the degree of readiness each proposed feature is for incorporation into the program backlog. Ultimately we want each item on the backlog to have a good definition, with clearly articulated benefits and acceptance criteria, and to have a rank based on business value, and cost of development. The following diagram illustrates a simple workflow for a feature intake process:
Feature Intake Kanban
The first state (Funnel) is a holding area for any unrefined features. If epics have been properly defined at the portfolio level, then initial high-level features will be included as part of those epic definitions. This state is WIP-unlimited – that is there can be any number of items in this state. All of the succeeding states are WIP-constrained, that is, limited to the capacity of the next downstream activity. Moving an item from Funnel to Business Review means that the business team (Product Owners and other business stakeholders) are in the process of reviewing this item, with a view to defining it in detail (benefits and acceptance criteria), and deciding it’s initial value relative to other features in the program backlog. The next state (Technical Review) is where the technical stakeholders – architects, data analysts, UX and other required SME’s – will define a solution and implementation approach, and identify any significant technical or technology dependencies required for the implementation of the feature. This step may result in the addition of one or more ‘enabler features’ to the program backlog. These enabler features are needed to build out the so-called architectural runway for the delivery teams to build features on. The earlier the enablers are identified the better, as this will reduce the risk of discovering technical roadblocks mid-flight during the next program increment. During the technical review step a high level estimate for the level of effort or size of the feature should be made. This is needed as input to the final step which is the feature ranking step (described in detail here). Reaching the final state (Backlog) means that the feature has been reviewed and defined insufficient detail to support release planning.
Some organizations may take this a step further and map out a feature into its constituent user stories and story estimates. However in SAFe, this step is conducted during the PI planning event. Whatever approach is taken, it is most important that all features show up for release planning in a consistent state of preparation, that is, we have a definition of ready for features entering the release planning process. I’ve seen teams get very frustrated because they have story mapping and estimation complete, but are now waiting for another team to complete their analysis before they can move forward. All teams should have the same starting point. If we set up a proper kanban system to manage feature intake and refinement, then we will have explicit policies for entry and exit of each workflow state of the intake process.
Inputs (Pre-Work):
Process Steps:
Outputs:
To summarize, the PI planning event takes as input the highest priority feature list from the program backlog, and performs sufficient analysis (story mapping, sizing and scheduling), resulting in a reasonably good commitment on what can be delivered – PI objectives plus timelines – in the next program increment:
PI Planning Inputs And Outputs
The assumption at this point is that we have a Program Backlog sufficiently refined to support story writing and sizing. (Some teams may actually do story writing ahead of the planning event). PI Planning is carried out in 2 basic steps (with usually 1 day devoted to each). Each team will first create draft plans. These plans include 3 basic things: a feature delivery timeline, a set of PI Objectives, and a risk assessment. In this section we will describe the sequence of activities required to accomplish each major step. We will summarize the steps and then go through each one in detail:
Teams will separate into break-out sessions to work on these steps, using their team wallboards to capture the results of their planning work. Teams will then make a presentation of their draft plans to the entire gathering of teams and stakeholders.
Sometimes known as Story Mapping, this activity involves taking a set of features and breaking each one down into small slices of functionality that can be delivered in a single iteration. It is not necessary at this stage to define stories to the extent that they meet a definition of ready – that can be done closer to the iteration they will be delivered in as part of the backlog refinement process.
Basic Story Mapping
Story Mapping Step-By-Step:
2. Story Size Estimates
Since we may have a large number of stories to estimate, we need a faster method than holding a planning poker session for each individual story. One approach that can be used is estimation by linear affinity:
Bulk Estimation By Affinity Mapping
2. Scoring PI Objectives
Each team summarizes their overall PI in terms of objectives, and these are reviewed by the business owners. Business value is assigned to each objective (scored 1-10). Note what we want to see here is objectives and not just a list of features. What’s the difference? Formulate objectives by thinking about the problems that are being solved for the user (Better, Faster, Cheaper, and so on). Think of features as being the solutions to those problems. Features have specific benefits for the user, and these are usually traceable back to an epic ‘value statement’ and from there back to at least one of the strategic themes identified for the business. At least be able to articulate the answer to why the feature is needed in terms that a business stakeholder can understand.
At the beginning of the next PI planning event, completed objectives should be demonstrated to the business stakeholders, and each one should be re-scored based on the perceived value actually delivered. These scores are compared with the original scores. The number of completed objectives is compared with the plan and the Predictability Metric score is derived. This can be displayed using a control chart: (See below).
PI Predictability Control Chart
3. Program Risk Review
Teams will conduct a ROAM’ing exercise on their list of risks, that is, they will review each risk and assign them to one of 4 categories:
Those remaining risks that each team feels they need help with are consolidated in a single list at the front of the room, and are reviewed by the program team and stakeholders. Further attempts will be made to resolve or at least mitigate these risks, else they will be carried outside the event (by the RTE) to be worked on further.
4. Program Wall Board Update
The Program Wall Board represents the consolidated feature delivery timeline from all teams. It is used to provide a consolidated summary of features completion dates, enabler items, dependencies and major program milestones.
Here is an example:
Program Wall Board
In this example we have a program board with 8 teams (Vikings, Gauls, Celts, …) and 5 iterations, and a program board that shows the planned completion dates for each feature included in the PI. Red string is used to show dependencies between features or between features and enablers. Also included are any major milestones planned during the PI. Some teams make the mistake of placing user stories on the board. This is not necessary and only serves to clutter up the board. Once PI Planning is over, the program board can be a key information radiator for use at Scrum-Of-Scrums.
5. Program Confidence Vote
The Program confidence vote is a Fist-of-Five vote from all team members. Any vote less than 3 should be explored and commitments potentially re-worked until all team members vote at least a 3.
Fist Of Five Confidence Vote
6. PI Planning Event Retrospective
The final step before wrapping up the event is to conduct a retrospective of the event itself. It can be as simple as a 2-column table drawn on a whiteboard or flip-chart with a column for ‘what went well’ and another for ‘needs improving’. Participants invited to add their comments via post-its. Once all comments have been posted, a dot-voting exercise can be done to identify the issues most important to the gathered teams. This is to generate feedback and identify improvement actions for the next event. This exercise can be done fairly quickly with the RTE facilitating.
Here is one possible way to setup a room for a PI planning event.