What Is an Agile Release Train? The Lean Way to Launch Your Enterprise Software

You can use Agile release trains (ARTs) as a way of applying scaled Agile framework (SAFe) principles at your enterprise. Learn everything you need to know about ARTs in this easy-to-follow guide.

Sharing is caring!

by Matias Emiliano Alvarez Duran

01/15/2023

When an idea grows from a prototype to an enterprise-level application, the number of people you need to develop, launch, and maintain it will grow too. 

You need a big team to maintain big applications. An Agile release train (ART) is exactly that; a big team of Agile software developers, working towards launching enterprise-level software. Within an ART, you’ll find pods of individuals focused on smaller objectives, all delivering continuous and incremental value to the wider development project. 

By the end of this blog, you’ll be able to explain what an ART is, what makes it unique, and what vital components are needed to make it run. 

Table of contents:

Ready to build your own custom software with a team that cares about you and your processes? We’re not code monkeys, we care about you.

What is an Agile release train?

An Agile release train (ART) is a scaled Agile framework (SAFe) development practice that consists of five to fifteen Agile pods collaborating together to build a solution. These 50 to 125+ individuals are planning, committing, and executing together. 

Agile pods are self-managed and independent teams of around five developers and engineers. They work together to plan, organize, develop, and deliver functional code that integrates with the train’s overall objective.

ART developers work in program increments (PIs) and participate in different pod-level and ART-level events or ceremonies.

Agile release trains use several self-organizing teams to achieve linear and incremental business results.

What are the characteristics of an Agile release train?

 An ART needs a release train engineer that’s in charge of orchestrating the process end-to-end and reducing blockers or duplicates. As you’ll see below, ARTs also follow Agile software development principles while carrying out work in a series of program increments.

Agile is everything

The name gives it away but ARTs are part of SAFe, an Agile software development framework. Having an Agile mentality is what makes these teams collaborate effectively. Agile teams are great at planning work in increments—also called user stories, sprints, or timeboxes. Agile developers also excel at iterating and working on continuous improvement

Here are several principles from the Agile manifesto that ARTs embody:

  • “Business people and developers must work together daily throughout the project.” Agile release trains work closely with the client to meet their goals through continuous delivery and evaluate progress on daily standups.

  • “Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for a shorter timescale.” ARTs need to deploy working code in every program increment.

  • “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” ARTs host different ceremonies to reflect on the team’s work and make improvements in the next PI. These are:

    • Prepare for PI planning (ART level)

    • PI planning (ART level)

    • Scrum of scrums (ART level)

    • Product Owner (PO) sync (ART level and client participation)

    • System demo (ART level)

    • Inspect and adapt (ART level)

    • Daily standups (team level)

    • Interaction retrospective (team level)

    • Iteration review (team level)

    • Backlog refinement (team level)

Autonomy, stability, and collaboration 

Agile release train teams must be autonomous, stable, and cross-functional.

Autonomous

Agile pods are a self-organized complete entity, making decision-making much more efficient. The deliverables need to function on their own but connect to a bigger platform or system. Each pod delivers continuous incremental business value.

Stable

Agile teams shouldn’t change during the course of the project. This allows the dedicated team members to grow and become experts within their pods. 

Cross-functional

Agile teams don’t work alone. They involve different organizational departments to collaborate and aim for long-term success. A pod may include a developer, DevOps, Q&A engineer, product owner, and business analyst.

Agile release trains collaborate across functions to provide high-quality software and business solutions. Source: Image by Christina Morillo on Pexels.com

Everything happens in program increments (PIs) 

ARTs work in PIs, a timebox linked to a fixed schedule of eight to twelve weeks long. Within these timeboxes, each Agile pod delivers incremental value by producing working, tested software. Within each PI, developers aim to meet specific objectives—no other objectives are considered until the PI is complete.

The pods use iterations (2 weeks of work) to plan, build, and validate the code. Iterations allow them to implement feedback fast and increase the value stream. ARTs use events like program backlog refinement and PI planning to take care of assigning additional tasks.

Velocity is crucial in PI planning and defining the project timeline

The release train engineer (RTE) is responsible for assuring the development is running smoothly. Just like the scrum master would take a look at the team’s productivity metrics, the release train engineer reviews the team’s known velocity to assign tasks from the backlog to each system increment. Then, they use the information to determine the number of total increments and project timelines. 

Synchronization is key 

All the pods in a SAFe Agile release train need to be headed in the same direction. You can help achieve that by providing RTE with specific goals. Imagine your ART is a real train, driving from Minnesota to Southern California. 

Each pod is a different wagon that’s connected to the main train. The client is the passenger who buys the train ticket and the release train engineer is the driver. If one wagon tries to head in a different direction to the rest, the train will either stop or collapse, and the passengers could lose their cool. So, it’s the driver’s responsibility to make sure all the wagons are properly aligned and steer the train smoothly to California.

So, each ART team must follow the same program increments and complete their assigned tasks to a T. Synchronization is an Agile release train's last name. 

Inspect and Adapt (I&A) sessions are used to evaluate solutions 

I&A is an event that happens at the end of each PI. The entire ART team will hold a final system demo, look back into challenges, and gather feedback. It’s the Agile release train version of a retrospective ceremony.

What roles make up an Agile release train?

