Nothing beats an Agile Team.

SAFe mantra

 

Agile Teams

The SAFe Agile Team is a cross-functional group of five to ten people who have the ability and authority to define, build, and test some element of Solution value—all in a short Iteration timebox. Specifically, the SAFe Agile Team incorporates the DevTeam, Scrum Master, and Product Owner roles.

In SAFe, Agile Teams are not stand-alone units. Instead, they are an integral part of the Agile Release Train (ART), where collectively they have responsibility for delivering larger solution value. No train exists without its team. And all teams are on a train, contributing and adhering to its Vision and Roadmap, collaborating with other teams, and participating in ART events. In addition, they are largely responsible for building the Continuous Delivery Pipeline and ART DevOps capabilities.

The teams and the train are inseparable; the whole is greater than the sum of its parts.

Details

The Agile movement [1] represented a major turning point in the way software and systems development is performed. SAFe builds on this change by empowering Agile Teams as the building blocks for creating and delivering value. Without effective Agile Teams, composed of empowered and motivated individuals, organizations cannot achieve the larger business benefits of Lean-Agile development.

An Agile Team consists of a small group of five to ten dedicated individuals, including the Development Team, Product Owner and Scrum Master. Together, they have the skills necessary to develop increments of value in a short timebox:

  • Define – elaborate and design their component/feature
  • Build – implement their component/feature
  • Test – run the test cases and validate the component/feature
  • Deploy – to staging and production

While operating within the context of the Agile Release Train (ART), teams are empowered, self-organizing, and self-managing. They’re accountable to deliver results that meet the Customer’s needs and expectations. Teams develop software, hardware, firmware, or some combination. But mostly, a team represents a collaboration of the disciplines necessary to deliver Features or components.

By moving work to the teams and trains, instead of bringing people to the work, Enterprises can largely eliminate the ‘project model’ of working (see Lean Budgets), and instead create teams, and teams of teams, that are long lived and dedicated to relentlessly improving their ability to deliver Solutions. This is what makes SAFe different from the traditional approach, in which managers direct individuals to activities. SAFe teams—not their managers—determine what features and components can they build in an iteration, and how to build them. Lean-Agile Leaders provide the vision, leadership, and autonomy necessary to foster and promote high-performing teams. Tasking individual team members with work items is no longer required. This brings the chain of decentralized decision-making all the way to the level of the individual contributor. The primary responsibility of Lean-Agile Leaders then becomes creating and mentoring Agile Teams.

SAFe Teams Typically Blend Agile Methods

SAFe teams use Agile practices of choice, based primarily on Scrum, Kanban and XP. Most SAFe teams apply Scrum with XP (see SAFe ScrumXP) as the basic framework. The Product Owner manages the Team Backlog. The Scrum Master facilitates the team toward its delivery objectives and helps build a high-performing and self-managing group.

Teams apply Lean UX (hypothesis-based) Feature development and Built-in Quality practices to drive disciplined development and quality. These practices—including collective ownership, pair work, coding standards, test-first, and continuous integration—help to keep things Lean by embedding quality and operating efficiency directly into the process. Agile Architecture completes the picture for quality solution development.

However, as SAFe is a flow-based system, most teams also apply Kanban to visualize their work, establish WIP limits, and use Cumulative Flow Diagrams (CFDs) to illustrate bottlenecks and key opportunities for improving throughput. Some teams—especially maintenance teams and System Teams—often apply Kanban as their base practice. This is because the planning and commitment elements of Scrum may not apply as efficiently for workloads that are activity and demand-based, and where priorities change more frequently.

Responsibilities

SAFe facilitates withdrawal from the function-based, stage-gated development model, in which user value is delivered at the end of a long life cycle with input from separate functional (requirements, design, test, deploy) departments. Agile Teams perform all of these functions, while delivering value at every iteration. The team is responsible for managing their work and producing value across the full lifecycle: from Continuous Exploration, to Continuous Integration, to Continuous Deployment, to Release on Demand. In order to do this, the team:

  • Estimates the size and complexity of the work
  • Determines the technical design in their area of concern, within the architectural guidelines
  • Commits to the work it can accomplish in an iteration or Program Increment (PI) timebox
  • Implements the functionality
  • Test the functionality
  • Deploys the functionality to staging and production
  • Supports and/or builds the automation necessary to build the continuous delivery pipeline
  • Finds ways continuously to improve

