SlideShare uma empresa Scribd logo
1 de 84
Baixar para ler offline
Collaborate like
you mean it!
BDD in the world
of Agile 2.0
John
Ferguson
Smart
Introductions
“I help teams of smart people 

learn to work together more efficiently, 

to deliver better software faster”
Do you aim to build features that
delight the customer?
How long does it take a feature to
go from an idea to into the hands
of the users?
We can’t afford to wait for long dev cycles
Today’s market moves fast
Our delivery strategies
need to move just as fast
Agile helps us meet
these challenges
But are classic agile practices
enough?
The essence of BDD
Collaborate to
discover
requirements and
identify
uncertainty
Using examples at
multiple levels
And a common
language to build
a shared
understanding
To deliver
software that
matters
The essence of BDD
Collaborate to
discover
requirements and
identify
uncertainty
Using examples at
multiple levels
And a common
language to build
a shared
understanding
To deliver
software that
matters
The essence of BDD
Collaborate to
discover
requirements and
identify
uncertainty
Using examples at
multiple levels
And a common
language to build
a shared
understanding
To deliver
software that
matters
The essence of BDD
Collaborate to
discover
requirements and
identify
uncertainty
Using examples at
multiple levels
And a common
language to build
a shared
understanding
To deliver
software that
matters
The essence of BDD
Collaborate to
discover
requirements and
identify
uncertainty
Using examples at
multiple levels
And a common
language to build
a shared
understanding
To deliver
software that
matters
The traditional way
BA
Developer
Tester
The traditional way
Story
BA
Developer
Tester
The traditional way
Story
Working
code
BA
Developer
Tester
The traditional way
Story
Working
code
boring
manual
testing
BA
Developer
Tester
The traditional way
Story
bug reports
Working
code
boring
manual
testing
BA
Developer
Tester
The traditional way
Story
bug reports
Working
code
boring
manual
testing
WASTE
BA
Developer
Tester
The BDD way
Story
The BDD way
Story
The BDD way
Story
The BDD way
Story
The BDD way
Story
Examples
The BDD way
Story
Examples
Automated
acceptance
criteria
The BDD way
Shared
understanding
Story
Examples
Automated
acceptance
criteria
The BDD way
Working code
and
Working Automated
Acceptance Tests
Shared
understanding
Story
Examples
Automated
acceptance
criteria
The BDD way
Working code
and
Working Automated
Acceptance Tests
Exploratory
testing, usability
testing...
Shared
understanding
Story
Examples
Automated
acceptance
criteria
The BDD way
BA and/or product owner
Tester Developer Automatable
Acceptance
Criteria
Shared
understanding
The BDD way
Frequent Flyer Application

Goal: Encourage travellers to fly with Flying High airlines more often by
allowing them to cumulate Frequent Flyer points that they can spend on
cheaper flights.
Goals
The BDD way
Frequent Flyer Application

Goal: Encourage travellers to fly with Flying High airlines more often by
allowing them to cumulate Frequent Flyer points that they can spend on
cheaper flights.
Goals
Earning points
from flights
Capabilities
Earning points
from spending
with partners
Viewing points
earned
Spending
points on
bookings
The BDD way
Frequent Flyer Application

Goal: Encourage travellers to fly with Flying High airlines more often by
allowing them to cumulate Frequent Flyer points that they can spend on
cheaper flights.
Goals
Earning points
from flights
Capabilities
Earning points
from spending
with partners
Viewing points
earned
Spending
points on
bookings
FeaturesViewing current points balance
View points needed to
achieve the next status level
Calculating points needed
for a given destination
The BDD way
The BDD way
The BDD way
The BDD way
The BDD way
The BDD way
The BDD way
The BDD way
Collaborate like you mean it!
Show me the value!
“Don’t take my word for it”
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
“Don’t take my word for it”
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Scenario: Login via LinkedIn
Scenario: Login via Twitter
“Don’t take my word for it”
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Scenario: Login via LinkedIn
Scenario: Login via Twitter
“Don’t take my word for it”
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Scenario: Login via LinkedIn
Scenario: Login via Twitter
“Don’t take my word for it”
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Scenario: Login via LinkedIn
Scenario: Login via Twitter
Scenario: Login via Facebook
“Don’t take my word for it”
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Feature: Authenticate using social media

In order to access the application more easily

As a new user
I want to authenticate using social media instead of having to provide
a username and password
Scenario: Login via LinkedIn
Scenario: Login via Twitter
Scenario: Login via Facebook
“Why are we building this anyway?”
Feature: Display customer details

As a user
I want to view the customer's profile details

So that I can see the personal information on the customer
“Why are we building this anyway?”
Feature: Display customer details

As a user
I want to view the customer's profile details

So that I can see the personal information on the customer
“Why are we building this anyway?”
Feature: Display customer details

As a user
I want to view the customer's profile details

So that I can see the personal information on the customer
Feature: Locate a customer

In order to propose more relevant services to my customers

As a financial adviser

I want to view a customer's profile details
“Why are we building this anyway?”
Feature: Display customer details

As a user
I want to view the customer's profile details

So that I can see the personal information on the customer
Feature: Locate a customer

In order to propose more relevant services to my customers

As a financial adviser

I want to view a customer's profile details
In order to propose more relevant services to my customers
What is the real
business goal?
“Why are we building this anyway?”
Feature: Display customer details

As a user
I want to view the customer's profile details

So that I can see the personal information on the customer
Feature: Locate a customer

In order to propose more relevant services to my customers

As a financial adviser

I want to view a customer's profile details
As a financial adviser

What is the real
business goal?
What is the context of the
user who needs this feature?
“Why are we building this anyway?”
Feature: Display customer details

As a user
I want to view the customer's profile details

So that I can see the personal information on the customer
Feature: Locate a customer

In order to propose more relevant services to my customers

As a financial adviser

I want to view a customer's profile details
What is the real
business goal?
What is the context of the
user who needs this feature?
“Having the conversation
is more important than
recording the conversation
is more important than
automating the conversation”
- Liz Keogh
“No shit, Sherlock!”
Scenario Outline: User tries to log on to application with invalid credentials

Given I am a registered user
When I login as <username> with password <password>
Then I should not be allowed to logon
And I should see the error message <error-message>
Examples:
| username | password | message |
| scott | | Please enter a password |
| | tiger | Please enter a username |
| scott | wrong | Invalid username or password |
“No shit, Sherlock!”
Scenario Outline: User tries to log on to application with invalid credentials

Given I am a registered user
When I login as <username> with password <password>
Then I should not be allowed to logon
And I should see the error message <error-message>
Examples:
| username | password | message |
| scott | | Please enter a password |
| | tiger | Please enter a username |
| scott | wrong | Invalid username or password |
OK, but what else?
Get everyone involved early
Create a Dynamic Tension
“How would you test this?”
Scenario: Find a customer by various criteria

Given I am logged into the application

When I click Search

Then I will see search criteria options to search for the customer
by customer name, date of birth, and account number
“How would you test this?”
Scenario: Find a customer by various criteria

Given I am logged into the application

When I click Search

Then I will see search criteria options to search for the customer
by customer name, date of birth, and account number
“How would you test this?”
Scenario: Find a customer by various criteria

Given I am logged into the application

When I click Search

Then I will see search criteria options to search for the customer
by customer name, date of birth, and account number
Scenario: Find a customer by name

Given the following customers exist:

| id | first name | last name |

| 100 | Sarah-Jane | Smith |

| 101 | Sarah | Smith |

When I search for a customer using the following search criteria:

| name | Sarah-Jane Smith |

Then I should display the following customer:
| id | first name | last name |

| 100 | Sarah-Jane | Smith |
“How would you test this?”
Scenario: Find a customer by various criteria

Given I am logged into the application

When I click Search

Then I will see search criteria options to search for the customer
by customer name, date of birth, and account number
Scenario: Find a customer by name

Given the following customers exist:

| id | first name | last name |

| 100 | Sarah-Jane | Smith |

| 101 | Sarah | Smith |

When I search for a customer using the following search criteria:

| name | Sarah-Jane Smith |

Then I should display the following customer:
| id | first name | last name |

| 100 | Sarah-Jane | Smith |
Well-defined inputs
“How would you test this?”
Scenario: Find a customer by various criteria

Given I am logged into the application

When I click Search

Then I will see search criteria options to search for the customer
by customer name, date of birth, and account number
Scenario: Find a customer by name

Given the following customers exist:

| id | first name | last name |

| 100 | Sarah-Jane | Smith |

| 101 | Sarah | Smith |

When I search for a customer using the following search criteria:

| name | Sarah-Jane Smith |

Then I should display the following customer:
| id | first name | last name |

