Iteration Goals

Iteration Goals are a high-level summary of the business and technical goals that the Agile Team agrees to accomplish in an Iteration. They are vital to coordinating an Agile Release Train (ART) as a self-organizing, self-managing team of teams.

Whether the teams apply Scrum or Kanban, iteration goals give program stakeholders, management, and Agile teams a shared language for maintaining alignment, managing dependencies, and making necessary adjustments during the execution of the program increment.

Details

As described in the Iteration Planning article, the planning process produces three outputs:

Iteration goals are achieved by completing backlog items, even though it may not be necessary to finish every story to meet the goals. In other words, the goals for the iteration override any particular story. On occasion, it may even be necessary to add new user stories to achieve the iteration’s goals.

Why Iteration Goals?

In the Agile Release Train (ART) context, iteration goals help in understanding and maintaining a larger view of what the team intends to accomplish in each iteration, and what to present in the upcoming System Demo.

Iteration goals support three of the four SAFe Core Values transparency, alignment, and program execution. Simply committing to complete a set of stories in an iteration is insufficient. The team must continually review the business value of each iteration, and then be able to communicate it in business terms to the Business Owners, management, and other stakeholders.

Although Kanban teams don’t typically use iterations, in the same way, that ScrumXP teams do, iteration goals still provide transparency and alignment, when they are part of an ART.

Align Team Members to a Common Purpose

The execution of an iteration goes by very quickly. It’s a fast and furious process. Iteration goals help the team, and Product Owner to reach agreement on the initial business value they intend to deliver, align the team and program PI objectives, and ground everyone on their shared purpose, as Figure 2 illustrates.

Figure 2. Iteration goals help align the team to the program PI objectives

Align Teams to Common PI Objectives and Manage Dependencies

Agile teams are not islands of agility. Instead, they are integral parts of the broader Program Level context and purpose. As a result, the intent of upcoming iterations requires communication with other teams and the Release Train Engineer (RTE). Iteration goals facilitate alignment with the program PI objectives. Also, they provide the necessary context for discovering dependencies and developing a resolution, as Figure 3 illustrates.

Figure 3. Iteration goals align teams and help identify dependencies

Provide Continuous Management Information

Scaling to the program level depends on creating a leaner, more empowered organization in which management can handle more responsibility, using organization skills to eliminate impediments and drive improvements.

However, management cannot and should not relinquish its responsibility to understand what the teams are doing and why they are doing it. Managers are still accountable for the effectiveness of the development organization and the value delivery outcomes. Moreover, aggregating iteration goals for a train provides a simple two-week summary of what’s happening, as Figure 4 illustrates.