In addition, wherever possible Agile Teams are structured with the skills and responsibilities to be able to build and manage the continuous delivery pipeline, and to Release their element (feature, component, subsystem, or product) as independently as possible.

Collaboration and Culture

Agile Teams are motivated by a shared vision and their commitment to deliver value to the Customer. Each team member is fully dedicated to a single team and works intensely. Team members continuously and actively engage with other teams to manage dependencies and resolve impediments. Relationships within the team are based on trust, facilitated by a common mission, common Iteration Goals, and team PI Objectives. Collaboration is continuously improved using regular feedback loops that are built into the learning cycle. Each tangible delivery of value encourages trust, reduces uncertainty and risk, and builds confidence.

Teams can meet their responsibilities only through constant communication and collaboration, and through fast, effective, and empowered decision-making. If at all possible, teams are collocated to facilitate hourly and daily communication. Standard team meetings depend somewhat on the method of choice, but they typically include a daily stand-up, Iteration PlanningIteration Review, backlog refinement and Iteration Retrospective.

Agile Teams Are on the Train

SAFe Agile Teams do not operate independently; they power the ART by collaboration and building increasingly valuable increments of working solutions. All teams operate within a common framework that governs and guides the train. They plan together, integrate and demo together, deploy and release together and learn together, as illustrated in Figure 1.

Figure 1. Agile Teams plan together, integrate and demo together, release and deploy together, and learn together

Plan Together

All teams attend PI Planning, where they plan and commit to a set of PI objectives together. They work with a common vision and Roadmap, and they collaborate on ways to achieve the objectives. Clear content authority roles facilitate the planning and execution process. The Product Owner is part of a larger Product Management team. The team’s individual Team Backlogs are driven in part by the Program Backlog.

In addition, as part of the ART, and in accordance with the Economic Framework, all Agile Teams participate in a common approach to estimating work. This provides a meaningful way to help decision-making authorities guide the course of action based on economics.

Integrate and Demo Together

Delivering complex, high quality systems requires intense inter-team cooperation and collaboration. To support this, teams work on a common ART cadence and publish and communicate iteration goals at the beginning of each iteration. They also update other teams during the ART sync and actively manage dependencies by interacting with team members from other teams.

Of course, the goal is not to simply have the teams “sprint” toward the goal. Rather, the objective is to have the system “sprinting” forward in quality, measurable increments. To support this, teams apply built-in quality and engage in continuous exploration, continuous integration, and continuous deployment. This takes place inside the team and across the train—while working together toward an aggregated System Demo that occurs at the end of each iteration.

Deploy and Release Together

Agile Teams drive value through the entire continuous delivery pipeline. They collavorate with product management around continuous exploration, they continuously integrate and they continuously deploy their work to staging and production environments.

Agile team try and help drive hypotheses by deploying early and frequently to production. They design their systems in ways that would enable decoupling the solution from the release, and enable the ability to release on demand.

Learn Together

All SAFe teams engage in relentless improvement (see Pillar 4 in the Lean-Agile Mindset article). In addition to Iteration Retrospectives and ad hoc process enhancements, teams participate in the larger Inspect and Adapt (I&A) meetings, where they identify and prioritize improvement Stories that are incorporated into the following PI planning sessions. This “closes the loop,” as the teams and the ART progress forward one iteration and PI at a time. And, of course, learning is not relegated exclusively to retrospectives. Learning happens continuously in the context of Communities of Practice (CoPs), formed to help individuals and teams advance their functional and cross-functional skills.


Learn More

[1] Manifesto for Agile Software Development. http://agilemanifesto.org/.

[2] Leffingwell, Dean. Scaling Software Agility: Best Practices for Large Enterprises. Addison-Wesley, 2007.

[3] Lencioni, Patrick. The Five Dysfunctions of a Team: A Leadership Fable. Jossey-Bass, 2002.

 

Last update: 21 April, 2017