Complete Details on SAFe Iteration Execution

Welcome to PremierAgile!

Recognized for 'Outstanding Leadership in Education and Learning' by the Education 2.0 Conference Dubai 2024

We are proudly recognized for Excellence in Agile Consulting and Transformation Services – 2023 by Economic Times and Times of India!

*Avail a Flat 10% Discount Across our Agile-Scrum certification courses use coupon code FESTIVE10

*Avail Zero Interest EMI

We Offer World-class guidance to transform yourself as well as your organizations

PremierAgile

With an objective to enable continuous learning and progression for our learners, PremierAgile curated several learning articles in the areas of Agile, Scrum, Product Ownership, Scaling, Agile Leadership, Tools & Frameworks, latest market trends, new innovations etc...

All About Iteration Execution in SAFe®

As we know, the Scaled Agile Framework (SAFe®) is an enterprise-level framework that works through various iterations. But before starting to work on iterations, the teams must first work on Program Increment (PI). The PI is considered a learning cycle, and in SAFe®, it comprises certain activities, which are as follows:

  1. Plan - This is the planning stage of PI
  2. Do - This is the execution part of the PI
  3. Check - Check means demonstrating the system
  4. Adjust - This means doing the inspection and adapting. It is termed Inspect and Adapt (I&A).

Once the PDCA cycle is completed, the team moves on to iterations. This is the do part of the PI cycle. We will discuss all iteration execution in SAFe®. Before talking about iterations, let us know what iterations are.

What are Iterations?

Iterations are the basis of Agile development, and an individual iteration is a standard timebox of a fixed length. The Agile teams provide a functioning and tested product in each iteration, thus delivering incremental value. The time frame in SAFe® is generally one to two weeks, but most commonly, the length is two weeks. Iterations help the teams by giving them a regular, foreseeable cadence so that they can produce an increment that can add some value.

Along with this, iterations also help the teams refine what they have already produced. The most significant advantage of iterations is that during these small-small periods, teams and all other stakeholders test and assess their theory in actual working conditions, whether technical or business-related. 

What is Iteration execution?

Iteration execution is the actual doing of iteration. This is how teams manage their work during the iteration timebox. Agile Release Trains (ARTs) in SAFe® face a significant challenge in producing high-quality systems. There may be a lot of preparation and planning. Still, without a proper and effective iteration execution, scaling becomes nearly impossible, and quality is compromised. During the planning stage, each team commits to some stories. During the execution stage, they define and then build and test those stories in collaboration. Teams regularly review the progress of iteration and strive to improve value flow using story, Kanban boards, and Daily Stand-Up events. Once the stories are completed, their demonstrations are carried out. This happens throughout the iteration.

Let's understand iteration execution in detail.

Iteration execution in SAFe®

If Agile teams are given the power to deliver the value fast, they feel motivated and energized. Compared to traditional management methods, this teaches a better understanding of what they are out to achieve. And for this, they must produce high-quality systems during each iteration. The method of doing this may differ in different teams, but the goal is the same, i.e., to deliver the stories they have committed during the iteration planning stage. 

SAFe® has four core values, and one of these is program execution. And even if teams are executing well at their level, in SAFe®, they work in a larger scheme of things. They are part of Agile Release Trains. And the purpose is to optimize program execution. Thus all the teams work together to achieve that. Here, ART provides the necessary guidance for team and PI objectives, which the teams have already agreed upon. All teams are expected to synchronize their work using the same iteration, cadence, and time so that when the review of the iteration or demonstration of the system takes place, there is uniformity in integration, assessment, and demonstration.

A successful SAFe® iteration execution will include the following elements:

  • Tracking iteration progress
  • Building stories serially and incrementally
  • Continuous communication
  • Flow improvement
  • Executing program

Let us describe each element in detail.

Tracking iteration progress:

Tracking the progress of any project or task is critical to its success. So it is with iteration also. All the team's activities, including User Stories and defects, should be visible to track iteration progress. Different teams use different methods to ensure this visibility. Like, Kanban teams use Kanban boards, and Scrum teams use storyboards. So most teams use Big Visible Information Radiator (BVIR) in their team rooms. This BVIR can be easily shared with all other Stakeholders using different ways. Many SAFe® teams use burn-down charts also. Since synchronizing multiple teams is essential in SAFe®, it recommends other sync points like reviewing the plan in mid-PI, Scrum of Scrums, and a Product Owner (PO) sync.