| 100 | Sarah-Jane | Smith |
Well-defined inputs
Well-defined outcomes
Get up close and personal
Everyone is responsible for quality!
Communication is essential
Embrace Living Documentation
Embrace Living Documentation
Embrace Living Documentation
Embrace Living Documentation
Embrace Living Documentation
Embrace Living Documentation
Embrace Living Documentation
So why do BDD?
Delight your
customers
Reduce Waste
Deliver faster and
more reliably
Improve Visibility
So why do BDD?
Delight your
customers
Reduce Waste
Deliver faster and
more reliably
Improve Visibility
So why do BDD?
Delight your
customers
Reduce Waste
Deliver faster and
more reliably
Improve Visibility
So why do BDD?
Delight your
customers
Reduce Waste
Deliver faster and
more reliably
Improve Visibility
So why do BDD?
Delight your
customers
Reduce Waste
Deliver faster and
more reliably
Improve Visibility
Questions?

Mais conteúdo relacionado

Mais procurados

Render v Rank SEO for JavaScript - SEMPDX EngagePDX 2019
Render v Rank  SEO for JavaScript - SEMPDX EngagePDX 2019Render v Rank  SEO for JavaScript - SEMPDX EngagePDX 2019
Render v Rank SEO for JavaScript - SEMPDX EngagePDX 2019Jamie Indigo
 
BDD - Keep love alive
BDD - Keep love aliveBDD - Keep love alive
BDD - Keep love aliveRory Preddy
 
Authentication in Node.js
Authentication in Node.jsAuthentication in Node.js
Authentication in Node.jsJason Pearson
 
The Inbounder London - Jono Alderson
The Inbounder London - Jono AldersonThe Inbounder London - Jono Alderson
The Inbounder London - Jono AldersonWe Are Marketing
 
GTM Clowns, fun and hacks - Search Elite - May 2017 Gerry White
GTM Clowns, fun and hacks - Search Elite - May 2017 Gerry WhiteGTM Clowns, fun and hacks - Search Elite - May 2017 Gerry White
GTM Clowns, fun and hacks - Search Elite - May 2017 Gerry WhiteGerry White
 
Architectng UX
Architectng UXArchitectng UX
Architectng UXDavid Chou
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories Arto Eskelinen
 
Overcome the 6 Traps of Agile
Overcome the 6 Traps of AgileOvercome the 6 Traps of Agile
Overcome the 6 Traps of AgileDavid Hawks
 
Myths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven DevelopmentMyths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven DevelopmentPankaj Nakhat
 
Deliver double the value in half the time
Deliver double the value in half the timeDeliver double the value in half the time
Deliver double the value in half the timeDavid Hawks
 

Mais procurados (13)

Render v Rank SEO for JavaScript - SEMPDX EngagePDX 2019
Render v Rank  SEO for JavaScript - SEMPDX EngagePDX 2019Render v Rank  SEO for JavaScript - SEMPDX EngagePDX 2019
Render v Rank SEO for JavaScript - SEMPDX EngagePDX 2019
 
BDD - Keep love alive
BDD - Keep love aliveBDD - Keep love alive
BDD - Keep love alive
 
Authentication in Node.js
Authentication in Node.jsAuthentication in Node.js
Authentication in Node.js
 
The Inbounder London - Jono Alderson
The Inbounder London - Jono AldersonThe Inbounder London - Jono Alderson
The Inbounder London - Jono Alderson
 
GTM Clowns, fun and hacks - Search Elite - May 2017 Gerry White
GTM Clowns, fun and hacks - Search Elite - May 2017 Gerry WhiteGTM Clowns, fun and hacks - Search Elite - May 2017 Gerry White
GTM Clowns, fun and hacks - Search Elite - May 2017 Gerry White
 
Architectng UX
Architectng UXArchitectng UX
Architectng UX
 
User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories  User Story Slicing - easy way to split user stories
User Story Slicing - easy way to split user stories
 
Overcome the 6 Traps of Agile
Overcome the 6 Traps of AgileOvercome the 6 Traps of Agile
Overcome the 6 Traps of Agile
 
Myths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven DevelopmentMyths and Challenges of Behaviour Driven Development
Myths and Challenges of Behaviour Driven Development
 
Angularjs
AngularjsAngularjs
Angularjs
 
Angularjs
AngularjsAngularjs
Angularjs
 
Angular js book
Angular js bookAngular js book
Angular js book
 
Deliver double the value in half the time
Deliver double the value in half the timeDeliver double the value in half the time
Deliver double the value in half the time
 

