Scrum/ATDD (Acceptance Test-Driven Development)

Table of Contents

See Scrum with Agile Requirements: Achieving Sustainable Agility for a description of a workshop on Scrum/ATDD.

Scrum/ATDD is an operating model for the team based on Lean-Thinking with the intention of enabling teams adopting Scrum to be more effective. By adopting Scrum as an operating model instead of a framework it can be better applied in situations that don’t fit the Scrum’s immutable Scrum’s roles, events, artifacts, and rules. Scrum/ATDD can be used anywhere Scrum is used (e.g., in SAFe® , LeSS)

Scrum/ATDD is as easy to start with as Scrum because it uses on Scrum as Example as a starting point while integrating Acceptance Test-Driven Development into it. The concept is to start in a well defined manner but provide a support structure for improvement that takes advantage of known patterns of challenge and solutions.

This enables teams to start simply, but can go beyond Scrum when it’s appropriate. Scrum/ATDD also integrates Agile Product Management and other Lean practices.

Here are important features of Scrum/ATDD:

An operating model that goes beyond frameworks

Scrum/ATDD is an operating model that goes beyond frameworks because it:

  • Allows for as simple a start with Scrum as Example
  • Enables you to start where you are or start with a tailored, well-defined starting point
  • Works anywhere because it is based on the intention of the roles, practices, rules and events that are needed to be effective.
  • Presents those adopting it a way to determine if changes to practices will be an improvement or not.
  • Provides a support system specialized for the context in which the operating model is being used.

Scrum/ATDD allows for a simple start with Scrum as Example

Many companies do not want any tailoring done for them, but prefer a standard starting mode. In this case Scrum as Example can be used to start since it is essentially Scrum with the attitude that it can be changed later as needed.

Scrum/ATDD enables a tailored starting point

Scrum/ATDD allows for starting anywhere between where an organization is to all-in Scrum. This is useful if a company’s culture will not accommodate Scrum or if it is not possible or advisable to create cross functional teams.

Scrum/ATDD can accommodate any situation

In addition to not require cross-functional teams, Scrum/ATDD incorporate a flow approach without iterations. Sprints are not always advisable – particularly for maintenance or shared services team. Scrum as example, on which Scrum/ATDD is based, shows teams how to do Scrum without sprints while still maintaining its effectiveness.

Scrum/ATDD uses the Value Stream Impedance Scorecard (VSI Scorecard)

With the understanding of a few Lean principles (primarily remove delays in feedback, workflow and realization of value, avoid working beyond capacity, and attend to quality) one can be reasonably accurate in making good decisions on what would be an improvement to a practice. The VSI Scorecard provides a qualitative scorecard to help with such decisions.

Scrum/ATDD takes advantage of two decades of experience with Scrum

Scrum/ATDD is not limited to software development but is tailored for it

Software is very different from the physical world. Perhaps the biggest differences are in that it is difficult to see how much work is in process and what the workflow looks like. The impacts of delay in software are also quite different than in the physical world. Learning Scrum with the difference between software and the physical world in mind is very important.

Scrum/ATDD includes patterns of solution for common challenges organizations have with adopting Scrum

The challenges in adopting Scrum include:

  1. Difficulty getting to small (<= three days to complete) stories
  2. Too many backlog items get opened too early
  3. Teams get frequently interrupted but management doesn’t understand the toll on the team
  4. The burn-down/up graphs look like hockey sticks (i.e., not much gets completed in the sprint until the very end)
  5. Developers discover they didn’t understand the requirement initially posed to them
  6. Estimation taking a long time
  7. Scrum teams tend to focus on optimizing their team instead of working towards the bigger picture of value realization

These challenges are relatively straightforward to improve, but only when one attends to the context in which Scrum is being used.

Scrum/ATDD is based on Lean-Thinking (systems thinking with a focus on managing Work-in-Process and quality)

Scrum is a partial adoption of Lean-Thinking. Understanding why and how to manage delays creates great opportunity in both faster delivery and higher quality. Taking advantage of the full foundations on which Scrum is improves the teams using it.

Scrum/ATDD integrates Agile Product Management

What is required for product management in an Agile context? It requires a relentless focus on value realization, seeking the highest business value in a shorter amount of time, predictably, sustainably, and with high quality while retaining the ability to pivot at low cost. It involves aligning the organization around this goal. It employs Lean thinking and Agile practices to realize these goals.

Agile Product Management is the key. Yet many organizations are still operating with a mixed collection of Agile and outdated traditional techniques.

Agile Product Management concerns itself with defining the value to be manifested by the business that aligns with its strategic goals. Here is what is involved.

  1. Identifying, sizing and sequencing the work to be done in order to facilitate alignment across the enterprise. This includes the use of Minimum Viable Products (MVPs) and their counterpart in established organizations.
  2. Understanding the relationship between business offerings and business capabilities and how this can be used to improve the methods of the organization and how not attending to it causes misalignment of efforts.
  3. Creating an effective ecosystem for the above including the roles required.
  4. Using Behavioral Driven Development (BDD) or Acceptance Test-Driven Development (ATDD) to create clarity on requirements.

Includes how teams can focus on their role in the realization of value

Scrum is defined for the team. However, it takes more than software to realize value. Marketing, ops, business intelligence, and many other parts of the organization come into play. Agile Product Management provides the context within which Scrum teams should be working.