This is a talk about BDD.
Teams face typical problems of predictability, communication,quality. Scrum help in many of these things like self organizing but it does not solve some of the problems of communication and quality. In many they work in silos, BA hand off to Developers, Developers hand off to testers etc.
We can work in small pieces, better collaboration and focus on more technical discipline.
We need to focus on the technical discipline.
BDD Is a tool that facilitates interactions between individuals.
Explore- Discover-Define-Drive out
BDD operates at the behaviour level whereas TDD Focuses on the low level unit level.
Conversations matter because :
- software is made by people
- Ignorance is the bottlneck
- Everyone has a unique perspective
For each of the story or the set of stories we should ahve discovery workshop where the discussions can be done and business rules can be discussed and questions can be addressed.
-make sense to everyone
-it is rooted in the problem domain
- help build ubiquitous language
- provide a shared source of truth
- help you to split stories into small pieces
The bit of TDD that everyone forgets is refactoring. Refactoring is going to keep the product alive. If we dont do refactoring the product will die