BDD communication bridges - Expedia TED talk

14
Expedia, Inc. Confidential & proprietary. All rights reserved. Behaviour Driven Development

description

 

Transcript of BDD communication bridges - Expedia TED talk

Page 1: BDD communication bridges - Expedia TED talk

© 2008 Expedia, Inc. Confidential & proprietary. All rights reserved.

Behaviour Driven Development

Page 2: BDD communication bridges - Expedia TED talk

Communication Issue

They are slow!..They do not know what they need!..

Page 3: BDD communication bridges - Expedia TED talk

Communication Issue

They are slow!..They do not know what they need!..

Page 4: BDD communication bridges - Expedia TED talk

Building the communication bridge

Page 5: BDD communication bridges - Expedia TED talk

Building the communication bridge

Page 6: BDD communication bridges - Expedia TED talk

Behaviour Driven Development

Focus on delivery of

prioritised, verifiable business value by providing a

common vocabulary

BDD is an evolution in the thinking behindTest Driven Development and Acceptance Test Driven Planning.

Page 7: BDD communication bridges - Expedia TED talk

Behaviour Driven Development practices

• Establishing the goals of different stakeholders required for a vision to be implemented

• Drawing out features which will achieve those goals using feature injection

• Involving stakeholders in the implementation process through outside-in software development (driven by business value, UI->code, YAGNI)

• Using examples to describe the behaviour of the application, or of units of code

• Automating those examples to provide quick feedback and regression testing (CI)

Page 8: BDD communication bridges - Expedia TED talk

What BDD adds to TDD

• Stories have criteria for acceptance defined by the customer and can be specified in automated way

• Test what an object does (behaviour) instead of what it is (structural details)

• Top-down design, which is essential for YAGNI – You Aren't Gonna Need It

Page 9: BDD communication bridges - Expedia TED talk

The BDD Cycle – “Outside-In” development

as THE IDEAL BDD SCENARIO proposed

Page 10: BDD communication bridges - Expedia TED talk

Gherkin: Feature Title and Narrative

Feature: Adding movies to the queue

Page 11: BDD communication bridges - Expedia TED talk

Describing Features with Cucumber

Cucumber is a BDD tool that reads plain text descriptions ofapplication features with example scenarios, which can beconverted into automation. The text is written in a businessreadable domain language, known as Gherkin.

Page 12: BDD communication bridges - Expedia TED talk

Describing Code with RSpec

RSpec is a BDD framework, which is used to writeexecutable examples of the expected behaviour of a smallbit of code in a controlled context.

Code example:

Output:

Page 13: BDD communication bridges - Expedia TED talk

Communications in the business org

1. Translate business goals into prioritized list of features

2. Trace required behavior within the dev team, drive design by behavior, build transparency, trust and confidence

3. Clarify business value and desired software behavior, ask “5 Why”, provide feedback if application logic appears overcomplicated

Page 14: BDD communication bridges - Expedia TED talk

Speaking the same language = building togetherAs Expedia WWI want to build such a global online marketplaceSo that +5% of new customers are delighted and retained every month

Given the investment of 22M of bricksWhen you place all the bricks properlyThen the Expedia Tower of Babel should be visible for all people across the Globe