The software industry developed Agile methods decades ago to help it deliver code updates on a timely basis. Over the years, Agile has been adopted elsewhere in the enterprise since many areas in business require continual updates delivered on a routine, predictable basis. Agile typically starts with small teams focused on contributing parts to a whole. Agile release trains (ARTs)—teams comprised of multiple Agile teams aligned to a common goal—are key to delivering value that scales at the enterprise level. Our friends at Scaled Agile Inc. say it best when they describe the Agile Release Train as the heartbeat of Agile at scale.
Check out this short video titled, “How to Build Stable Teams and Teams of Teams” featuring Jon Terry, Chief Evangelist, Lean-Agile Strategy.
Companies tend to form Agile teams around key initiatives or projects that depend on high quality and rapid delivery. And they are often spun up to challenge large complex projects that are better tackled broken into smaller chunks. Agile teams typically include no more than 10 members, many of which usually represent a diverse set of skills within an organization.
High-performing Agile teams possess common characteristics. Successful teams are: 1) Cross-functional – Delivering a product or service typically involves the work of several organizational departments. Smooth collaboration with other Agile Release Team members is also critical to long-term success. 2) Stable – Dedicated teams that don’t change over time presents team members with opportunities to grow, especially when it means they work directly with members outside their core areas of expertise; and 3) Autonomous – Agile teams tend to be self-organizing entities that work autonomously to deliver functioning improvements of product or incremental value continuously.
When it comes to structuring your Agile teams, think about it during the project planning stage. What kind of incremental support is needed during the product development phase? How do needs change after the product is available to customers? What ongoing sales and marketing support is required throughout the product lifecycle? Answering these questions will help determine who to recruit for the following roles:
- Scrum Master – This is the person who guides the team overall through meetings, processes and best practices and ceremonies on an ongoing basis.
- Product Owner – This is the person responsible for the value the Agile team produces.
- Team Member – Members make up the heart of Agile teams. They are the cross-functional, collaborative workers focused on incremental delivery.
Teams evolve over time. One of the most commonly accepted ways of examining team dynamics, Tuckman’s Stages of Team Development, divides them into phases (Forming, Storming, Norming, and Performing). Agile teams tend to struggle most in the storming stage, which is the time strong opinions—and ultimately team conflict—arises most often. The path to high-performing Agile teams and release trains often depends on the scrum master or product owner’s ability to help team members navigate through conflict. Team stability is also key. It’s what allows the team to progress to the Performing stage.
Building high-performing Agile teams that deliver consistently and reliably over time creates motivation for more teams and provides the blueprint for replicating its success. It’s important since high-performing Agile teams are a critical component of Agile Release Trains.
Agile Release Trains are essentially teams of high performing Agile teams. These teams of teams coordinate, plan, and work together toward a common goal. The release trains typically plan their work during an Agile ceremony called mid-range or Quarterly Planning. Scaled Agile Inc. refers to this event as Program Increment or PI Planning. It is during PI Planning that the Agile Release Trains and Agile teams within the release trains get their strategic priorities. If they are part of a larger grouping, called a value stream, they will understand the epics the value steam is working on. It’s the release train’s job to break the work down within the epics flowed to them, creating features and stories (increments of work) to deliver over the course of the program increment.
Examples of Agile Teams and Agile Release Trains
Let’s look at a few examples of how work from multiple Agile teams could come together for an enterprise. In each case, scaling value depends on multiple Agile teams contributing to their part of the equation on a consistent basis.
Mobile Product Development
If you work for a company that makes a popular mobile app, you may choose to establish an Agile team focused specifically on providing security updates. The team may provide monthly updates, sometimes more frequently. A second Agile team may focus on platform compatibility to support numerous versions of Android, or the latest version of iOS. And you’ll also most likely depend on several teams responsible for delivering fixes and incremental feature updates to existing users.
Scaling a Marketing Campaign
If your company is planning a global advertising campaign, it might make sense to start with a pilot program in a specific region of the United States. In that case, an initial Agile team might be comprised of representatives from the product team, from marketing, members from the creative team and someone from analytics. This initial team would be responsible for creating marketing assets published to specific audiences via paid social media. Then, they’d focus on A/B testing of those assets and measuring the results. From there, additional other Agile teams might focus on customers in other regions. Another team could focus on the global rollout of the campaign and provide incremental updates to the executive team on an ongoing basis.
Supporting Enterprise-Class Applications
Let’s say you work in an IT department that develops and deploys a proprietary business application used globally. You would probably set up Agile teams focused on fixing bugs and compatibility issues. Another team might focus on providing ongoing, incremental security updates. Another set of teams may own server provisioning plus application rollout, and deployment updating.
High-performing Agile Release Trains deliver a host of benefits. It allows companies to rapidly deliver incremental value to customers in many different forms. But getting there requires building successful Agile teams that perform consistently and predictably. To learn more about building High-Performing Agile Teams and Release Trains, read the eBook: “Get on Board: Building High-Performing Agile Teams and Release Trains.”