36
BEHAVIOR DRIVEN DEVELOPMENT Adding value with less work

BDD agile china2012_share

Embed Size (px)

DESCRIPTION

My session on BDD at Agile Conference China 2012

Citation preview

Page 1: BDD agile china2012_share

BEHAVIOR DRIVEN DEVELOPMENTAdding value with less work

Page 2: BDD agile china2012_share

Page 2

GIUSEPPE DE SIMONE› Agile/Lean coach, Trainer, Lecturer, Change catalyst,

Visionary, Scout leader. Passionate to help people grow.

› mail: [email protected]

› Twitter: @giusdesimone

› web:– Agile Coaching Network

– http://it.linkedin.com/in/giuseppedesimone

Page 3: BDD agile china2012_share

Page 3

MANIFESTO OF SW CRAFTSMANSHIP

Page 4: BDD agile china2012_share

Page 4

DELIVER AS FAST AS POSSIBLE Learn as fast as possible

Simplicity -- the art of m

aximizing the amount

of work not done -- is essential.

Page 5: BDD agile china2012_share

Page 5

BDD IN A NUTSHELL

Page 6: BDD agile china2012_share

Page 6

BDD IS NOT ABOUT TESTING...

…IT’S ABOUT DEVELOPMENT!

Page 7: BDD agile china2012_share

Page 7

USER STORY

As a Returning Customer I want the system to remember my details so I can purchase goods more quickly.

Acceptance criteria:Acceptance criteria:Acceptance criteria:Acceptance criteria:Scenario: Review Details Before PurchaseScenario: Review Details Before PurchaseScenario: Review Details Before PurchaseScenario: Review Details Before PurchaseGivenGivenGivenGiven I’m on the Amazon websiteAnd I’m logged in as a returning customerWhenWhenWhenWhen I click the “1-Click” buttonThenThenThenThen I should see my order details

Page 8: BDD agile china2012_share

Page 8

Accep

tance TestsA

ccep

tanc

e C

rite

ria

Page 9: BDD agile china2012_share

Page 9

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 10: BDD agile china2012_share

Page 10

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 11: BDD agile china2012_share

Page 11

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 12: BDD agile china2012_share

Page 12

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 13: BDD agile china2012_share

Page 13

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 14: BDD agile china2012_share

Page 14

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 15: BDD agile china2012_share

Page 15

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 16: BDD agile china2012_share

Page 16

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 17: BDD agile china2012_share

Page 17

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 18: BDD agile china2012_share

Page 18

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 19: BDD agile china2012_share

Page 19

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 20: BDD agile china2012_share

Page 20

Acc

epta

nce

Cri

teri

a Accep

tance Tests

DONE

Page 21: BDD agile china2012_share

Page 21

TEST DRIVEN DEVELOPMENT

start with a failing

test

Quickly write the

simplest code needed

to pass the test

refactoring

Repeat as needed to meet requirements

Test everything that could possibly break

Page 22: BDD agile china2012_share

Page 22

TESTING QUADRANTS

Cri

tique

the

pro

duc

t

Sup

po

rt th

e te

amBusiness-facing

Technology-facing

AcceptanceTests

Q2

Unit TestsComponent Tests

Q1

Exploratory TestsUsability Tests

UAT

Q3

Performance, Security,

Load Tests

Q4

TDD

BDD

Page 23: BDD agile china2012_share

Page 23

DESIGN, IMPLEMENT, TEST ALL IN ONE...

Deliverable

ImplementAnalyze

Deliverable

Traditional Development

Agile Development

Test

Page 24: BDD agile china2012_share

Page 24

Given <context>When <action>Then <expected result>

Page 25: BDD agile china2012_share

Page 25

Page 26: BDD agile china2012_share

Page 26

BDD INSTANT WORKSHOP

› What could be for you (your team, your context) the benefits of using BDD?

› What do you miss to start tomorrow?

ta

lk

Page 27: BDD agile china2012_share

OUR EXPERIENCE

Page 28: BDD agile china2012_share

Page 28

Page 29: BDD agile china2012_share

Page 29

Page 30: BDD agile china2012_share

Page 30

Page 31: BDD agile china2012_share

Page 31

Development Team

TMTM

Sprint Review Meeting

...

ScrumMaster

SMSM

Product Owner

POPO����

Page 32: BDD agile china2012_share

Page 32

REFLECTIONS› BDD is NOT a tool

› Always challenge the desired behaviour

› Fast feedback is essential

› Communicate and collaborate

› Risk-first!

Page 33: BDD agile china2012_share

Page 33

COACHING BDD

› No special secret!

› Teaching and mentoring

› “Ha-ha” moments need to happen for lasting effects

› Grow agilists

› Stimulate curiosity and enthusiasm– Throw questions and challenges

Page 34: BDD agile china2012_share

Page 34

GAMIFYING BDD

Page 35: BDD agile china2012_share

Page 35

USEFUL LINKS

› Cucumber site– cukes.info

› Liz Keogh’s blog– lizkeogh.com

› Gojko Adzic web site– gojko.net

Page 36: BDD agile china2012_share

Page 36