Slide 1

Slide 1 text

HOW BDD CAN SAVE AGILE @mattwynne | QCon 2015 | London

Slide 2

Slide 2 text

Does agile really need saving?

Slide 3

Slide 3 text

Scrum != Agile

Slide 4

Slide 4 text

Quality Communication Predictability

Slide 5

Slide 5 text

Technical discipline Collaboration Small pieces

Slide 6

Slide 6 text

How does BDD help?

Slide 7

Slide 7 text

Individuals and Interactions over Processes and Tools

Slide 8

Slide 8 text

BDD is a tool or maybe even a process, I dunno… but…

Slide 9

Slide 9 text

BDD is a tool that facilitates interactions between individuals

Slide 10

Slide 10 text

BDD is a label but

Slide 11

Slide 11 text

I don’t like labels

Slide 12

Slide 12 text

Let’s talk about behaviour instead

Slide 13

Slide 13 text

BDD practitioners explore, discover, define, then drive out the desired behaviour of software using conversations, concrete examples and automated tests.

Slide 14

Slide 14 text

Explore Discover Define Drive out

Slide 15

Slide 15 text

Conversations Concrete examples Test-driven development

Slide 16

Slide 16 text

CONVERSATIONS

Slide 17

Slide 17 text

SOFTWARE IS MADE BY PEOPLE CONVERSATIONS MATTER BECAUSE

Slide 18

Slide 18 text

IGNORANCE IS THE BOTTLENECK CONVERSATIONS MATTER BECAUSE

Slide 19

Slide 19 text

Discovery Workshop Stories Examples Shared understanding Smaller stories Questions Business rules

Slide 20

Slide 20 text

EVERYONE HAS A UNIQUE PERSPECTIVE CONVERSATIONS MATTER BECAUSE

Slide 21

Slide 21 text

CONCRETE EXAMPLES

Slide 22

Slide 22 text

MAKE SENSE TO EVERYONE CONCRETE EXAMPLES

Slide 23

Slide 23 text

ROOTED IN THE PROBLEM DOMAIN CONCRETE EXAMPLES ARE

Slide 24

Slide 24 text

Problem Domain Solution Domain

Slide 25

Slide 25 text

HELP BUILD A UBIQUITOUS LANGUAGE CONCRETE EXAMPLES PROVIDE

Slide 26

Slide 26 text

A SHARED SOURCE OF TRUTH CONCRETE EXAMPLES PROVIDE

Slide 27

Slide 27 text

SPLIT STORIES INTO SMALL PIECES CONCRETE EXAMPLES HELP YOU TO

Slide 28

Slide 28 text

TEST-DRIVEN DEVELOPMENT

Slide 29

Slide 29 text

WARNING LIGHTS AUTOMATED TESTS ARE YOUR

Slide 30

Slide 30 text

REFACTORING THE BIT OF TDD THAT EVERYONE FORGETS IS

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

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

Slide 34 text

WHY? TDD FORCES YOU TO ASK

Slide 35

Slide 35 text

LISTENING TO THE TESTS BUT YOU WILL FAIL UNLESS YOU ARE

Slide 36

Slide 36 text

NO SHORT CUTS: EXCELLENT COMMUNICATION EXCELLENT CODE

Slide 37

Slide 37 text

THANKS. QUESTIONS? @mattwynne matt@cucumber.pro