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

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

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

    View Slide

  2. @JeffreyGoodReq
    goodrequirements.com
    www.linkedin.com/in/jeffreydavidson

    View Slide

  3. Built Right or Right Product?
    Built Right
    Focus  
    Right
    Product
    Spec  by  example  

    View Slide

  4. Built Right or Right Product?
    Built Right
    Right
    Product
    Business
    Failure
    Useless
    Crap
    Success
    Maintenance
    Nightmare

    View Slide

  5. BDD is a . . .
    •  . . . conversation, captured
    •  . . . in a particular grammar style
    •  . . . way to help automated testing
    •  . . . way to increase understanding

    View Slide

  6. What BDD isn’t
    •  Testing or
    •  Automated Testing or
    •  Acceptance Test Driven
    Development
    •  Gherkin / Given – When – Then

    View Slide

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

    View Slide

  8. According to Dan North
    “BDD is a second-generation,
    outside-in, pull-based, multiple-
    stakeholder, multiple-scale,
    high-automation, agile
    methodology. . . .”

    View Slide

  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

    View Slide

  10. Specification by Example
    •  Derive Scope from Business Goals
    •  Specify Examples Collaboratively
    •  Specification with Examples
    •  Automate Examples
    •  Validate Specification Frequently
    •  Produce Living Documentation

    View Slide

  11. Benefits include . . .
    •  . . . greater understanding
    •  . . . tested software
    •  . . . living specifications
    •  . . . faster development

    View Slide

  12. Benefits include . . .
    •  . . . implementing changes more
    efficiently
    •  . . . less rework
    •  . . . higher product quality
    • 

    View Slide

  13. Simple Structure
    •  Given [CONTEXT]
    •  When [EVENT OCCURS]
    •  Then [OUTCOME]

    View Slide

  14. BDD: What it is &
    why we should care
    @JeffreyGoodReq
    goodrequirements.com
    www.linkedin.com/in/jeffreydavidson

    View Slide