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

20 Years of BDD

20 Years of BDD

Twenty years ago, I had a problem. I was working as a consultant introducing teams to ideas like continuous integration, pair-programming, and test-driven development. I was, and still am, a fan of TDD, and I was frustrated with how hard it was to get people to even try it. Most of the objections stemmed from the word ‘test’.

I tried changing my approach, using language like ‘code example’ and ‘executable spec’, and not mentioning tests at all, and that seemed to land better. People were certainly more willing to give it a try!

Fast-forward 20 years and I am amazed at the traction BDD has had. It has spawned a host of books, most of them fantastic, none of them by me. It gave rise to an ecosystem of automation tools starting in the Java and Ruby worlds as JBehave and RSpec respectively, and then exploding into the Gherkin-based tools of Cucumber, Reqnroll (née SpecFlow), and PHP’s own venerable behat.

Since PHPUK is also 20 years old this year—happy birthday!—it seems appropriate to look back over two decades of BDD to see how far we have come, what might be coming next, and why I think Cucumber-like tools are overkill for almost any use case (but fantastic when they aren’t).

Daniel Terhorst-North

February 19, 2025
Tweet

Video

More Decks by Daniel Terhorst-North

Other Decks in Technology

Transcript

  1. Hi, I’m Daniel A decade* as a $adjective Developer A

    decade* as a consultant at Thoughtworks 2-year hiatus (accidental proper job) A decade* as an independent consultant https:// fl ickr.com/photos/jmcarthy99/ ‘I advocate passionate dedication to the pursuit of short-term goals; be micro-ambitious.’ * for values of ‘decade’
  2. Why shared understanding of the goal
 What shared understanding of

    success criteria
 How shared understanding that we will fi gure this out People work best when there is a shared understanding
  3. BDD

  4. A brief history of BDD 2007 Plain Text Stories RBehave

    RSpec Story Runner Introducing BDD 2006 RSpec 2005 Story title 2004 I do this This happens (Ivan Moore) Given When Then scenarios and steps s/test/example/ 2003 (Liz Keogh) (Chris Matts) (Steven Baker) (David Chelimsky) (Aslak Hellesøy) Gherkin
  5. Delivery Features Enhancements Discovery Experiments Research - user behaviour -

    domain - technology Everything else! (‘keep the lights on’) Scheduled BAU Failure demand Kaizen - process improvement - tech cleanup - learning & development Start with the demand Demand-Led Planning in 5 minutes
  6. Demand-Led Planning in 5 minutes 1. Identify the demand 2.

    Pitch the demand 3. Set the constraints 4. Runaround! 5. Test the result repeat until working! Everybody in one room!
  7. Demand-Led Planning in 5 minutes O · i O ·

    · O O O i O o · i o · O - i O · o . - O i & O ⊥ & ⊥ - · O - ·
  8. Demand-Led Planning in 5 minutes ⊥ O 10 - O

    E · O O t - i O · · · ant O O G · & O · · O i - TechDebt! of - O & O - & O · - i o - i , ·
  9. Demand-Led Planning in 5 minutes 1. Throughput 2. Lead time

    (Age) 3. Work in Process (Load) Use OKRs for goals, fl ow metrics for tracking
  10. direction structure Alignment of owned by shared through Product vision

    Product leadership Product strategy Technology vision Technology leadership Technology strategy Ways of working Practices / Guilds Communities Focus Delivery leaders OKRs Autonomy through Alignment in 5 minutes
  11. What’s next… for BDD? a vibrant community centred not bounded

    not for sale! for Goalwards? it’s taking shape watch this space! for me? I’m still exploring…