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

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

77d585b881102ee229be5d5af4a11b8b?s=47 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!

77d585b881102ee229be5d5af4a11b8b?s=128

Jeffrey

September 16, 2014
Tweet

Transcript

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

    Scrum in Southlake Tues, Sept 16, 2014
  2. @JeffreyGoodReq goodrequirements.com www.linkedin.com/in/jeffreydavidson

  3. Built Right or Right Product? Built Right Focus   Right

    Product Spec  by  example  
  4. Built Right or Right Product? Built Right Right Product Business

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

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

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

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

    multiple- stakeholder, multiple-scale, high-automation, agile methodology. . . .”
  9. 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
  10. Specification by Example •  Derive Scope from Business Goals • 

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

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

    changes more efficiently •  . . . less rework •  . . . higher product quality • 
  13. Simple Structure •  Given [CONTEXT] •  When [EVENT OCCURS] • 

    Then [OUTCOME]
  14. BDD: What it is & why we should care @JeffreyGoodReq

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