Destaque

BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareJohn Ferguson Smart Limited
 
All the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practicesAll the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practicesJohn Ferguson Smart Limited
 
Getting Comfortable with BDD
Getting Comfortable with BDDGetting Comfortable with BDD
Getting Comfortable with BDDAlex Sharp
 
The WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecThe WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecBen Mabey
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationJohn Ferguson Smart Limited
 
BDD: What's in it for me?
BDD: What's in it for me?BDD: What's in it for me?
BDD: What's in it for me?fuglylogic
 
Building a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / SpringBuilding a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / Springsdeeg
 
Be Ready, Be Done: The Art of Slicing Stories
Be Ready, Be Done: The Art of Slicing StoriesBe Ready, Be Done: The Art of Slicing Stories
Be Ready, Be Done: The Art of Slicing StoriesRaj Indugula
 
Outside In - Behaviour Driven Development (BDD)
Outside In - Behaviour Driven Development (BDD)Outside In - Behaviour Driven Development (BDD)
Outside In - Behaviour Driven Development (BDD)Naresh Jain
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testingdversaci
 

Destaque (20)

BDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right SoftwareBDD in Action: Building Software Right and Building the Right Software
BDD in Action: Building Software Right and Building the Right Software
 
Serenity and the Journey Pattern
Serenity and the Journey PatternSerenity and the Journey Pattern
Serenity and the Journey Pattern
 
All the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practicesAll the world's a stage – the next step in automated testing practices
All the world's a stage – the next step in automated testing practices
 
BDD in Action - building software that matters
BDD in Action - building software that mattersBDD in Action - building software that matters
BDD in Action - building software that matters
 
BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014
 
Getting Comfortable with BDD
Getting Comfortable with BDDGetting Comfortable with BDD
Getting Comfortable with BDD
 
The WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpecThe WHY behind TDD/BDD and the HOW with RSpec
The WHY behind TDD/BDD and the HOW with RSpec
 
BDD Anti-patterns
BDD Anti-patternsBDD Anti-patterns
BDD Anti-patterns
 
BDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world applicationBDD in Action – principles, practices and real-world application
BDD in Action – principles, practices and real-world application
 
BDD-Driven Microservices
BDD-Driven MicroservicesBDD-Driven Microservices
BDD-Driven Microservices
 
BDD: There's more to it than you think
BDD: There's more to it than you thinkBDD: There's more to it than you think
BDD: There's more to it than you think
 
BDD: What's in it for me?
BDD: What's in it for me?BDD: What's in it for me?
BDD: What's in it for me?
 
Bdd and Scrum Team Dynamics
Bdd and Scrum Team DynamicsBdd and Scrum Team Dynamics
Bdd and Scrum Team Dynamics
 
TDD & BDD
TDD & BDDTDD & BDD
TDD & BDD
 
TDD, BDD and mocks
TDD, BDD and mocksTDD, BDD and mocks
TDD, BDD and mocks
 
Building a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / SpringBuilding a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / Spring
 
Be Ready, Be Done: The Art of Slicing Stories
Be Ready, Be Done: The Art of Slicing StoriesBe Ready, Be Done: The Art of Slicing Stories
Be Ready, Be Done: The Art of Slicing Stories
 
Outside In - Behaviour Driven Development (BDD)
Outside In - Behaviour Driven Development (BDD)Outside In - Behaviour Driven Development (BDD)
Outside In - Behaviour Driven Development (BDD)
 
Help! My Legacy Application is Unmaintainable!
Help! My Legacy Application is Unmaintainable!Help! My Legacy Application is Unmaintainable!
Help! My Legacy Application is Unmaintainable!
 
Behavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile TestingBehavior Driven Development (BDD) and Agile Testing
Behavior Driven Development (BDD) and Agile Testing
 

Semelhante a BDD - Collaborate like you mean it!

27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdf
27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdf27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdf
27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdfEuropean Innovation Academy
 
Cadbury - Product Experience Ideas
Cadbury  - Product Experience IdeasCadbury  - Product Experience Ideas
Cadbury - Product Experience IdeasSahil Nagpal
 
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXBehaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXJohn Patterson
 
Expo qa from user stories to automated acceptance tests with bdd
Expo qa   from user stories to automated acceptance tests with bddExpo qa   from user stories to automated acceptance tests with bdd
Expo qa from user stories to automated acceptance tests with bddEduardo Riol
 
