This week's book giveaway is in the Design forum.
We're giving away four copies of Design for the Mind and have Victor S. Yocco on-line!
See this thread for details.
Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

BDD in the SE process

 
marcos robinson
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi there,
How do you see BDD fitting in to Software Engineering processes?
Is it a process on its own? Does it crosscut parts (or activities) in the process?
Is one process better suited to BDD than another?
Thanks!
 
John Smart
Author
Ranch Hand
Posts: 43
5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
BDD can fit into the SE process at several levels. It is not a process on its own, but rather is a practice that fits into your existing SE process.

When used fully, it works best with Agile practices such as Scrum as it is built on fostering/encouraging ongoing conversation and collaboration between customers, BAs, developers and testers. BDD is not about defining all of the acceptance criteria upfront, but rather discovering them incrementally in collaboration with the client. However, even more predictive ("waterfall"-style) processes can benefit from the automation, communication and feedback aspects of BDD if the specifications are not expected to change too much. BDD used at the coding level can even be considered as an easier way to practice TDD, and can be practiced in almost any SE process.
 
Burk Hufnagel
Ranch Hand
Posts: 814
3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
John Smart wrote:BDD is not about defining all of the acceptance criteria upfront, but rather discovering them incrementally in collaboration with the client. However, even more predictive ("waterfall"-style) processes can benefit from the automation, communication and feedback aspects of BDD if the specifications are not expected to change too much.

Good point. I think that most anything that encourages direct and clear communication between the client, developers, and testers, is a very good thing - no matter what development process you're using. In addition, the idea of executable specifications means that you're not just getting agreement on behavior, you're also creating documentation that doesn't go out of date (unless you stop running your tests) so it can be trusted and can be used to bring new team members up to speed quickly.

John Smart wrote:BDD used at the coding level can even be considered as an easier way to practice TDD, and can be practiced in almost any SE process.

Using BDD at the class level is a new idea for me, and one that makes me happy to have been involved this week. Thank you, John!

Burk
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic