For the first phase of our contact book application, we took it for granted that the people we had to speak with understood the Python language well enough that we could share with them our acceptance tests for review and confirm that we were going in the right direction.
While it's getting more and more common that people involved in product definition have at least an entry-level knowledge of programming, we can't take it for granted that every stakeholder we need to enter into discussions with knows Python.
So how can we keep the same kind of feedback loop and apply the strategy of reviewing all our acceptance tests with other stakeholders without involving Python?
That's what Behavior-Driven Development (BDD) tries to solve. BDD takes some concepts from Test-Driven Development (TDD) and Domain-Driven Design (DDD) to allow all stakeholders to speak the same language as the technical team.
In the end, BDD tries to mediate between the...