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

[article]

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).


References

  1. Inspired by Jeffries, 2004. "A Metric Leading to Agility." http://www.xprogramming.com/xpmag/jatRtsMetric.htm
  2. Andrea, 2009. http://www.jennittaandrea.com/wp-content/uploads/2009/03/beautiful_testing_ch14.pdf
  3. Marick, 2003. http://www.exampler.com/old-blog/2003/08/21/
  4. Bolton, 2009. "Testing vs. Checking." http://www.developsense.com/blog/2009/08/testing-vs-checking/
  5. Andrea, 2008. http://www.jennittaandrea.com/wp-content/uploads/2009/03/someassemblyrequired_bettersoftware_jan2008.pdf
  6. AAFTT, 2010. "AAFTT Program's 4th Annual Workshop: ATDD Community of Practice Retrospective." http://aaftt2010.crowdvine.com/

About the author

Jennitta Andrea's picture Jennitta Andrea

Since 1988 Jennitta Andrea has been a keen observer of teams and processes while engaged as a multi-faceted hands-on coach and practitioner (analyst, tester, developer, leader). She worked on her first agile project in 2000 and has since been involved in a wide variety of agile projects. Jennitta's writing and teaching effectively bridge theory, practice, and her observations. She has published numerous experience-based papers. Her practical, simulation-based tutorials and in-house training cover agile requirements, process adaptation, automated examples, and project retrospectives. Jennitta's work has culminated in international recognition as a thought leader in the agile community. Details at www.theandreagroup.ca.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

May 04
May 04
May 04
Jun 01