Acceptance Test-Driven Development: Not as Optional as You Think


But, there is a cost to achieving these ATDD benefits. ATDD depends on collaboration, skill, and discipline. Examples are the result of the collaborative effort of many different roles (subject matter experts, analysts, testers, and developers). Skill and discipline are required to make examples locatable, readable, maintainable, and efficient. Discipline is needed to consistently embed examples and unit tests into the development and integration activities, and to apply design for testability strategies and patterns. Selecting the appropriate tool for expressing, automating, and maintaining examples is a critical success factor. [5]

What if We Don't Practice ATDD?
An ecosystem shows signs of distress when balance is disrupted; having too much or too little of something can have serious consequences in other areas. All of the benefits described above quickly unravel if ATDD is missing. In particular, incremental story development puts high demands on the tester role due to constant demands to manually regression test an ever-changing system. If you've experienced or heard of a "bad" agile project, chances are good that the way they performed ATDD (if at all) is one of the root causes of their problems.

What's Next?
On August 8, 2010, a community of practice retrospective was held to share the successes and reflect on the challenges a variety of different teams have experienced with ATDD. [6] The goal of this workshop was to increase overall community learning so that we can effectively focus our energy on individual, team, tool, and AAFTT-program improvements. The key findings from this event will be summarized in my next contribution to Iterations (October 2010).


  1. Inspired by Jeffries, 2004. "A Metric Leading to Agility."
  2. Andrea, 2009.
  3. Marick, 2003.
  4. Bolton, 2009. "Testing vs. Checking."
  5. Andrea, 2008.
  6. AAFTT, 2010. "AAFTT Program's 4th Annual Workshop: ATDD Community of Practice Retrospective."

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.