An Agile release train needs the intervention of many team members, such as:

  • Release Train Engineers (RTEs): This is the most important role in an ART. This person is a servant leader that needs to keep things hot with the following SPICES:

    • S: Support. RTEs encourage the teams to become better all the time and have an Agile and growth mindset.

    • P: Prepare. RTEs prepare events and PIs. They need to have good preparation and Agile development planning skills.

    • I: Impediments. They manage different teams that are continuously delivering working software at different levels. The engineer needs to help solve potential managerial or technical impediments.

    • C: Campaigner. RTEs need to be advocates of the Agile culture. It’s not easy to get the leadership or other teams fully on board with a new process. RTEs are the campaign managers for Agile adoption. 

    • E: Engineer. The release train engineer needs to know how to solve some engineering tasks and foster information sharing across Agile teams.

    • S: Solution delivery. It's not enough to get the software deployed. RTEs need to make sure the solution is coherent enough to evolve into significant business processes or a user-friendly solution. 

  • Business Owner: ART internal key stakeholders. They’re in charge of delivering the expected business outcomes. 

  • Product Manager: Knows the product like no other. Understand the vision and strategy, and communicate it to the ART teams, internal, and external stakeholders. Puts end-users satisfaction first. 

  • Product Owner: Guarantees the ART is delivering value to the product. They also know the product’s vision and strategy and use that knowledge to ensure the delivered work is up to standards.

  • Scrum Master: An Agile expert. It’s responsible for leading daily standups, reminding the team of best practices, and helping others follow processes. 

  • System Architect/Engineer: Responsible for designing the system architecture and visualizing the big picture to guarantee the system works smoothly.

  • Product designer: Turns working software into visually appealing and easy-to-use applications.

Each one of these professionals guides the Agile release train in the right direction. The RTE is the driver, you can’t operate the train without them.

Don’t have the people? Try an augmented team

Think of augmenting your team with external Agile pods if you don’t have enough developers, or if your internal team lacks expertise: 

  • Using a particular language like Node.js 

  • Building infrastructures based on cloud providers like Amazon Web Services (AWS)

  • Implementing Agile principles and ceremonies

NaNLABS developers live and breathe Agile practices. We’re also used to working in self-organizing and autonomous Agile teams that all aim towards the same north star metric. 

But we don’t work in silos. We raise potential challenges in a timely way and always share ideas on how to improve processes. Plus, we integrate with your team by asking questions, respecting your communication styles, and adopting your goals as our own. 

Ready to build your own custom software with a team that cares about you and your processes? We’re not code monkeys, we care about you.

What software development tools do ARTs use?

ARTs use many different Agile software development tools. These are the most relevant ones:

  • Jira. Use this project management tool for handling high-level and individual cross-functional goals. 

  • Repositories like GitHub. To simplify collaboration, storing, and tracking different projects. 

  • Kubernetes. To orchestrate large containerized applications. Kubernetes enables teams to share common services and continuous integration/continuous deployment (CI/CD) processes.

  • Monorepo tools like Bazel. Use a single code repository for several different projects and establish the relationships between them. Benefits of this Agile development approach include:

    • Having the same CI setup instead of versioning each time for the same repository users. 

    • Making atomic commits across teams and projects.

    • Using one version to simplify deployment and code dependencies.

Agile release trains can use many different tools to function, but you’ll be better off with Jira, GitHub, Bazel, and Kubernetes.

Agile release trains: Key takeaways

In ARTs, everything happens in program increments (PIs). You’ll get eight to twelve weeks of work where Agile pods deliver incremental value, all led by a release train engineer who plans PIs and project timelines using known velocity. 

It’s good practice to use Jira, code repositories, monorepo tools, and Kubernetes for a synchronized development workflow. Each Agile pod can share its best practices in retrospective events like Inspect and Adapt. 

If you’re short on developers or don’t have the expertise in-house to build certain features, augment your team with a NaNLABS Agile pod. We’ll merge seamlessly and adapt to your culture, as well as, provide new ideas, expert advice, and high-quality code. 

Ready to build your own custom software with a team that cares about you and your processes? We’re not code monkeys, we care about you.

Frequently asked questions about Agile release train

  • What is the benefit of an Agile release train?

    The benefit of an Agile release train is that it helps achieve challenging engineering goals with an orchestrated development approach. With several individuals working in self-organizing Agile teams, you can focus your efforts by assigning crucial tasks to different groups at the same time. 


  • What is PI planning in ART?

    PI planning in ART stands for program increment planning. It’s a face-to-face planning event that happens every eight to twelve weeks at the end of the previous increment. PI planning events are held to align all the Agile pods that collaborate on the ART with shared goals, vision, and mission. It’s like the power cord of the Agile release train as it keeps the teams alive.


  • What’s the difference between Scrum and SAFe?

    The difference between Scrum and SAFe is the scope of work. They’re both Agile frameworks and approaches to work organization.SAFe is used for organizing complete businesses and happens at a scale. Scrum is used mostly on internal and smaller teams. Scrum uses sprints to organize work (1-4 weeks), while SAFe uses program increments (8 to 12 weeks). 


  • What’s the difference between a release train and a product backlog?

    The difference between a release train and a product backlog is that the release train is the pending work on a program level, but a product backlog happens on a product level. That means that a release train is the list of pending work and features that need to be prioritized. The product backlog is the list of work and features that haven’t been prioritized or assigned.

More articles to read

Previous blog post

Client Stories

01/19/2023

Quality MVP Development Services: How We Helped Popr.ai design, build, and launch its MVP with Node.js

Read the complete article

Next blog post

Web Technologies

01/15/2023

Node.js as Backend: What it is, When to Use it, & Frameworks to Try

Read the complete article