. . . a holistic or “rugby” approach—where a team tries to go the distance as a unit, passing the ball back and forth—may better serve today’s competitive requirements.

—Nonaka and Takeuchi, The New, New Product Development Game

ScrumXP

ScrumXP is a lightweight process to deliver value for cross-functional, self-organized teams within the Scaled-Agile Framework (SAFe). It combines the power of Scrum project management practices with eXtreme Programming (XP) technical practices.

Most Agile teams use Scrum as their primary, team-based project management framework. A lightweight yet disciplined and productive process, Scrum allows cross-functional, self-organized teams to operate within the SAFe construct. It prescribes three roles: Scrum Master, Product Owner, and Development Team. [3] The Scrum Master is a servant leader who helps the team adhere to the rules of Scrum and works inside and outside of the team to remove impediments. The Product Owner (PO) is responsible for defining what gets built. When extended by Lean quality practices and eXtreme Programing engineering techniques, the ScrumXP team provides the basic Agile building block for SAFe.

But, of course, ScrumXP teams do not work in isolation. Each is part of the larger Agile Release Train (ART), where they cooperate in building the larger system.

Details

The ScrumXP Agile Team is a self-organizing, self-managing, cross-functional group of five to nine people, collocated when possible. The size and structure of the team are optimized for communication, interaction, and the ability to deliver value. Self-organization implies that there is no team leader or manager role that oversees the team members, estimates their work, commits them to specific objectives, or determines how exactly they will advance the Solution. The team is presented with the intent of the Iteration. Then it is solely responsible for determining how much of that scope they can actually commit to, and how they are going to build that increment of value. The team is cross-functional, with all the roles and skills needed to deliver an increment. The self-organization and cross-functional nature of the team—along with constant communication, constructive conflict, and dynamic interaction—can create a productive and more enjoyable work environment for its members.

Scrum defines two specific roles as the members of the Agile Team who have a unique set of specific responsibilities: the Product Owner and Scrum Master. Each of these roles is elaborated further in a SAFe article by that name. A summary of their responsibilities is provided below.

Product Owner (PO)

Each ScrumXP team has a Product Owner (PO) who is responsible for the Team Backlog. Focusing intensely on the team’s efforts, the PO interacts with them every day. Therefore, the most effective model is to dedicate a PO to each team, or to share one across no more than two teams. This allows the PO to support the team effectively during Iteration Execution by answering questions, providing more detail on the functionality under development, and reviewing and accepting the completed stories into the baseline.

Scrum Master (SM)

The Scrum Master (SM) is the facilitator and Agile coach for the team. Primary responsibilities include:

  • Ensuring that the process is followed
  • Educating the team in scrum, XP, and SAFe practices
  • Providing the environment for continuous improvement

As a full- or part-time role for a team member, the SM is also typically charged with removing impediments. Alternately, some dedicated SMs may support two to three Scrum teams.

The Scrum Process

The Scrum process is a lightweight project management framework that fosters quick, iterative advancement of the solution. Facilitating continuous improvement to support higher quality, productivity, and better outcomes, it employs the iteration—a two-week timebox, during which the team defines, builds, tests, and reviews results. The Scrum process is further described in the sections below. (Note: Scrum uses the term Sprint; SAFe uses the more general term iteration.)

Planning the Iteration

The iteration starts with Iteration Planning (IP), a timeboxed event of four hours or less in which the Product Owner presents the Stories for the iteration. The team then:

  • Reviews the stories
  • Defines the acceptance criteria
  • Splits larger stories into smaller ones where necessary
  • Estimates them in story points
  • Distill what they can build, based on their known velocity (story points per iteration), into Iteration Goals.
  • Commit to the iteration goals.

Many teams further divide stories into tasks, estimating them in hours to better refine their understanding of the work ahead.

Even before the iteration starts, the ScrumXP team is preparing content by refining the team backlog items. Their objective is to understand the work to be delivered in the upcoming iteration.

Visualizing Work

