We tried many techniques and found Behaviour Driven Development very useful. It goes way beyond expressing user stories as Given-When-Then. It supports a thorough analysis of each feature. It provides a valuable communication framework between the Product Owner and the developers. It determines the team to define clear acceptance criteria before any line of code is written.
Thus the developers work with confidence, knowing exactly where their code is heading – and there’s no talk of “bad requirements”, because everyone contributes from the beginning.
I will share the way we write specs together and the way we organise the different types of work activities related. I will present the benefits we find in using BDD, as well as some mistakes we’ve made along the way and what we’ve learned from the experience.