BDD/TDD vs JAD?
- by Jonathan Conway
I've been proposing that my workplace implement Behavior-Driven-Development, by writing high-level specifications in a scenario format, and in such a way that one could imagine writing a test for it.
I do know that working against testable specifications tends to increase developer productivity. And I can already think of several examples where this would be the case on our own project.
However it's difficult to demonstrate the value of this to the business.
This is because we already have a Joint Application Development (JAD) process in place, in which developers, management, user-experience and testers all get together to agree on a common set of requirements.
So, they ask, why should developers work against the test-cases created by testers? These are for verification and are based on the higher-level specs created by the UX team, which the developers currently work off.
This, they say, is sufficient for developers and there's no need to change how the specs are written.
They seem to have a point.
What is the actual benefit of BDD/TDD, if you already have a test-team who's test cases are fully compatible with the higher-level specs currently given to the developers?