The Scaled Agile Framework® is the most popular method for scaling Agile for enterprise use. It builds upon Scrum, XP, and Lean Agile development processes, but in addition provides an architecture necessary to scale Agile in a controlled manner.
Overview of SAFe®
SAFe (4.0) differentiates between four different levels: the Team, Program, Portfolio and the optional Value Stream Level. These levels represent the enterprise architecture from the operational level (e.g. the Team level, where software is being coded) to the strategic business level (Portfolio).
The framework uses Agile Release Trains (ARTs) as the overarching processes of value delivery in a scaled Agile environment. ARTs span the entire lifecycle and transcend the boundaries of the three levels.
Agile Architecture under SAFe is based on a set of values and practices to support "emergent design", which supports the evolution of a system's design and architecture as it's being developed. On the other hand, however, the flexible (and inherently impossible to plan) nature of Emergent Design can sometimes be insufficient, which is why SAFe operates with another concept: that of Intentional Architecture.
In order to understand the basic underpinnings of SAFe's architecture, let us present the fundamental principles it is based upon:
The 7 Principles of Agile Architecture under SAFe
Design emerges. Architecture is a collaboration.
The bigger the system, the longer the runway.
Build the simplest architecture that can possibly work.
When in doubt, code, or model it out.
They build it. They test it.
There is no monopoly on innovation.
Implement architectural flow.
What is Emergent Design?
Emergent Design was adopted from Simple design (XP), the purpose of which is to implement minimilism in coding. Emergent Design is a direct consequence of working based on Agile's main values.
Essentially, it means starting development with the known elements of the user story at a point in time, and extending the design as more is learned over time. Therefore, it supports incremental development, and promotes the evolution of the product. As changes and new features are developed based on user feedback, the design emerges during the system's development lifecycle.
There is, however, another important concept that helps understand SAFe's architecture: Intentional Architecture.
What is Intentional Architecture?
Intentional Architecture is, to put it bluntly, the flipside of Emergent Design. The concept refers to planned ("intentional") initiatives that help develop architecture where Emergent Design just won't cut it. In the development of scaled systems, the somewhat ad-hoc nature of ED is insufficient, and Intentional Architecture aims to give some guidance to teams to align their work.
Architecture of the Scaled Agile Framework (SAFe®)
So how exactly is Emergent Design supported in a SAFe environment? Let us go through some of the key architectural elements and practices of the SAFe framework, based on the level they pertain to:
Teams use ScrumXP or Kanban to develop systems in an iterative, incremental manner. Teams are the most basic elements of ARTs, so they are essentially building blocks of the SAFe framework. Architecturally speaking, the most important term with regards to teams is "iteration" – from planning through review, execution, and retrospectives, teams contribute to the ART in iterations.
The Agile Release Train is the key concept on this level. ARTs comprise of 5-10 teams working on producing a Potentially Shippable Increment (PSI) every 10 weeks or so. During Release Train Planning, teams work out a well-formulated business and architectual vision and clear team goals are set.
Another important architectural element of SAFe is the Architectural Runway, a fundamental tool to support the Agile Architecture strategy. The Runway consists of code and infrastructure to help implement new features – in other words, it provides some fundamental underlying architecture to help you plan your Program Increments.
The Enterprise Architect drives work as per the Portfolio Backlog working with Architectural Epics. These Epics are large technology initiatives to support current and future business needs. As economic drivers for the program level, Architectural Epics are managed via Kanban, and their reviewed and approved elements make it into the Portfolio Backlog.
If you're a software expert looking to educate yourself on the Scaled Agile Framework, it should be evident for you by now that SAFe is rather complex. The theory is not easy to decipher, and putting all this into practice is also far from being an easy task. Experts working with SAFe use advanced tools to help them implement architecture & development, orchestrating the work of ARTs across levels.
Intland software's codeBeamer ALM is an Application Lifecycle Management platform built for enterprise use. It is the first proven implementation of SAFe in the Agile ALM world, and provides a preconfigured template to support development using this framework. To learn more, contact us with your questions, or start your free trial of codeBeamer ALM today!