How to fail with BDD

How to fail with BDD

Having helped many companies adopt BDD over the years, Dan has seen some remarkable, inspiring, worrying and downright scary activities performed in the name of BDD. It seems there are many ways to interpret both the theory and practice of BDD, and this talk attempts to navigate some of that landscape, and provide guidance and advice for those setting out on their BDD journey.

08145ecb1ce091d9dd3c328ea2a707fb?s=128

Daniel Terhorst-North

November 10, 2017
Tweet

Transcript

  1. How to fail with BDD Dan North @tastapod

  2. How to fail with Testing and BDD Dan North @tastapod

  3. How to fail with BDD and Testing Dan North @tastapod

  4. @tastapod Defining BDD *back in the golden age of 140

    characters
  5. @tastapod Defining BDD

  6. @tastapod Defining BDD https:/ /en.wikipedia.org/wiki/Behavior-driven_development BDD is a second generation,

    outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  7. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  8. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  9. @tastapod Ignore outside-in, pull-based Are you starting where you should?

    Or just where you know? Where does demand coming from? What is the next most valuable thing to work on?
  10. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  11. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  12. @tastapod Ignore multiple stakeholder Operate a feature factory Fall into

    the Build Trap™ Accumulate technical debt Create a support nightmare
  13. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  14. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  15. @tastapod Ignore multiple scale Gherkin fixation Cucumber allergy Tool fixation

  16. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  17. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  18. @tastapod Ignore high-automation Without automation there is no feedback Without

    feedback there is no direction Copy-and-paste is not automation! Automation is a programming activity
  19. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  20. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  21. @tastapod Ignore interactions Developer confirmation bias Tester confirmation bias Tooling

    as passive-aggressive shield
  22. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  23. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  24. @tastapod Ignore working, tested software BDD is not about conversations!

    BDD is about shipping working software that matters using conversations!
  25. @tastapod How to fail with BDD BDD is a second

    generation, outside-in, pull-based, multiple stakeholder, multiple scale, high- automation, agile methodology. It describes a cycle of interactions with well- defined outputs, resulting in the delivery of working, tested software that matters.
  26. @tastapod Defining Testing What? Why? “to increase confidence for stakeholders

    through evidence” Definition Purpose
  27. @tastapod Defining Testing “to increase confidence for stakeholders through evidence”

    pragmatism empathy ingenuity
  28. @tastapod How to fail with Testing “to increase confidence for

    stakeholders through evidence” pragmatism empathy ingenuity
  29. @tastapod Ignore pragmatism Feature files for everything! Test coverage targets

    Moar tests!
  30. @tastapod How to fail with Testing “to increase confidence for

    stakeholders through evidence” pragmatism empathy ingenuity
  31. @tastapod Ignore empathy Those pesky stakeholders again! What are you

    are testing, and why? Are you just focusing on the nearest or noisiest?
  32. @tastapod How to fail with Testing “to increase confidence for

    stakeholders through evidence” pragmatism empathy ingenuity
  33. @tastapod Ignore ingenuity When the only tool you have is

    a gherkin… Step outside of your own echo chamber Shift testability concerns upstream
  34. @tastapod You can fail with BDD and Testing You just

    have to not be doing BDD and not be doing Testing
  35. Thanks for listening! https:/ /dannorth.net @tastapod