Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

BDD/TDD vs JAD? [closed]

Tags:

tdd

bdd

jad

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?

like image 631
Jonathan Avatar asked Jan 06 '11 23:01

Jonathan


1 Answers

If you want to convince them that this would help, the main thing you need to do is identify a problem that it would solve.

What is happening in your situation that you think this would improve?

The main benefit of BDD is in improving communication between stakeholders and developers.

If you're producing code that fails these verification tests, then the developers have understood your spec differently from the testers, which means the specification lacks clarity and BDD could definitely improve the situation.

There are also parts of the process that as a developer you can work on without changing the entire team's process. If you focus on the unit-testing level and do traditional test-driven-development, that might make you more productive.

like image 127
Don Roby Avatar answered Oct 20 '22 17:10

Don Roby