Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Behavior Driven Development: What it is and why...

Jeffrey
September 16, 2014

Behavior Driven Development: What it is and why we should care

It’s hip to be agile and cool to TDD, but what the heck is BDD (Behavio[u]r Driven Development? Where’s the intersection between TDD, ATDD, and BDD? More importantly, can it help my team focus better, or deliver faster? Yes!

We will walk through what BDD is, what it isn’t, and what it could be for your team. Part lecture, part conversation, and a teeny-tiny bit of practice; this session will be an irreverent look at this fabulous technique.

Cliff Notes version: BDD is about understanding and delivering functionality people use. If your software provides features for people, then come hear why BDD rocks!

Jeffrey

September 16, 2014
Tweet

More Decks by Jeffrey

Other Decks in Technology

Transcript

  1. BDD: What it is & why we should care DFW

    Scrum in Southlake Tues, Sept 16, 2014
  2. Built Right or Right Product? Built Right Right Product Business

    Failure Useless Crap Success Maintenance Nightmare
  3. BDD is a . . . •  . . .

    conversation, captured •  . . . in a particular grammar style •  . . . way to help automated testing •  . . . way to increase understanding
  4. What BDD isn’t •  Testing or •  Automated Testing or

    •  Acceptance Test Driven Development •  Gherkin / Given – When – Then
  5. What BDD includes •  Testing •  Automated Testing •  Acceptance

    Test Driven Development •  Gherkin / Given – When – Then
  6. According to Dan North “BDD is a second-generation, outside-in, pull-based,

    multiple- stakeholder, multiple-scale, high-automation, agile methodology. . . .”
  7. According to Dan North “. . . It describes a

    cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.” Agile Specifications, 2009
  8. Specification by Example •  Derive Scope from Business Goals • 

    Specify Examples Collaboratively •  Specification with Examples •  Automate Examples •  Validate Specification Frequently •  Produce Living Documentation
  9. Benefits include . . . •  . . . greater

    understanding •  . . . tested software •  . . . living specifications •  . . . faster development
  10. Benefits include . . . •  . . . implementing

    changes more efficiently •  . . . less rework •  . . . higher product quality • 
  11. BDD: What it is & why we should care @JeffreyGoodReq

    goodrequirements.com www.linkedin.com/in/jeffreydavidson