SAFe (Scaled Agile Framework) — an introduction

SAFe

SAFe is a framework for scaling Agile in large organizations. It consists of two to four levels:

  • Team level
  • Program level
  • Large Solution level (optional)
  • Portfolio level (optional)

Here’s a diagram that illustrates Full SAFe, the most comprehensive version of the Scaled Agile Framework:

SAFe

Team Level

At the team level (referred to as Agile team), SAFe suggests working similarly to Scrum. However, teams can also choose to work in Kanban or Scrumban. Teams collaborate to deliver working software every two weeks. The Product Owner is responsible for the Team Backlog. Iteration Planning, Stand-up, Review, and Retrospective are largely similar to their standard Scrum equivalents. However, SAFe proposes additional best practices. One significant aspect is Built-In Quality, which consists of practices that should be followed for every increment. This concept resembles the Definition of Done in Scrum, although in Scrum, the Definition of Done is determined by the Development Team. While SAFe also employs a Definition of Done at the team level, it is essentially overshadowed by the concept of Built-In Quality.

Program Level

At the program level, SAFe scales the same elements used at the team level. Here, multiple teams work together to deliver a collective output, which can involve up to 150 people. The teams work to create a Program Increment, which is delivered after five Sprints (10 weeks).

The teams and stakeholders together form the Agile Release Train (ART). Agile Release Trains are aligned with a common business or technology mission. They plan, develop, and deploy together.

A key advantage of Agile Release Trains is their set frequency (about every 10 weeks). Business features that miss one train can catch the next. Releasing is typically decoupled from the development cadence.

The content for each Release Train, known as a Potentially Shippable Increment, is determined by a Product Manager through a Program Backlog. This Program Backlog contains most of the items that populate the Team Backlogs. The Release Train Engineer, equivalent to a Program Manager in SAFe, serves as the Scrum Master for the train.

A Program Increment begins with a Planning meeting attended by everyone from the teams. During this meeting, the vision and roadmap for the train are established. Teams then break off to discuss what they can achieve within the train while aligning with other teams. They plan several Sprints ahead at the feature level, which contrasts with Scrum, where planning is done one Sprint at a time to optimize empiricism. The teams’ commitments are then mapped on a Program Board, which also includes dependencies between teams.

Scrum Masters and the Release Train Engineer hold bi-weekly meetings to ensure that goals remain attainable. The aim is to have the entire train sprinting together, with no teams working ahead or falling behind.

At this level, there are four Sprints to deliver the Potentially Shippable Increment. The fifth Sprint is dedicated to hardening, innovation, and planning. This approach differs from standard Scrum. Hardening involves final verification and testing, innovation focuses on exploring new ideas, and planning includes the demo at the program level, maintenance of the train, and planning for the next 10-week cycle.

This level also introduces the architectural runway. During each 10-week cycle, teams are expected to lay down the tracks for the next cycle. This responsibility falls to the architect.

Large Solution Level

This level is intended for managing large solutions that cannot be handled by a single program (Agile Release Train). The larger solution is coordinated by a Solution Train, consisting of a Solution Manager, Solution Architect, and Solution Train Engineer. They align and coordinate multiple Agile Release Trains.

Portfolio Level

Portfolio Management directs the trains by allocating the budget. At this level, a Backlog of Portfolio-level Epics trickles down to the trains’ Product Managers. Kanban is used at this level to minimize overhead.

Four Configurations

SAFe offers four different configurations:

  • Essential SAFe: Comprising the Team level and Program level.
  • Large Solution SAFe: Comprising the Team level, Program level, and Large Solution level.
  • Portfolio SAFe: Comprising the Team level, Program level, and Portfolio level.
  • Full SAFe: Incorporating all four levels.

SAFe

Here are some items where SAFe differs from Scrum:

SAFe recognizes many different roles that operate outside the scope of Scrum. It also deviates from Scrum in several other key areas:

  • Product Owners don’t own the Product Backlog but instead own the Team Backlog. The Team Backlog is populated from the Program Backlog, which is owned by the Product Manager. In full SAFe, the Program Backlog is filled from the Portfolio level or Large Solution level.
  • SAFe incorporates Design Sprints, which are not supported by Scrum. Scrum’s focus is on delivering “a potentially releasable Increment of ‘Done’ product at the end of each Sprint” (Scrum Guide 2017).
  • SAFe utilizes Architectural Runways, which are not supported by Scrum for the same reason.
  • SAFe includes Hardening Sprints, which are also not supported by Scrum for similar reasons.

There are many more differences, but these are the crucial ones in my view.

Bottom Line

SAFe is designed to cater to large organizations with complex solutions where alignment is considered critical. As a result, SAFe prescribes numerous practices across four different levels and recognizes many roles. It adds a significant number of roles, events, and artifacts to Scrum, making it by far the most comprehensive and heavyweight scaling framework for Agile practices.

Bestarion Website Admin