An API of One's Own: Individual Identities as First-Class Citizens in the Ope...
An API of One's Own: Individual Identities as First-Class Citizens in the Ope...An API of One's Own: Individual Identities as First-Class Citizens in the Ope...
An API of One's Own: Individual Identities as First-Class Citizens in the Ope...Nate Otto
 
An API of One’s Own
An API of One’s OwnAn API of One’s Own
An API of One’s OwnSerge Ravet
 
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo RiolWebinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo RiolatSistemas
 
Rainmaking Part 1 By Wearecloudberry Com
Rainmaking Part 1 By Wearecloudberry ComRainmaking Part 1 By Wearecloudberry Com
Rainmaking Part 1 By Wearecloudberry Comandy collyer
 
Rainmaking Part 1 By Wearecloudberry Com For Andycollyer Com
Rainmaking Part 1 By Wearecloudberry Com For Andycollyer ComRainmaking Part 1 By Wearecloudberry Com For Andycollyer Com
Rainmaking Part 1 By Wearecloudberry Com For Andycollyer ComAndy Collyer
 
Content personalization in AEM
Content personalization in AEMContent personalization in AEM
Content personalization in AEMAnkit Gubrani
 
HOOKMODEL.pdf
HOOKMODEL.pdfHOOKMODEL.pdf
HOOKMODEL.pdf2atech
 
Vozura Presentation : Light Color Version
Vozura Presentation : Light Color VersionVozura Presentation : Light Color Version
Vozura Presentation : Light Color VersionMadlis
 
Vozura Presentation : Dark Color Version
Vozura Presentation : Dark Color VersionVozura Presentation : Dark Color Version
Vozura Presentation : Dark Color VersionMadlis
 
Content-Driven Link Building: What Does Good Look Like?
Content-Driven Link Building: What Does Good Look Like?Content-Driven Link Building: What Does Good Look Like?
Content-Driven Link Building: What Does Good Look Like?Paddy Moogan
 
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...Nordic APIs
 
Journey to Testable Requirements
Journey to Testable RequirementsJourney to Testable Requirements
Journey to Testable RequirementsBharti Rupani
 
DSR Ghostwriting - Thought Leadership Writing Service Offering
DSR Ghostwriting - Thought Leadership Writing Service OfferingDSR Ghostwriting - Thought Leadership Writing Service Offering
DSR Ghostwriting - Thought Leadership Writing Service OfferingDaniel Rosehill
 

Semelhante a BDD - Collaborate like you mean it! (20)

27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdf
27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdf27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdf
27_07_Landing Pages_Gilles de Clerck_EIA Porto 2022.pdf
 
Landing pages Gilles.pptx
Landing pages Gilles.pptxLanding pages Gilles.pptx
Landing pages Gilles.pptx
 
Cadbury - Product Experience Ideas
Cadbury  - Product Experience IdeasCadbury  - Product Experience Ideas
Cadbury - Product Experience Ideas
 
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UXBehaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
Behaviour Driven Development (BDD) - Closing the Loop on a Great Fiori UX
 
Expo qa from user stories to automated acceptance tests with bdd
Expo qa   from user stories to automated acceptance tests with bddExpo qa   from user stories to automated acceptance tests with bdd
Expo qa from user stories to automated acceptance tests with bdd
 
An API of One's Own: Individual Identities as First-Class Citizens in the Ope...
An API of One's Own: Individual Identities as First-Class Citizens in the Ope...An API of One's Own: Individual Identities as First-Class Citizens in the Ope...
An API of One's Own: Individual Identities as First-Class Citizens in the Ope...
 
An API of One’s Own
An API of One’s OwnAn API of One’s Own
An API of One’s Own
 
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo RiolWebinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
Webinar-From user stories to automated acceptance tests with BDD-Eduardo Riol
 
Rainmaking Part 1 By Wearecloudberry Com
Rainmaking Part 1 By Wearecloudberry ComRainmaking Part 1 By Wearecloudberry Com
Rainmaking Part 1 By Wearecloudberry Com
 
Rainmaking Part 1 By Wearecloudberry Com For Andycollyer Com
Rainmaking Part 1 By Wearecloudberry Com For Andycollyer ComRainmaking Part 1 By Wearecloudberry Com For Andycollyer Com
Rainmaking Part 1 By Wearecloudberry Com For Andycollyer Com
 
Content personalization in AEM
Content personalization in AEMContent personalization in AEM
Content personalization in AEM
 