Building stories serially and incrementally:

There is a general tendency to waterfall the iteration. The teams should avoid falling into this trap. Instead, their focus should be on finishing many cycles of building and testing in the iteration. This will make the iteration fruitful. Similarly, building stories incrementally and implementing them in thin slices forms the basis of incremental development and testing. If the stories are built serially and incrementally, this also ensures that the feedback keeps coming at small regular intervals, which will help constant integration and testing. This way, team members can re-assess and better their understanding of the functionality. More frequent integration of the working system and pairing is made possible. The teams are co-dependent, and even ARTs are dependent. These dependencies can be reduced considerably or managed better by this method. Moreover, if the stories are implemented incrementally, it reduces uncertainty and risks. Decisions are validated without waiting for the completion of the whole process, and it encourages sharing knowledge.

Continuous communication:

Again, the teams that do not communicate regularly cannot function collectively, thus affecting the ultimate results. The teams must collaborate continuously. And for this, an open working environment is important. Coordination among the teams is essential. Otherwise, there would be undue hassles leading to delays. In the case of the different geographical locations of the teams, they must always leave their webcams, messaging, and other tools in an on position. The Daily Stand-Up plays a vital role in team collaboration and communication. Every day, the teams meet at a fixed time to review what they have done the previous day for the progress of iteration objectives and what they will do that day for this purpose. They also reflect on the impediments obstructing their progress toward achieving the iteration objectives. Daily Stand-Up is the focal point of synchronizing the teams. It is most valuable when they do it in front of BVIR. This makes it easy for the team members to show the stories they are talking about. One thing should be clear Daily Stand-Up is not a platform for solving problems or presenting a status report to the management. Instead, it is used for syncing the teams' activities and highlighting the hindrances blocking the progress that need to be resolved later. Daily Stand-Up is a strictly time-bound affair with a time limit of 15 minutes.

Flow improvement:

There is always a need to improve the flow continuously. In the context of SAFe® iteration execution, flow improvement involves certain aspects. The first of these is managing Work In Progress (WIP). When limitations are put on WIP, it helps avoid bottlenecks and improve the flow. All the SAFe® teams must clearly understand their WIP and its effect on their workflow. The limits applied to WIP can be explicit or implicit. Like when a team decides to take work only as per the prediction of iteration, which estimates the amount of work they can complete, it matches their capacity to complete the number of stories in an iteration. So the demand and the capacity match. The iteration timebox limits the WIP.

The second aspect is the in-built quality. Agile Release Trains (ARTs) complete and deliver new systems or features in the shortest possible time. But this is possible only when they develop high-quality solutions that encourage development velocity. Thirdly, all through the iteration, stories are constantly reviewed and accepted. The functionality is demonstrated and is reviewed against the Acceptance Criteria by the Product Owner. The stories that are not accepted have to be reworked by the team. The next is test automation. This means that the Acceptance Criteria for the stories are turned into an automated acceptance test. This is done by using Behavior-driven Development. And lastly, constantly integrating and migrating the work to the next level, like staging environment or production deployment, makes the value flow faster.

Executing program:

All Agile teams in the ARTs work toward one common goal of executing the PI objective of the ART successfully. The focus is on planning, learning, and demonstrating their work together so that they do not only focus on their local issues. Once the teams are aligned in such a way, the integration, deployment, and release of value become more effective. For this purpose, teams in an ART should integrate multiple times during an iteration and have collective Daily Stand-Ups and demonstrations. 

These are essential elements of a successful SAFe® iteration execution. Teams must work in tandem, synchronization is vital, and constant communication is essential. Program execution depends on how teams collaborate. Teams must not overburden their work and take up less than they can complete. This is all about execution in SAFe® iteration. 

References
  1. https://www.scaledagileframework.com/iteration-execution/
  2. https://mashimo.wordpress.com/2021/05/01/SAFe®-2/


Author

Paula

Is a passionate learner and blogger on Agile, Scrum and Scaling areas. She has been following and practicing these areas for several years and now converting those experiences into useful articles for your continuous learning.