SLIDE 1 HOW BDD CAN SAVE AGILE
@mattwynne | QCon 2015 | London
SLIDE 2
Does agile really need saving?
SLIDE 3
Scrum != Agile
SLIDE 4
Quality Communication Predictability
SLIDE 5
Technical discipline Collaboration Small pieces
SLIDE 6
How does BDD help?
SLIDE 7 Individuals and Interactions
Processes and Tools
SLIDE 8 BDD is a tool
- r maybe even a process, I dunno…
but…
SLIDE 9
BDD is a tool that facilitates interactions between individuals
SLIDE 10 BDD is a label
but
SLIDE 11
I don’t like labels
SLIDE 12
Let’s talk about behaviour instead
SLIDE 13
BDD practitioners
explore, discover, define,
then drive out the desired behaviour of software using
conversations, concrete examples and automated tests.
SLIDE 14 Explore Discover Define Drive out
SLIDE 15
Conversations Concrete examples Test-driven development
SLIDE 16
CONVERSATIONS
SLIDE 17 SOFTWARE IS MADE BY PEOPLE
CONVERSATIONS MATTER BECAUSE
SLIDE 18 IGNORANCE IS THE BOTTLENECK
CONVERSATIONS MATTER BECAUSE
SLIDE 19 Discovery Workshop Stories Examples Shared understanding Smaller stories Questions Business rules
SLIDE 20 EVERYONE HAS A UNIQUE PERSPECTIVE
CONVERSATIONS MATTER BECAUSE
SLIDE 21
CONCRETE EXAMPLES
SLIDE 22 MAKE SENSE TO EVERYONE
CONCRETE EXAMPLES
SLIDE 23 ROOTED IN THE PROBLEM DOMAIN
CONCRETE EXAMPLES ARE
SLIDE 24
Problem Domain Solution Domain
SLIDE 25 HELP BUILD A UBIQUITOUS LANGUAGE
CONCRETE EXAMPLES PROVIDE
SLIDE 26 A SHARED SOURCE OF TRUTH
CONCRETE EXAMPLES PROVIDE
SLIDE 27 SPLIT STORIES INTO SMALL PIECES
CONCRETE EXAMPLES HELP YOU TO
SLIDE 28
TEST-DRIVEN DEVELOPMENT
SLIDE 29 WARNING LIGHTS
AUTOMATED TESTS ARE YOUR
SLIDE 30 REFACTORING
THE BIT OF TDD THAT EVERYONE FORGETS IS
SLIDE 31
SLIDE 32
SLIDE 33
You can't have clean code without refactoring You can't refactor without good automated tests You can't stay agile without clean code
SLIDE 34 WHY?
TDD FORCES YOU TO ASK
SLIDE 35 LISTENING TO THE TESTS
BUT YOU WILL FAIL UNLESS YOU ARE
SLIDE 36
NO SHORT CUTS:
EXCELLENT COMMUNICATION EXCELLENT CODE
SLIDE 37 THANKS. QUESTIONS?
@mattwynne matt@cucumber.pro