Build in Quality at Scale with Behavior Driven Development / Acceptance Test-Driven Development
“Built-In Quality”, a core value of SAFe®, allows quicker delivery of business value. A key practice to realize built-in quality is using Behavior Driven Development (BDD) / Acceptance Test-Driven Development (ATDD). This workshop describes how the Triad (the customer, tester, and developer perspectives) collaborates to create a shared understanding of the desired behavior of an application. It shows how to define scenarios which specify that behavior and use these scenarios as a communication and verification tool. Applying BDD/ATDD helps to decrease rework, raise customer satisfaction, and promotes trust. This course is based on the SAFe recommended book Lean-Agile Acceptance Test-Driven Development: Better Software through Collaboration by Ken Pugh.
This immersive workshop uses your team’s actual stories for the exercises during the interactive lecture and individual team sessions. For maximum effectiveness, the entire team (product owner, scrum master, developers, testers, business analysts, subject matter experts) should attend the training together. One of the outcomes will be scenarios that are ready for implementation.
By the end of this workshop, participants will know and have experienced:
- The benefits of Behavior Driven Development / Acceptance Test-Driven Development
- Decreasing misunderstanding by forming a shared customer / business domain language
- Specifying behavior in stories using scenarios to create a shared understanding
- Turning scenarios into acceptance tests
- Using scenarios as a communication vehicle
- Understanding scenarios in their context
- Transitioning to BDD/ATDD
- How BDD/ATDD embodies Built-In Quality and Shift Left
INSTRUCTOR / FACILITATOR
Ken Pugh is the author of Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration, an international speaker, and a recognized expert in BDD/ATDD. He has help clients in the financial, energy, electronics, process control, manufacturing, transportation, and retail industries to build in quality with BDD/ATDD, Test-Driven Development (TDD), and design quality. He is a certified Back of the Room Trainer and applies those techniques in his training.
- Software Development
- What is BDD/ATDD
- Benefits of BDD/ATDD
- The process and the perspectives
- Examples of Behavior
- User Stories and Scenarios
- Discovery of Behavior
- Example Mapping
- Other approaches
- Creating the shared terminology – the ubiquitous language
- Formulating Behavior
- Given/When/Then Scenarios (Gherkin)
- Other formats
- Turning Scenarios into Acceptance Tests
- Using Tables to Decrease Duplication
- Scenario / Test Evaluation
- Common pitfalls and how to avoid them
- Maintainability, scalability
- Cross-functional / Non-functional Behavior
- Transition Issues
- Motivation issues
WHEN AND WHERE
This workshop is offered remotely and in-person. It can be incorporated into any iteration using the stories that are on the backlog or between iterations. The workshop consists of:
- Interactive lecture / exercises (1 1/2 days)
- Individual team sessions (1/2 day)
For one team, the workshop is 2 days long; for three teams, it is 3 days long.
For remote workshops, the workshop can be scheduled over a longer period.
Post-workshop coaching is available.
Ken Pugh, Inc. 732 Ninth Street #695, Durham, NC 27705
Course copyright © 2007-2021 Ken Pugh
SAFe’s DESCRIPTION OF ATDD
Built-in Quality is one of the four core values of the Scaled Agile Framework®. The enterprise’s ability to deliver new functionality with the fastest sustainable lead time and to be able to react to rapidly changing business environments is dependent on solution quality.
But built-in quality is not unique to SAFe. Rather, it is a core principle of the Lean-Agile Mindset, where it helps avoid the cost of delays associated with recall, rework, and defect fixing. The Agile Manifesto is focused on quality as well; it says, “Continuous attention to technical excellence and good design enhances agility.” There can be no ambiguity about the value of built-in quality in large-scale systems. It is mandatory.
The goal is to have the system work as intended, not to simply have the code do as intended. Lean-Agile thinking achieves this is by moving testing forward in the development process.
Acceptance Test-Driven Development (ATDD) applies this test-first approach to testing stories and features and capabilities. Using ATDD, teams write the test first before developing the code. Whether ATDD is adopted formally or informally, many teams find that this approach is much more efficient.
In his book, Lean-Agile Acceptance Test-Driven Development, Ken Pugh notes that the focus of ATDD is more on expressing requirements in unambiguous terms rather than focusing on the test per se.
The goal is for the customer, developers, and testers to collaborate and get a clear understanding of requirements prior to implementation.
Pugh notes that there are three names that are used for this approach: Acceptance Test-Driven Development, Specification by Example, and Behavior-Driven Design. While there are slight differences in these three versions, they all focus on the same goal.
Whether it is viewed as a form of expressing requirements or as a test, it results in better understanding. Acceptance tests serve to record the decisions made while writing stories.
SAFe References to Built-in Quality and Test-First
Some of this description is reproduced with permission from Scaled Agile, Inc. Copyright © 2011-2017 Scaled Agile, Inc. All rights reserved. SAFe and Scaled Agile Framework are registered trademarks of Scaled Agile, Inc.
This course does not provide any certification related to Scaled Agile, Inc. or SAFe.