Build in Quality at Scale with Acceptance Test-Driven Development / Behavior Driven Development
“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). This course describes how the triad (customer, tester, and developer) creates acceptance tests to provide a joint understanding of the requirements. It shows how to use those acceptance tests as a communication and verification tool. 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 course is based on the SAFe recommended book Lean-Agile Acceptance Test-Driven Development by 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
This course helps participants understand how to transform requirements accurately into testable specifications. This is a collaborative, efficient manner that minimizes waste. It addresses requirements, specifications, implementation and testing. You will learn:
- 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.
Customers, product managers, business analysts, SMEs, developers and testers.
It is essential that the development and test team and at least one customer, business analyst, product manager, or SME attend the workshop together.
This course is appropriate for anyone who is involved in the definition, development and quality assurance of software related products.
- Software Development
- What is ATDD
- Why ATDD is useful
- The process
- The roles and responsibilities
- Acceptance Test Examples
- Acceptance test style, size, scope, clarity
- The Business Tests
- User Stories and Scenarios
- Test Anatomy
- Tables as Tests
- System Boundary and Tests
- Events, Responses, States
- Complex Business Rule and Separation
- Test Evaluation
- Common pitfalls and how to avoid them
- Maintainability, scalability
- Transition Issues
- Motivation issues
Workshop materials are provided at the start of the class.
ROOM SETUP AND EQUIPMENT
Students usually sit at tables, 4-6 students per table
Flip chart and whiteboard for the instructor
A projector with screen
Knowledge of SAFe
- 1 1/2 days: All teams together
- 1 1/2 day: Teams individually (1/2 day per each)
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.
Ken Pugh, Inc. 732 Ninth Street #695, Durham, NC 27705.
Course copyright © 2007-2017 Ken Pugh
Leslie Killeen 919-490-6335