HookModel.pdf
HookModel.pdfHookModel.pdf
HookModel.pdf
 
HOOKMODEL.pdf
HOOKMODEL.pdfHOOKMODEL.pdf
HOOKMODEL.pdf
 
EIA2019Italy - Landing Pages - Gilles De Clerck
EIA2019Italy - Landing Pages - Gilles De ClerckEIA2019Italy - Landing Pages - Gilles De Clerck
EIA2019Italy - Landing Pages - Gilles De Clerck
 
Vozura Presentation : Light Color Version
Vozura Presentation : Light Color VersionVozura Presentation : Light Color Version
Vozura Presentation : Light Color Version
 
Vozura Presentation : Dark Color Version
Vozura Presentation : Dark Color VersionVozura Presentation : Dark Color Version
Vozura Presentation : Dark Color Version
 
Content-Driven Link Building: What Does Good Look Like?
Content-Driven Link Building: What Does Good Look Like?Content-Driven Link Building: What Does Good Look Like?
Content-Driven Link Building: What Does Good Look Like?
 
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
How I Built Bill, the AI-Powered Chatbot That Reads Our Docs for Fun , by Tod...
 
Journey to Testable Requirements
Journey to Testable RequirementsJourney to Testable Requirements
Journey to Testable Requirements
 
DSR Ghostwriting - Thought Leadership Writing Service Offering
DSR Ghostwriting - Thought Leadership Writing Service OfferingDSR Ghostwriting - Thought Leadership Writing Service Offering
DSR Ghostwriting - Thought Leadership Writing Service Offering
 

Mais de John Ferguson Smart Limited

Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...John Ferguson Smart Limited
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceJohn Ferguson Smart Limited
 
Sustainable Test Automation with Serenity BDD and Screenplay
Sustainable Test Automation with Serenity BDD and ScreenplaySustainable Test Automation with Serenity BDD and Screenplay
Sustainable Test Automation with Serenity BDD and ScreenplayJohn Ferguson Smart Limited
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceJohn Ferguson Smart Limited
 
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...John Ferguson Smart Limited
 
Screenplay - Next generation automated acceptance testing
Screenplay - Next generation automated acceptance testingScreenplay - Next generation automated acceptance testing
Screenplay - Next generation automated acceptance testingJohn Ferguson Smart Limited
 
BDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityBDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityJohn Ferguson Smart Limited
 

Mais de John Ferguson Smart Limited (14)

Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...Artisti e Condotierri - How can your team become artists of the 21st century ...
Artisti e Condotierri - How can your team become artists of the 21st century ...
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a difference
 
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANTBE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
 
Sustainable Test Automation with Serenity BDD and Screenplay
Sustainable Test Automation with Serenity BDD and ScreenplaySustainable Test Automation with Serenity BDD and Screenplay
Sustainable Test Automation with Serenity BDD and Screenplay
 
Feature Mapping Workshop
Feature Mapping WorkshopFeature Mapping Workshop
Feature Mapping Workshop
 
Engage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a differenceEngage! Bringing teams together to deliver software that makes a difference
Engage! Bringing teams together to deliver software that makes a difference
 
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
 
Shift left-devoxx-pl
Shift left-devoxx-plShift left-devoxx-pl
Shift left-devoxx-pl
 
Screenplay - Next generation automated acceptance testing
Screenplay - Next generation automated acceptance testingScreenplay - Next generation automated acceptance testing
Screenplay - Next generation automated acceptance testing
 
Cucumber and Spock Primer
Cucumber and Spock PrimerCucumber and Spock Primer
Cucumber and Spock Primer
 
BDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and SerenityBDD in Action - Automated Web Testing with WebDriver and Serenity
BDD in Action - Automated Web Testing with WebDriver and Serenity
 
Its testing-jim-but-not-as-we-know-it-devoxx
Its testing-jim-but-not-as-we-know-it-devoxxIts testing-jim-but-not-as-we-know-it-devoxx
Its testing-jim-but-not-as-we-know-it-devoxx
 
TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?TDD and BDD in Java 8 - what's in it for me?
TDD and BDD in Java 8 - what's in it for me?
 
Continuous Integration 101
Continuous Integration 101Continuous Integration 101
Continuous Integration 101
 

Último

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfIdiosysTechnologies1
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 

Último (20)

Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Best Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdfBest Web Development Agency- Idiosys USA.pdf
Best Web Development Agency- Idiosys USA.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 

