I’m writing a book! But it isn’t finished yet. In the meantime, here’s a sample of the kind of information that we’re likely to include in it. Please let me know if there’s anything else you’d like to see explained.
Please also see this related page on Embracing Uncertainty, as it’s highly relevant to the way in which I approach BDD!
* denotes relevant external links, not necessarily by me
Starting the Journey
These links provide an overview of BDD and its history, from Dan North’s initial inception to the use of scenario-based frameworks that predominates today. While reading these, spot the places where we mention conversation, questioning and feedback. These are at the heart of BDD. The language we use – examples, scenarios, Given, When, Then – is also relevant.
Dan North, “Introduction to BDD”*
Wikipedia, “Behavior Driven Development”*
Liz’s BDD Tutorial: annotated slides*
Conversational Patterns in BDD
It’s about the examples you can’t find, not the ones you can
ATDD vs. BDD and a potted history of some related stuff
Dan and Liz are interviewed at GOTO Chicago
Using BDD with Legacy Systems
Converting from ATDD / TDD
Want to know how to move from a TDD or ATDD mindset to a BDD one? These links focus on the differences between the methodologies. If you’re already doing TDD or ATDD very well, you may find some hints for sharpening your practices here.
Tests should make things easy to change
Translating TDD to BDD
Mocks, Outside-in, Swarming Features and Guesswork
Interview with Anthony Bailey: What does BDD offer TDD die-hards?*
Feature Injection: From Vision to Scenario
Chris Matts, an analyst involved in the initial BDD inception, takes some of the patterns in BDD into the analysis space. These practices can really help in phrasing scenarios effectively and focusing on business-valuable differentiators.
Chris Matts, “Real Options at Agile 2009”*
InfoQ article: “Pulling Power: A New Software Lifespan”*
They’re Not User Stories
Acceptance Criteria vs. Scenarios
Step Away from the Tools
Capabilities and Complexity Estimation
When we write our scenarios, we think about the capabilities we’re delivering, rather than the features and UI that we’re using to drive out those capabilities. Sometimes when we’re talking about something new, it’s hard to decide what the outcome of a scenario should be. If we’re talking about things which are well-understood, people become bored and it wastes time. These articles outline ways in which the certainty of capabilities can be identified, and the different approaches and ways of using BDD within those different domains. We also look at approaches for continuous capabilities (aka non-functionals).
Estimating Complexity
Capability-based Planning and Lightweight Analysis
Continuous vs. Discrete Capabilities
Fun
Sometimes we like to play and experiment with the concepts of BDD. I thought these popular nuggets were worth including.
What’s missing? Is there something that you feel explains a concept better than these links? Please let me know by email – liz at lunivore.com – or in the comments below!
Pingback: Useful links to start TDD / BDD | Finding Marbles
Pingback: What Makes a Good Tester? « OlafLewitz
Pingback: Behavior-Driven Development (BDD) with JBehave, Gradle, and Jenkins « Secure Software Development
Pingback: Behavioural testing in .Net with SpecFlow and Selenium (Part 1) « James Heppinstall: On Development
Pingback: BDD – Working with Scenarios | KRS Media
Pingback: Can You Give Me An Example? Using BDD with Staff Development | Red Gate Software Development
Pingback: Can You Give Me An Example? Using BDD with Staff Development | The Agile Pirate
Pingback: Behaviour-Driven Development at the FT | Engine Room, a blog by the Financial Times Technology Department
Pingback: Thinking about BDD | Nicholas Muldoon
Pingback: New certificate: PSD from Scrum.org | Charly Peeters Blog
Pingback: Le Manifeste du BDD – Excellence Agile
good work!
Pingback: Stuff & things I’ve found useful – Listy Blog
Pingback: Lean Product Development (LPD)? – Ian Lister Blog
Pingback: Specification by Example
Pingback: BDD: putting values before roles – Paul Gibbs
Pingback: BDD – Working with Scenarios | KRS
Pingback: Examples