ATDD Solves Development Issues

 

I’ve been teaching Acceptance Test-Driven Development (ATDD) for many years. At the start of every course, I ask the attendees for issues they have with their development processes. After they have experienced the ATDD process, including creation of acceptance tests, I review their issues to see whether they feel that ATDD will help, hurt, or be neutral in respect to those issues.

Here’s a sampling of the issues in the attendees words. According to them, ATDD will help in solving:

  • Unclear requirements
  • Missed requirements
  • No detailed requirements
  • Development without requirements
  • Unclear business rules
  • Poorly defined acceptance criteria
  • Huge user stories
  • Smaller stories leave gaps
  • Not enough detail in stories
  • Not enough testers
  • Missing test cases
  • Not enough time for testing
  • Stories not verifiable until end of the sprint
  • Test data not available
  • Issues with integration tests
  • Coding starts before tests are written
  • Development team not understanding business process
  • Acceptance tests written for coding, not testing perspective
  • Communication challenges – IT is technical, business is not technical

If you have any of these issues, there’s a great chance that adopting ATDD will help in solving it.

In my book, Lean-Agile Acceptance Test-Driven Development, I have reports from many people on how ATDD has benefited them. Here’s a summary of those benefits:

  • Rework Down from 60% to 20%
  • Little Room for Miscommunication
  • Workflows Working First Time
  • Getting Business Rules Right
  • Crisp Visible Story Completion Criteria
  • Tighter Cross-Functional Team Integration
  • Game Changing
  • Saving Time
  • Automation Yields Reduced Testing Time

As you can see, ATDD can benefit your process in many ways.