BDD agile china2012_share

Preview:

DESCRIPTION

My session on BDD at Agile Conference China 2012

Citation preview

BEHAVIOR DRIVEN DEVELOPMENTAdding value with less work

Page 2

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

Visionary, Scout leader. Passionate to help people grow.

› mail: giuseppe.desimone@ericsson.com

› Twitter: @giusdesimone

› web:– Agile Coaching Network

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

Page 3

MANIFESTO OF SW CRAFTSMANSHIP

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 IN A NUTSHELL

Page 6

BDD IS NOT ABOUT TESTING...

…IT’S ABOUT DEVELOPMENT!

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

Accep

tance TestsA

ccep

tanc

e C

rite

ria

Page 9

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 10

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 11

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 12

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 13

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 14

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 15

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 16

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 17

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 18

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 19

Acc

epta

nce

Cri

teri

a Accep

tance Tests

Page 20

Acc

epta

nce

Cri

teri

a Accep

tance Tests

DONE

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

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

DESIGN, IMPLEMENT, TEST ALL IN ONE...

Deliverable

ImplementAnalyze

Deliverable

Traditional Development

Agile Development

Test

Page 24

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

Page 25

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

OUR EXPERIENCE

Page 28

Page 29

Page 30

Page 31

Development Team

TMTM

Sprint Review Meeting

...

ScrumMaster

SMSM

Product Owner

POPO����

Page 32

REFLECTIONS› BDD is NOT a tool

› Always challenge the desired behaviour

› Fast feedback is essential

› Communicate and collaborate

› Risk-first!

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

GAMIFYING BDD

Page 35

USEFUL LINKS

› Cucumber site– cukes.info

› Liz Keogh’s blog– lizkeogh.com

› Gojko Adzic web site– gojko.net

Page 36

Recommended