Tag

SAFe®

  • Agile Best Practice

    5 Steps to Lay the Tracks for Your Agile Release Train

    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

    Join a demo

    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.

    Principles of an agile release train

    An Agile Release Train (ART) takes its cues from the Scaled Agile Framework (SAFe) to ensure that multiple agile teams can align and collaborate seamlessly. Here are the core principles that guide an Agile Release Train:

    Fixed schedule

    ARTs adhere to a predefined schedule to deliver work consistently. This schedule is organized through Program Increments (PIs), which are typically 12 weeks long. The fixed cadence helps teams plan and deliver work efficiently.

    Bi-weekly cadence

    Much like individual agile teams work in sprints, ARTs operate in two-week segments known as system increments. This regular rhythm facilitates continuous progress and rapid feedback cycles.

    Known velocity

    The train's capacity to produce work in a given PI—referred to as velocity—is derived from historical performance data. By dividing projects into smaller tasks, teams can prioritize and deliver essential features more effectively.

    Develop on cadence, release on demand

    While development follows a rigid schedule, the release date is flexible and depends on project completion. This approach allows teams to continuously provide value to customers without being restricted by fixed release dates.

    Program increment planning

    PI planning is a cornerstone event where all agile teams within the ART come together, usually in person, to establish strategic objectives for the upcoming increment. This collaborative planning ensures everyone is aligned and working towards common goals.

    Innovation and planning

    At the end of each PI, teams participate in an innovation and planning (IP) event. This period is dedicated to planning the next increment, engaging in educational activities, and addressing infrastructure needs.

    Inspect and adapt

    To foster continuous improvement, ARTs hold an inspect and adapt (IA) event at the end of every PI. Teams assess their progress and identify areas for improvement through a problem-solving workshop, ensuring that they are always refining their processes and delivering better results.

    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.

    Agile teams

    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 who 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 to an Agile Management Office, or in the case of Lean, the portfolio management team.

    Product managers

    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.

    Try Easy Agile Programs

    System architects

    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.

    Business owners

    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.

    Customers

    Customers are the ultimate economic buyers or value users of the solution. Their feedback and needs are critical to the success of the ART.

    System teams

    System teams typically assist in building and maintaining development, continuous integration, and test environments. They play a crucial role in ensuring that the infrastructure supports the ART effectively.

    Shared services

    Shared services include specialists necessary for the success of an ART but who cannot be dedicated to a specific train. These often include data security experts, information architects, site reliability engineers (SRE), database administrators (DBAs), and many more.

    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, an 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?

    Try Easy Agile Programs

    Ideal for distributed, remote or face-to-face Program Increment Planning.

    Join a demo!

    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:

    Good luck on your agile journey and stay SAFe! (Too corny??🤦🏽‍♀️)