why-is-bdd-misunderstood, by nicholas pufal and juraci vieira

35
* Why BDD is misunderstood? Nicholas Pufal Juraci Vieira Oct 2013

Upload: thoughtworks

Post on 05-Dec-2014

3.558 views

Category:

Technology


2 download

DESCRIPTION

A lot of people complain about BDD. By taking a closer look at those complaints we realize that they start to reject BDD not because of its ideas, but because they try to solve all of their problems by installing a tool - and not really applying all of the concepts behind it. In an effort to avoid further confusion, we decided to present this talk which was followed by an article that had a very good impact, written for ThoughtWorks Insights: http://www.thoughtworks.com/insights/blog/3-misconceptions-about-bdd We hope this helps to let everyone on the same page when the subject is BDD.

TRANSCRIPT

Page 1: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

*

Why BDD is misunderstood?

Nicholas PufalJuraci Vieira

Oct 2013

Page 2: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Agenda

Introduction(5 min)

Common complaints(10 min)

Real life example: NY investment bank(10 min)

What BDD is really about?(10 min)

Q&A (10 min)

Page 3: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

"The definition of insanity is doing the same thing over and over again and

expecting different results."~ BROWN, RITA MAE

Page 4: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Page 5: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Let's start demystifying these complaints :)

Page 6: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Client doesn't care for testing

Page 7: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Client doesn’t care for testing That sentence is true for most of the

clients

Page 8: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Client doesn’t care for testing Remember, BDD has nothing to do

with testing

Page 9: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Client doesn’t want to write the specifications

Page 10: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Client doesn’t want to write the specifications He shouldn’t be allowed to write the

specifications by himself

Page 11: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Client doesn’t want to write the specifications

Client doesn't need to interact with the tool itself

Page 12: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

You can achieve the same without a business

readable DSL

Page 13: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

You can achieve the same without a business readable DSL

You can just use Capybara + RSpec

Page 14: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

You can achieve the same without a business readable DSL

Would you compare a car to a duck?

Page 15: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Real life example: NY investment bank

Page 16: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Real life example: NY investment bank

•Specifications written using SpecFlow (Cucumber equivalent for .NET)

•Complex business domain

•BAs (client's side) with strong knowledge about the business needs

Page 17: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

We need examples to understand!

Page 18: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Page 19: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Page 20: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

3 amigos session to the rescue...

Page 21: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Page 22: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Page 23: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Real life example: NY investment bank

•No QAs in the team

•3 amigos = 2 Devs + 1 BA

•2 Devs, but one with a QA mindset

Page 24: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

*

Feature file: concise way of presenting ideas. The path to fulfill business

needs.

*

Page 25: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

So, what BDD is really about?

Page 26: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

BDD is a full-stack agile methodology!

Page 27: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Examples Tests

Requirements

can become

elaborate verify

Examples, requirements and tests are essentially tied together in a loop.

Page 28: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

*

•Enough is enough

•Deliver stakeholder value

•It’s all behavior

*

The principles of BDD

Page 29: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

How BDD enhances TDD?

Page 30: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

"I decided it must be possible to present TDD in a way that

gets straight to the good stuff and avoids all the

pitfalls." ~ NORTH, DAN

Page 31: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Move away from the word "Test"

Page 32: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Page 33: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

*

•Explore examples through collaboration

•Create living documentation

*

Two things about BDD

Page 34: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Questions?

*

Page 35: Why-is-bdd-misunderstood, by Nicholas Pufal and Juraci Vieira

**

Thanks!

*

Nicholas Pufale-mail: [email protected]: http://coffeecupblog.comtwitter: @nicholaspufal

Juraci Vieirae-mail: [email protected]: http://testenext.blogspot.com.br