Agile Release Train
What is an Agile Release Train and how is Program Increment related to it?
Nowadays many companies that work on software development practice chaos and confusion. Their teams are delivering the wrong work at the right time. Sometimes upper management is even thinking about pulling the plug and going back to the older Waterfall days. Other companies, on the contrary, are increasingly thinking about Agile at scale.
The larger the business, the more likely it’ll have scheduling conflicts, cross-team dependencies, and challenges creating transparency between the business, product, and teams. This is where SAFe may come to the rescue.
The Scaled Agile Framework is intended to coordinate work across many Scrum teams. And part of the SAFe framework is the Agile Release Train concept (ATR).
If you are not familiar with ART, you’re in the right place. In this post, we describe the meaning of ART, explain why it helps companies to deliver software solutions more efficiently, and how you can implement it in your company.
What is an Agile Release Train?
The Agile Release Train is a continuous delivery of features that add value to clients. This is a pre-planned release cycle that is thoroughly planned into phases of which individual projects and release teams must align with the aim to deliver their release. ART is also a self-organized group of Agile teams that develops, performs, and implements all together in an incremental manner.
What about the train metaphor?
A train goes down the tracks. It has a goal to reach its specific destination. During its route, it may stop at various depots and add new passengers or cargo.
The software solution you develop is the train tracks. The contribution to that solution made by your team is the cargo you grab at the depots. And finally, the destination is the business value delivered to your clients.
With the help of ART, teams can stay aligned on the business goal and coordinate the solutions’ delivery. It determines the input and timing of each team’s contributions that help to reach the business objective for the value stream.
Release teams should align to these trains as they have changes that affect other parts of the company outside of their own system changes. Agile release trains are usually set up as a quarterly delivery window. However, they cover up to ten months due to planning and integration dependencies.
ARTs require high-performing teams
Professional Agile teams can be considered as building blocks of ARTs. Creating high-performing teams provides motivation for more teams and proposes the blueprint for replicating its success.
Effective Agile teams are:
- Stable. They don’t change over time and present team members with opportunities to grow. Especially when they work directly with members outside their main expertise areas.
- Cross-functional. Constant collaboration with other ART team members is also critical to long-term success (as delivering a product usually involves the work of several organizational departments).
- Autonomous. They are self-organized and work autonomously to deliver functioning improvements of product or incremental value continuously.
What are the ART roles?
Besides Agile teams, there are additional roles that help to ensure successful ART execution:
- A release train engineer who facilitates program execution, impediment removal, risk and dependency management, and continuous improvement.
- A product management team that is focused on what gets built. They work with Product owners and customers to define and communicate their needs. They also participate in solution validation.
- System architect/engineering is a team that defines the overall architecture of the system. They define non-functional requirements, key system elements, subsystems, and interfaces.
- Business owners, who have ultimate responsibility for the business outcomes of the Release Train.
- Customers – the ultimate buyers of the solution.
What Are the Main Principles of ARTs?
Agile Release Trains assumes the set of specific principles, which are listed below.
Schedules should be fixed
According to ART, work is planned and delivered on a fixed schedule that is defined by the PI (program increment) cadence. The length of PT is typically 8-12 weeks. In case a feature or a project is not planned into the current PI, it is not started until the next one begins.
Every two weeks – a new system increment
Agile Release Train sync meetings operate in two-week cycles – we know them as system increments (similar to how Scrum teams operate in sprints).
Synchronization is needed
In order to keep ARTs aligned, all teams should be synchronized to the same PI length and operate on the same schedule.
The train has a known velocity
Operating with historical data for reference, ARTs can estimate how much work can be delivered in a single PI as well as plan the workloads.
Agile teams are critical elements of Agile Release Trains. They embrace the Agile Manifesto and implement various Agile methods for their work (for example, Kanban, Scrum, or XP). They are stable, cross-functional, and autonomous.
In order to maintain the sustainability and stability of the train, most people included in the ART are dedicated to it full-time.
Face-to-face PI planning
Agile Release Train plans its work at periodic, mostly face-to-face PI planning events.
IP (innovation and planning)
Agile Release Trains hold an IP iteration at the end of every program increment. IP iterations happen at the end of every PI. They provide an estimating guard buffer and dedicated time for PI planning, education, innovation, and infrastructure work.
Inspect & Adapt
An Inspect and Adapt (I&A) event is held at the end of each PI. During this event, the current state of the solution is demonstrated and estimated. Teams should determine improvement backlog items with the help of a problem-solving workshop.
Develop on Cadence, Release on Demand
As we’ve noted above, ARTs are developed in fixed cadences, to help mitigate the variability. However, to deliver value quickly, releasing is usually decoupled from the development cadence. ARTs can release bits of realized value at any time while work passes governance and release criteria.
ARTs are organized around value
Agile Release Trains are usually virtual organizations that involve specialists required to determine, deliver, and operate the solution.
This organization does not deal with traditional functional silos that may exist. Developers collaborate with developers, and testers work with other testers. Systems engineers and architects also work with each other, while operations work by themselves.
The value does not flow quickly because it must cross all the silos. Managers should be involved daily in order to move the work across these silos. Therefore, progress is slow.
ART implies systems thinking and organizing around value to create a cross-functional organization. It has everyone and everything it needs to define, deliver, and operate solutions. This creates a far leaner organization and the value flows more quickly.
What Are the Levels of ART?
1. ART at the team level
The Scaled Agile Framework at the team level is achieved by following the Scrum approach. A product backlog is defined at a team level. A Scrum team is chosen (usually 5-9 members). This team selects user stories from the backlog and works in a fixed sprint length ( usually 2 weeks). After several sprints, ART is delivered. This is known as the Scaled Agile Framework or ART at the team level.
2. ART at the program level
Agile Release Train at the program level is often applied in most companies. It is achieved by creating multiple Scrum teams performing for a single project or product.
ART at the program level involves up to 100 people. A product backlog is defined at the product level and consists of features that are broken down into stories. With the help of ART, Scrum teams decide which features will be delivered in which release. Then they pick up the features or stories from the common backlog and work upon them in a 2 weeks sprint.
3. ART at the portfolio level
When ART is planned with a team of up to 1000 individuals then it is the ART at the portfolio level. It is when product backlog and Agile Release Train are planned at the enterprise level. This is when multiple projects with multiple Scrum teams work together with each other to reach a goal at an enterprise level.
What Are the Steps to Launch a SAFe Agile Release Train?
1. Training SAFe consultants
Start with training your SPCs, the change agents responsible for transformation, and connecting the SAF to your company. With the help of SPCs, the leaders and stakeholders will learn how to drive the Agile Release Train to its destination.
2. Training the Lean-Agile leaders
It is expected that Lean-Agile leaders understand and implement the principles of SAFe. They are responsible for leading and facilitating this framework adoption for improved outcomes. In order to get a smooth transition, you will need to train these leaders up to the best standards.
3. Defining ART and value streams
SAFe ART is a procedural system. That is why you should clearly denote all responsibilities of solution defining, creating, validation, and deployment.
4. Forming ART and Agile teams
The roadmap related to the organization of the ART and Agile teams includes the following millstones:
- A product with features
- Leadership support
- Minimized dependencies
- Well-managed DevOps activities
5. Identifying ART roles
You should clearly define all essential ART roles to help product managers, Scrum Masters, POss, the release train engineer, system architect perform the best at par with customer’s expectations.
6. Preparing the program backlog
The scope of PI (or what is built) is defined by a program backlog that informs about the upcoming features, architectural work, and NFRs. If you gain a vision about the future behavior of the system you will be able to create short stories for Agile teams.
7. Training the teams
In order to deliver the maximum values at each sprint, it is worth constantly training the teams. This is a significant part of ART readiness to ensure the on-the-time best quality product delivery.
8. Running a PI planning
PI planning is a face-to-face meeting. This event empowers the ART to align all the teams for the shared mission and vision.
9. Preparing the program calendar and setting a launch date
Scheduling the first PI planning focused on the forcing functions and date-specific launch with the PI calendar is the next step.
10. Performing innovation and planning iteration
Innovation and planning iteration is run to absorb the variances in estimates, refine the backlog, and allot time for innovation.
Organizations that strive to optimize their Agile teams and turn them into Agile Release Trains receive an essential return on their investment in digital and Agile transformations by connecting business strategy to team-level delivery, reducing team costs by limiting re-work, boosting Agile team delivery by visualizing different work methodologies and fostering collaboration.
The ART concept is central to understanding the constructs of SAFe and to implementing them. Use your Agile and Scrum knowledge and train in SAFe practices to build your first Agile Release Train. You will learn by doing but save yourself and your team money and headaches and invest in training first.