0

The benefits of Behavior Driven Development (BDD) seem to be that non-technical stakeholders are more easily included in the writing of requirements/user stories.

In an open-source project, most stakeholders seem to have a technical background, and should thus be able to understand the tests themselves, without a BDD proxy.

Is this reasoning correct? Which are the advantages of using BDD in an open-source software project?

  • 1
    seem to be that non-technical stakeholders are more easily included in the writing of requirements/user stories. well, technical stakeholders still have to understand what code is supposed to do. Reading user stories is fairly easier than reading countless unit|integration tests. Tests also are communication tools. – Laiv May 9 at 14:29
2

Taking each of your points in turn

The benefits of Behavior Driven Development (BDD) seem to be that non-technical stakeholders are more easily included in the writing of requirements/user stories.

I'd say that the benefits are to define a common language on both sides.

Stakeholders define the story in terms of: As a... I want... so that... which can be readily matched to a unit test in the form: Given... When... Then...

Some frameworks even support dumping the unit test output so they can be matched directly to the stories to prove compliance.

In an open-source project, most stakeholders seem to have a technical background, and should thus be able to understand the tests themselves, without a BDD proxy.

While this may be true, there may be various areas of the system which some parties aren't au fait with. One of the real benefits of BDD is that you don't have to understand the technical aspects to understand the requirement as they share a common language.

Is this reasoning correct? Which are the advantages of using BDD in an open-source software project?

As outlined above: due to the common language, the requirements can be shown to match the tests so it easier to determine how compliant the system is.

It is of course possible to do this without BDD. The Given... When... Then... pattern is pretty common within the TDD community.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.