jcn12 behavior-driven development

44
cc by-sa © Aki Salmi, 2012 INTRODUCING BDD with a happy end.

Upload: ambientia

Post on 01-Nov-2014

658 views

Category:

Documents


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: JCN12 Behavior-Driven Development

cc by-sa © Aki Salmi, 2012

INTRODUCING BDDwith a happy end.

Page 2: JCN12 Behavior-Driven Development

Who am I

Page 3: JCN12 Behavior-Driven Development

Who am I (cont)

Page 4: JCN12 Behavior-Driven Development

Who am I (cont.)

blipper

into agile since late 2006

studying to be supervisor

[email protected]

@aksalmi

Page 5: JCN12 Behavior-Driven Development
Page 6: JCN12 Behavior-Driven Development

Introducing BDD

Does it mean:

BDD Basics

OR

How I introduced BDD to my current company?

Page 7: JCN12 Behavior-Driven Development

History

2008 Acceptance testing with Robot Framework

2009 Acceptance testing with Cucumber

2010 first trials of using cucumber to collaborate with the customers.

You can buy the book from http://pragprog.com/book/hwcuc/the-cucumber-book

Page 8: JCN12 Behavior-Driven Development

I started as Scrum Master for a team of 9.

Weekly sprints. Mostly failing to deliver

Agile coaches visiting us.

Discussions. Every. Single. Morning.

“What’s wrong with this all?”

Early spring 2011 @ Lindorff

Page 9: JCN12 Behavior-Driven Development

I DID WHAT I WAS BEST AT...

Page 10: JCN12 Behavior-Driven Development

NOTHING

Page 11: JCN12 Behavior-Driven Development

NOTHINGto hinder development effort

Page 12: JCN12 Behavior-Driven Development

Where to lead?formation matters

Page 13: JCN12 Behavior-Driven Development

Personal Touch

live your dream

transparency

empathy, care

optimism

Page 14: JCN12 Behavior-Driven Development

Minor changes

informative workspace (big kanban wall)

new acceptance testing tool

easy way to introduce new process

closer cooperation with the business

Page 15: JCN12 Behavior-Driven Development

The magic date 1.7.2011

“This needs to be done - We require You to complete 550 SP by end of this year”

Page 16: JCN12 Behavior-Driven Development

Calculus15SP / 2wk / team

2 teams

Estimated total velocity 60SP / month

Work enough until mid-April 2012.

Page 17: JCN12 Behavior-Driven Development

which resulted in...

Page 18: JCN12 Behavior-Driven Development

“YOU NEED TO MAKE IT HAPPEN!”

the business promised to help

Page 19: JCN12 Behavior-Driven Development

The End?

Page 20: JCN12 Behavior-Driven Development

Now it’s your call!

BDD Basics Introducing change!

Page 21: JCN12 Behavior-Driven Development

Walk side-by-sidebe always present, but not always visible

Page 22: JCN12 Behavior-Driven Development

Feedback loopsor how we learned about it

Page 23: JCN12 Behavior-Driven Development

Ideas

Features

Code

Matt Wynne on Refuctoring Your Cukes http://skillsmatter.com/podcast/agile-testing/refuctoring-your-cukes

Page 24: JCN12 Behavior-Driven Development

The processor how we experimented it.

Page 25: JCN12 Behavior-Driven Development

AcceptanceCriteria

Release BLgrooming

ExecutableSpecification

implementation

demo & review

UAT

defer design decisions

Note: this did or did not work in our context!

Page 26: JCN12 Behavior-Driven Development

Release backlog groomingalways off-site

Page 27: JCN12 Behavior-Driven Development

BLDateshere

AC ES WIP UAT Done

ChangeSet #

Page 28: JCN12 Behavior-Driven Development

Remember: BDD is not about tools!

Page 29: JCN12 Behavior-Driven Development

Communicate plansand how we are progressing

Page 30: JCN12 Behavior-Driven Development

Challenges we are facing

Yes, there are some.

Page 31: JCN12 Behavior-Driven Development

Communicate plansso far away, no matter how close

Page 32: JCN12 Behavior-Driven Development

Exploratory Testing

A lot to learn

Since for us it’s mostly…

Page 33: JCN12 Behavior-Driven Development

ad-hoc testing... aiming to catch bugs flying around?

Page 34: JCN12 Behavior-Driven Development

INSTEAD OF…

Page 35: JCN12 Behavior-Driven Development

ref [5]

The Goal of ET

1. Gain Understanding

2. Force to exhibit it’s capabilities

3. Find Bugs

Page 36: JCN12 Behavior-Driven Development

Feedback loopsor how we think about it now

Page 37: JCN12 Behavior-Driven Development

pairingTDDbuilds

Scenario testsStory (ET)

Feature (ET)Business Process (UAT)

Page 38: JCN12 Behavior-Driven Development

What made this possible?

0

175

350

525

700

22.6 6.7 20.7 3.8 17.8 31.8 14.9 28.9 12.10 26.10 9.11 23.11 7.12 21.12 4.1. 18.1 1.2 15.2 29.2

Linear extrapolation

Expected progress w/ 100% linear growthExpected progress w/ aggressive growth

Done + Approved

Page 39: JCN12 Behavior-Driven Development

Story of ‘550’

Page 40: JCN12 Behavior-Driven Development

Say what you say - 6 words.

Page 41: JCN12 Behavior-Driven Development

Luck, that is your best friend!

Page 42: JCN12 Behavior-Driven Development

Sit together, talk together, smile together

Page 43: JCN12 Behavior-Driven Development

Build Trust! And help them experiment

Page 44: JCN12 Behavior-Driven Development

Thank you!

Feedback appreciated!

[email protected]

@aksalmi