Enterprise

Agile Release Train: The Way to Launch Your 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.

Matias Emiliano Alvarez Duran

Matias Emiliano Alvarez Duran

Agile Release Train: The Way to Launch Your Software

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.

Illustrated graph of the incremental value of an Agile release train

Illustrated graph of the incremental value of an Agile release train

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:

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.

Two developers looking at a screen collaborating on a piece of code

Two developers looking at a screen collaborating on a piece of code

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:
  • 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.
Illustration of an Agile release train with the different roles taking part in the development process

Illustration of an Agile release train with the different roles taking part in the development process

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:
Compilation of logos of Agile release train tools

Compilation of logos of Agile release train tools

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