ART ATDD/BDD Quick Start™
“Built-In Quality” is a core value of SAFe®. It allows quicker delivery of business value. One of the key practices in realizing Built-In Quality is Acceptance Test-Driven Development (ATDD) (also known as Behavior Driven Development (BDD)). This workshop helps an Agile Release Train (ART) quickly come up to speed on ATDD/BDD.
An interactive lecture for the entire ART (product owners, architects, release train engineer, testers, and developers) helps everyone obtain a common ATDD/BDD background. The session demonstrates how to create and use acceptance tests to provide a joint understanding of the requirements. It shows how to use those acceptance tests as a communication and verification tool. Following the initial session, each team has a session that revolves around their particular environment and stories. The topics are based on their individual needs.
Applying these skills streamlines communication within the organization, decreasing rework, raising customer satisfaction, and promoting trust within the organization. These methods have demonstrated an ability to be able to lower released errors by up to 90%. This workshop is based on the SAFe recommended book Lean-Agile Acceptance Test-Driven Development by Ken Pugh.
- Understand the principles of Acceptance Test-Driven Development
- How to turn requirements into acceptance tests
- What is a good acceptance test
- How to use acceptance tests as a communication vehicle
- How ATDD embodies SAFe’s core principle: Build Quality In
Ken Pugh, author of Lean-Agile Acceptance Test-Driven Development: Better Software Through Collaboration.
Everyone in an ART (customers, product managers, architects, business analysts, SMEs, developers and testers).
For the team sessions, it is essential that the developers, testers and at least one requirement provider (product owner, business analyst) attend the workshop together.
- Software Development
- What is ATDD and why it is useful
- The process
- The roles and responsibilities
- Acceptance Test Examples
- Acceptance test style, size, scope, clarity
- User Stories and Scenarios
- Test Anatomy
- Tables as Tests
- System Boundary and Tests
- Transition and Motivation Issues
- Topics relevant to each team’s context
Workshop materials are provided at the start of the class.
ROOM SETUP AND EQUIPMENT
If possible, 4-6 students per table; if not, lecture style with extra space between rows
Flip chart and whiteboard for each 4-6 students plus one for the instructor
A projector with screen
Room with whiteboard, flip charts, projector and screen.
Familiarity with SAFe
The workshop structure is:
- 1 day ART ATDD/BDD readiness assessment
- 1 day workshop for entire ART
- ½ day workshop per team
One Agile Release Train
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 to clearly understanding 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.
ART ATDD/BDD Quick Start™ is a service mark of Ken Pugh.
Ken Pugh, Inc. 732 Ninth Street #695, Durham, NC 27705.
Course copyright © 2017 Ken Pugh
Leslie Killeen, 919-490-6335, firstname.lastname@example.org