Were you ever lucky enough to work with a Product Owner who actually writes acceptance tests?
My experience as Agile Coach is that most of the Product Owners don’t write acceptance tests. Lucky enough in my last project I was Product Owner. And therefore I decided to establish ATDD within my team.
Within the Scrum Team we quickly agreed that code and product quality is highest priority. We set up a Definition of Done consisting of Unit Tests, Integration Tests and Behavior Driven Tests. Now we are using the Spock and Geb framework to implement our behavior driven or acceptance tests and test features from the user’s perspective.
The syntax is really easy to learn as you describe a situation in the given – when – then format. Each situation then represents a test case.
given: “an empty bank account” // …
when: “the account is credited $10” // …
then: “the account’s balance is $10” // …
Even if the Product Owner isn’t able to cover all test scenarios it is still very helpful to define the most important ones. I was lucky enough to be able and rely on the support of the whole team to add missing test scenarios.
Whenever I managed to live Acceptance Test Driven Development I immediately benefited from it: it is really helpful to have a structured approach to explore the behavior of the product feature. This definitely enhances the product quality.
It also helps to maintain the overview while switching between different levels of details: stakeholder and customer management and product strategy on the one hand, technical details, daily work and delivering software every sprint on the other hand.
And last but not least: we finally have a living documentation!