BDD - Collaborate like you mean it!

  • 1. Collaborate like you mean it! BDD in the world of Agile 2.0
  • 2. John Ferguson Smart Introductions “I help teams of smart people 
 learn to work together more efficiently, 
 to deliver better software faster”
  • 3. Do you aim to build features that delight the customer?
  • 4. How long does it take a feature to go from an idea to into the hands of the users?
  • 5. We can’t afford to wait for long dev cycles
  • 6.
  • 7. Today’s market moves fast Our delivery strategies need to move just as fast
  • 8. Agile helps us meet these challenges
  • 9. But are classic agile practices enough?
  • 10. The essence of BDD Collaborate to discover requirements and identify uncertainty Using examples at multiple levels And a common language to build a shared understanding To deliver software that matters
  • 11. The essence of BDD Collaborate to discover requirements and identify uncertainty Using examples at multiple levels And a common language to build a shared understanding To deliver software that matters
  • 12. The essence of BDD Collaborate to discover requirements and identify uncertainty Using examples at multiple levels And a common language to build a shared understanding To deliver software that matters
  • 13. The essence of BDD Collaborate to discover requirements and identify uncertainty Using examples at multiple levels And a common language to build a shared understanding To deliver software that matters
  • 14. The essence of BDD Collaborate to discover requirements and identify uncertainty Using examples at multiple levels And a common language to build a shared understanding To deliver software that matters
  • 19. The traditional way Story bug reports Working code boring manual testing BA Developer Tester
  • 20. The traditional way Story bug reports Working code boring manual testing WASTE BA Developer Tester
  • 28. The BDD way Working code and Working Automated Acceptance Tests Shared understanding Story Examples Automated acceptance criteria
  • 29. The BDD way Working code and Working Automated Acceptance Tests Exploratory testing, usability testing... Shared understanding Story Examples Automated acceptance criteria
  • 30. The BDD way BA and/or product owner Tester Developer Automatable Acceptance Criteria Shared understanding
  • 32. Frequent Flyer Application Goal: Encourage travellers to fly with Flying High airlines more often by allowing them to cumulate Frequent Flyer points that they can spend on cheaper flights. Goals The BDD way
  • 33. Frequent Flyer Application Goal: Encourage travellers to fly with Flying High airlines more often by allowing them to cumulate Frequent Flyer points that they can spend on cheaper flights. Goals Earning points from flights Capabilities Earning points from spending with partners Viewing points earned Spending points on bookings The BDD way
  • 34. Frequent Flyer Application Goal: Encourage travellers to fly with Flying High airlines more often by allowing them to cumulate Frequent Flyer points that they can spend on cheaper flights. Goals Earning points from flights Capabilities Earning points from spending with partners Viewing points earned Spending points on bookings FeaturesViewing current points balance View points needed to achieve the next status level Calculating points needed for a given destination The BDD way
  • 40.
  • 41.
  • 42.
  • 46. Show me the value!
  • 47. “Don’t take my word for it” Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password
  • 48. “Don’t take my word for it” Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Scenario: Login via LinkedIn Scenario: Login via Twitter
  • 49. “Don’t take my word for it” Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Scenario: Login via LinkedIn Scenario: Login via Twitter
  • 50. “Don’t take my word for it” Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Scenario: Login via LinkedIn Scenario: Login via Twitter
  • 51. “Don’t take my word for it” Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Scenario: Login via LinkedIn Scenario: Login via Twitter Scenario: Login via Facebook
  • 52. “Don’t take my word for it” Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Feature: Authenticate using social media
 In order to access the application more easily
 As a new user I want to authenticate using social media instead of having to provide a username and password Scenario: Login via LinkedIn Scenario: Login via Twitter Scenario: Login via Facebook
  • 53. “Why are we building this anyway?” Feature: Display customer details
 As a user I want to view the customer's profile details
 So that I can see the personal information on the customer
  • 54. “Why are we building this anyway?” Feature: Display customer details
 As a user I want to view the customer's profile details
 So that I can see the personal information on the customer
  • 55. “Why are we building this anyway?” Feature: Display customer details
 As a user I want to view the customer's profile details
 So that I can see the personal information on the customer Feature: Locate a customer
 In order to propose more relevant services to my customers
 As a financial adviser
 I want to view a customer's profile details
  • 56. “Why are we building this anyway?” Feature: Display customer details
 As a user I want to view the customer's profile details
 So that I can see the personal information on the customer Feature: Locate a customer
 In order to propose more relevant services to my customers
 As a financial adviser
 I want to view a customer's profile details In order to propose more relevant services to my customers What is the real business goal?
  • 57. “Why are we building this anyway?” Feature: Display customer details
 As a user I want to view the customer's profile details
 So that I can see the personal information on the customer Feature: Locate a customer
 In order to propose more relevant services to my customers
 As a financial adviser
 I want to view a customer's profile details As a financial adviser
 What is the real business goal? What is the context of the user who needs this feature?
  • 58. “Why are we building this anyway?” Feature: Display customer details
 As a user I want to view the customer's profile details
 So that I can see the personal information on the customer Feature: Locate a customer
 In order to propose more relevant services to my customers
 As a financial adviser
 I want to view a customer's profile details What is the real business goal? What is the context of the user who needs this feature?
  • 59. “Having the conversation is more important than recording the conversation is more important than automating the conversation” - Liz Keogh
  • 60. “No shit, Sherlock!” Scenario Outline: User tries to log on to application with invalid credentials
 Given I am a registered user When I login as <username> with password <password> Then I should not be allowed to logon And I should see the error message <error-message> Examples: | username | password | message | | scott | | Please enter a password | | | tiger | Please enter a username | | scott | wrong | Invalid username or password |
  • 61. “No shit, Sherlock!” Scenario Outline: User tries to log on to application with invalid credentials
 Given I am a registered user When I login as <username> with password <password> Then I should not be allowed to logon And I should see the error message <error-message> Examples: | username | password | message | | scott | | Please enter a password | | | tiger | Please enter a username | | scott | wrong | Invalid username or password | OK, but what else?
  • 63. Create a Dynamic Tension
  • 64. “How would you test this?” Scenario: Find a customer by various criteria
 Given I am logged into the application
 When I click Search
 Then I will see search criteria options to search for the customer by customer name, date of birth, and account number
  • 65. “How would you test this?” Scenario: Find a customer by various criteria
 Given I am logged into the application
 When I click Search
 Then I will see search criteria options to search for the customer by customer name, date of birth, and account number
  • 66. “How would you test this?” Scenario: Find a customer by various criteria
 Given I am logged into the application
 When I click Search
 Then I will see search criteria options to search for the customer by customer name, date of birth, and account number Scenario: Find a customer by name
 Given the following customers exist:
 | id | first name | last name |
 | 100 | Sarah-Jane | Smith |
 | 101 | Sarah | Smith |
 When I search for a customer using the following search criteria:
 | name | Sarah-Jane Smith |
 Then I should display the following customer: | id | first name | last name |
 | 100 | Sarah-Jane | Smith |
  • 67. “How would you test this?” Scenario: Find a customer by various criteria
 Given I am logged into the application
 When I click Search
 Then I will see search criteria options to search for the customer by customer name, date of birth, and account number Scenario: Find a customer by name
 Given the following customers exist:
 | id | first name | last name |
 | 100 | Sarah-Jane | Smith |
 | 101 | Sarah | Smith |
 When I search for a customer using the following search criteria:
 | name | Sarah-Jane Smith |
 Then I should display the following customer: | id | first name | last name |
 | 100 | Sarah-Jane | Smith | Well-defined inputs
  • 68. “How would you test this?” Scenario: Find a customer by various criteria
 Given I am logged into the application
 When I click Search
 Then I will see search criteria options to search for the customer by customer name, date of birth, and account number Scenario: Find a customer by name
 Given the following customers exist:
 | id | first name | last name |
 | 100 | Sarah-Jane | Smith |
 | 101 | Sarah | Smith |
 When I search for a customer using the following search criteria:
 | name | Sarah-Jane Smith |
 Then I should display the following customer: | id | first name | last name |
 | 100 | Sarah-Jane | Smith | Well-defined inputs Well-defined outcomes
  • 69. Get up close and personal
  • 70. Everyone is responsible for quality!
  • 79. So why do BDD? Delight your customers Reduce Waste Deliver faster and more reliably Improve Visibility
  • 80. So why do BDD? Delight your customers Reduce Waste Deliver faster and more reliably Improve Visibility
  • 81. So why do BDD? Delight your customers Reduce Waste Deliver faster and more reliably Improve Visibility
  • 82. So why do BDD? Delight your customers Reduce Waste Deliver faster and more reliably Improve Visibility
  • 83. So why do BDD? Delight your customers Reduce Waste Deliver faster and more reliably Improve Visibility