During execution, the team builds and test stories with the goal of delivering one or two every few days. This limits work in process (WIP) and helps avoid “waterfalling” the iteration. Teams use big visual information radiators (BVIRs) to understand and track progress during iteration execution. The team’s storyboard visualizes the stories and their progress throughout the iteration. In so doing, they often use development steps as the columns, moving stories from left to right over time, as Figure 1 demonstrates.

Figure 1. An example of a team’s story board

Some teams also apply Work-in-Process limits to some steps to create a ‘pull’ process within the iteration, and to continuously balance the work to increase throughput. Indeed, many teams integrate the best practices of Scrum and Kanban to facilitate the flow of work through the iterations. In this case, the simple storyboard above evolves into a more structured Kanban board. See the Team Kanban article for more on the use of Kanban by ScrumXP teams.

Coordinating with Daily Stand-up Meetings

Each day, the team has a formal ceremony—the Daily Stand-up Meeting (DSU)to understand where they are, escalate problems, and get help from other team members. During this meeting, each team member describes what they did yesterday to advanced iteration goals, what they are going to work on today to advance iteration goals, and any ‘blocks’ they are encountering in delivering iteration goals. As this is a daily coordination meeting, the Scrum Master has to keep it short and to the point. The DSU should take no more than 15 minutes and is done standing up in front of the storyboard.

But team communication does not end there, as team members interact continuously throughout the iteration. Facilitating such communication is the main reason why ScrumXP prefers that the team be collocated whenever possible.

Demonstrating Value and Improving the Process

At the end of each iteration, the team conducts an Iteration Review and an Iteration Retrospective. During the iteration review, the team demonstrates each story accomplished, culminating with the team’s increment of value for that iteration. This is not a formal status report; rather, it’s a review of the tangible outcomes of the iteration. Thereafter, the team conducts a brief retrospective—a time to reflect on the iteration, the process, things that are working well, and current obstacles. Then the team comes up with improvement stories for the next iteration.

Building Quality In

As a tenet of SAFe spells out, “You can’t scale crappy code.” Therefore, one of the Core Values of SAFe is ‘Built-in Quality.’ This begins at the code and component levels with the people creating the solution. Otherwise, it’s difficult (or impossible) to ensure quality later, as the solution integrates and scales from component to system and solution.

To make sure teams build quality in to code and components, SAFe describes five engineering and quality practices that are inspired by the tenets of XP and that augment the project management practices of Scrum. They are: Continuous Integration, Test-First, Refactoring, pair work, and collective ownership. Some teams use other XP practices in addition, such as a pair programming and metaphor [2].

ScrumXP Teams Are “on the Train”

Although the teams are cross-functional, it isn’t always realistic for a team of seven or eight to deliver end-user value when a large system includes different technology platforms and a spectrum of disciplines. It may include hardware, software, and systems engineering. Typically, many more teams are required. To address this, SAFe Agile teams operate within an Agile Release Train, which provides mission alignment and a collaborative environment in which teams can cooperate with other teams to build the larger solution capabilities. As part of the ART, all Agile Teams plan together, integrate and demo together, release and deploy together, and learn together, as illustrated in Figure 2.

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

Each team’s participation in this “shared responsibility program” is further defined in the Agile Teams article.

Leadership of ScrumXP Teams

Managers are typically not part of the cross-functional team. However, the initial organization of such teams around features, components, and subsystems—and the design and structure of the ART—is typically a management responsibility based on team input. Thereafter, team management undergoes a qualitative shift from manager as expert, directing the team to specific technical achievements, to manager as a Lean-Agile Leader and enabler and developer of people.


 

Learn More

[1] Kniberg, Henrik. Scrum and XP from the Trenches. lulu.com, 2015.

[2] Beck, Kent and Cynthia Andres. Extreme Programming Explained: Embrace Change, 2nd edition. Addison-Wesley, 2004.

[3] Sutherland, Jeff and Ken Schwaber. Scrumguides.org.

Last update: 28 September, 2017