7 min read
5 Steps to Lay the Tracks for Your Agile Release Train06, Apr 2021
Your company has finally committed to practicing Scrum. WOOT!! 🎉 The promised land is laid out before you — self-organizing teams, sustainable delivery pace, and autonomy to do the right thing for the product and the team. You can't wait to get started! (Spoiler alert: There's an agile release train in your future.)
That was three months ago. Today, your product development organization is a hot mess. Teams are delivering the wrong work at the right time. Code is stuck on a shelf waiting for another team to deliver a dependency. And upper management is thinking about pulling the plug and going back to the older waterfall days.
If you work in a large organization with 50+ software developers and engineers, Scrum can be a tough nut to crack. The larger the organization, the more likely you'll have cross-team dependencies, scheduling conflicts, and challenges creating transparency between the business, product, and engineering teams. But fear not...
SAFe to the rescue! SAFe is short for scaled agile framework. Intended to help large companies implement Scrum, SAFe provides a framework for coordinating work across many Scrum teams.
Part of the SAFe framework is the concept of an agile release train (ART). If you're not familiar with ARTs, you're in the right place. We'll explain what an ART is, why it helps large companies deliver software solutions more efficiently, and how you can start an ART at your company.
Want to empower your team to implement the Scaled Agile Framework (SAFe)?
Try Easy Agile Programs
So, what is an agile release train?
First, let's explain the train metaphor. A train goes down the tracks intending to reach a specific destination. Along the way, the train may stop at multiple depots and add new cargo or passengers. Your software solution is the train tracks. Team contributions to that solution are the new cargo you pick up at the depots. And, the destination is the business value delivered to your users. Simple enough, huh?
ARTs help a group of teams stay aligned on the business purpose of their work and coordinate the delivery of solutions. Your teams are probably organized by function or value stream. An ART identifies the input and timing of each team's contributions that help achieve the business objective for the value stream. Think of it as cross-functional coordination on steroids.
Here are some basic requirements for an ART:
- The schedule is fixed so the scope is variable. But don't panic — once your teams have a consistent velocity, confidence in the scope will increase.
- All teams must be on the same sprint and release cadence.
- Each team follows the values and principles in the Agile Manifesto.
- ARTs participate in planning events for program increments (PIs) and inspect and adapt (I&A) ceremonies, which are similar to retrospectives and system demos.
- Innovation and planning (IP) iterations must be regularly scheduled between program increments. This provides your large team of individual agile teams time to innovate, update infrastructure, or indulge in some specialized training or a hot tech conference. IP iterations also offer a nice buffer in case your PI gets behind schedule.
If your organization is large enough, you may need multiple agile release trains focused on independent value streams. If that's the case, you may need an additional level of coordination found in a solution train. But let's not get ahead of ourselves.
Roles in a SAFe agile release train
Generally, teams use an ART in a Scrum environment, but, SAFe and agile release train concepts can apply to any agile methodology, including extreme programming (XP), Lean, or Kanban. Regardless of your chosen agile methodology, there are specific roles required to run an ART.
You can't have an ART without agile teams. Thank you, Captain Obvious. 🙄
One difference between SAFe and traditional Scrum is that ARTs allow you to operate with teams dedicated to a specific function, like frontend or backend development, quality assurance, devops, security, and business or product functions. ART itself is cross-functional so your teams don't have to be.
Each team is required to have a Scrum Master and Product Owner, just like in Scrum.
Release train engineers (RTEs)
Like Scrum Masters help their team members follow Scrum principles and best practices, release train engineers are servant leaders that do the same for the agile release train. RTEs help ensure the proper execution of program increments, remove blockers, manage risk, and work with the teams on improvements.
Release train engineers typically report into an Agile Management Office, or in the case of Lean, the portfolio management team.
While some traditional Scrum teams use both product managers and product owners, SAFe operates at such a scale that both roles are required. The product manager drives the vision, roadmap, and feature backlog while the product owner is responsible for defining the PI objective with the team and executing the functionality.
Easy Agile Programs enables Release Train Engineers and Program Managers to effectively manage programs to deliver alignment at scale.
Again, due to the scale at which SAFe teams operate, a system architect is required to design the high-level structure of the overall system, determine how each piece fits into the puzzle, and create stable integration points to bring data and processes into a centralized ERP.
The business owners are responsible for achieving business outcomes like revenue or customer acquisition goals. As the primary stakeholder for ARTS, business owners operate at a strategic level and will participate in vision, roadmap, and program increment discussions. Their job is to ensure products are built to meet specific business objectives.
Get started with your agile release train
So, you're ready to jump on the ART! Great! Let's walk through the steps to get you started on your journey.
1. Start with training
Don't skimp on this one. You likely started your agile practices with some training. Do the same here. All the hard work and best intentions in the world can't help you if you don't have a solid understanding of the basics.
Along with training teams, you'll also want to train your leadership teams and executives. Just like when your company adopted agile principles, you'll want to make sure you have buy-in, understanding of how agile release trains work, and the roles required to support them.
2. Identify your value streams
There are two types of value streams in SAFe: operational and development. An operational value stream focuses on delivering the value to end-users that was created by the development value stream. An example might be fulfilling an order from an eCommerce website.
A development value stream focuses on developing the business solution, like building that eCommerce website.
Identifying your value streams is important before selecting individuals and teams to work on the value stream and filling the additional roles required for the ART. Once the players have been chosen, you're ready to start planning.
3. Prepare the program increment backlog
It's time to refine your program backlog and get ready for PI planning. Planning and refining are best when you can meet face-to-face, but sometimes in large organizations, that's impossible. If you have a distributed team, make sure you have a good backlog tool like Jira to help facilitate virtual meetings.
🚨 Looking for the complete PI Planning solution for Jira?
Ideal for distributed, remote or face-to-face Program Increment Planning.
Create your user stories at the program level to fit in a two-week timebox and plan your initial release. Until your teams have established a predictable velocity, leave some wiggle room in the iteration.
4. Start the program increment
Now, it's Scrum as usual. You have your sprint ready to go — just execute it like normal. At the end of the sprint, you can add your teams' contribution to the release train.
5. Rinse and repeat
Agile release trains are a continuous, iterative delivery mechanism. Just like traditional Scrum, your teams will build, release, learn, and then start building again. Don't forget to schedule an innovation and planning iteration to give the team a break from the train and time to improve their systems or their team.
Are you ready to jump on board?
SAFe and agile release trains help teams maintain agile development practices as they scale up in size. What may look complicated at first glance is actually a well-orchestrated process designed for team synchronization according to business value streams.
Use the Scrum knowledge you have within the individual teams, and then train in SAFe practices and get prepared to build your first agile release train. You'll learn by doing but save yourself and your company some headaches and money and invest in training first.
We've linked to some great learning articles throughout this piece, but here are a few more to help you jumpstart your SAFe learning:
- The Ultimate Guide to PI Planning [2021 SAFe Edition]
- SAFe Program Board 101: Everything You Need To Know
- Scaled Agile Framework (SAFe) 5.0 — The Easy Agile Review
- Streamline your workflows with better PI Planning software
- How to prepare for distributed PI Planning
Good luck on your agile journey and stay SAFe! (Too corny??🤦🏽♀️)