Avoid Rework Through Behavior-Driven Development

Posted April 10, 2014 by Tim Ottinger

Behavior-Driven Development Box Set

Your team is having a frustrating day. The demo led to arguments and accusations. The feature is not going to ship.

This isn't the first time.

The analysts have redoubled their efforts, adding more prose, more diagrams, more explanatory text, yet frustrating disconnects remain.

Miscommunication during handoff creates waste and rework.

Disappointment creates frustration and disengagement in the team.

Two potent defenses against miscommunication are collaboration and concrete examples.

Once you realize the problem is in the handoff, you can defend your team against misunderstandings by increasing the signal-to-noise ratio in your communication:

  • Include the whole team (analysts, programmers, testers, etc) during feature specification
  • Create examples to show how the rules apply in various scenarios
  • Use the examples to build test scenarios for the feature
  • Keep the whole team collaborating during the building of the feature, clarifying confusion as it arises
 
When we build our examples together, we all understand the features in the same way.
 

Examples reduce the amount of painful detail. They should be written in a formal way that is easily automated.

Developers remain focused and directed by having examples to reference, and also by having access to analysts when counter-examples arise.

The process of specification-by-example is referred to as Behavior-Driven Development (BDD).

Industrial Logic’s BDD eLearning Box Set distills techniques of safe BDD into easy-to-absorb tracks containing quizzes, exercises, and pro tips. You gain applicable knowledge in hours, and start down the path of specifying and automating scenarios safely.