Interesting questions about Behaviour-Driven Development

bddcucumberRequirementsspecifications

For my master thesis at Software Engineering, I want to investigate in the new development technique BDD (Behaviour-Driven Development). In my opinion this technique could really improve on customer satisfaction, code coverage and bugs because of the force of executable specifications and the customer-understandable language.

For my thesis however, I struggle with the way I am going to validate that BDD could work better in certain circumstances. At the company I work during my study, work is still mostly done in a traditional, iterative way, where it sometimes is hard to change requirements after the requirements elicitation stage.

My question is, are there any people who already did projects with BDD, what are their experiences and have you ever felt something about BDD that you would want to investigate in, commencing on the above paragraphs? This could help me a lot with constructing my research question. Thanks in advance!

Best Answer

BDD is actually TDD with fixed terminology (see here).

BDD wiki provides a clear explanation. If done right, it can work quite well. At least it worked very well in my team when we switched from almost cowboy coding. The code coverage increased, and with it, the number of bugs reduced, and quality increased.

What is also good about it is that you automatically get YAGNI, KISS and if done right SOLID.


how the output of a new development technique like BDD can be validated?

As other development methods, BDD is not a silver bullet (such thing still doesn't exists in the software development). If after some time you do not see improvements in the code quality, then it's better not to use it. Under code quality, I mean : less bugs, easier to implement change requests, etc.

Related Topic