KEMBAR78
How Bdd Can Save Agile | PDF
@mattwynne | SmartBear Connect | October 2018 | Boston, MA
HOW BDD CAN
SAVE AGILE
Inspire meaningful
& effective
collaboration
in every software organisation
Does Agile really need
saving?
Scrum != Agile
Collaboration
Small pieces
Technical disciplineQuality
Communication
Predictability
Collaboration
Small pieces
Technical discipline
How does BDD help?
Individuals and Interactions
over
Processes and Tools
BDD is a tool
well, a set of practices at least…
but…
BDD is a set of practices
that facilitate
interactions between
individuals
BDD is just a label
but
Let’s talk about
behaviour instead
BDD practitioners
discover, formulate, then
automate
the desired behaviour using
conversations,
concrete examples and
automated tests.
Discover Formulate Automate
Conversations
Concrete examples
Test-driven development
CONVERSATIONS
SOFTWARE IS MADE BY
PEOPLE
CONVERSATIONS MATTER BECAUSE
YOUR IGNORANCE
IS THE BOTTLENECK
CONVERSATIONS MATTER BECAUSE
EVERYONE HAS A
UNIQUEPERSPECTIVE
CONVERSATIONS MATTER BECAUSE
Conversations
Concrete examples
Test-driven development
MAKE SENSE TO
EVERYONE
CONCRETE EXAMPLES
ROOTED IN THE
PROBLEMDOMAIN
CONCRETE EXAMPLES ARE
Problem
Domain
Solution
Domain

“Model the problem well
enough and the solution
will take care of itself”
— David West, Object Thinking
HELP BUILD A
UBIQUITOUS
LANGUAGE
CONCRETE EXAMPLES
A SHARED SOURCE OF
TRUTH
CONCRETE EXAMPLES PROVIDE
LIVING
DOCUMENTATION
CONCRETE EXAMPLES BECOME
Conversations
Concrete examples
Test-driven development
WARNING LIGHTS
AUTOMATED TESTS ARE YOUR
REFACTORING
THE BIT OF TDD THAT EVERYONE FORGETS IS
You can't have clean code
without refactoring
You can't refactor without
good automated tests
You can't stay agile without
clean code
WHY?
TDD FORCES YOU TO ASK
LISTENING TO THE
TESTS
BUT YOU WILL FAIL UNLESS YOU ARE
NO SHORT CUTS TO AGILITY:
EXCELLENT
COLLABORATION
EXCELLENT CODE

How Bdd Can Save Agile