SlideShare a Scribd company logo
AUTHOR OF ‘BDD IN ACTION’
@wakaleo
www.johnfergusonsmart.com
Feature Mapping
The fast track from stories to acceptance criteria
Jan Molak
Lead Developer of Serenity/JS
@janmolak
janmolak.com
Overview
Overview
What we will cover
BDD and Sprint Planning
Acceptance Criteria and the Definition of
Done
Writing acceptance criteria in Gherkin
Acceptance criteria with Feature Mapping
Overview
Overview
http://bit.ly/feature-mapping-draw
Before we finish…
Fill in the survey and win a book!
BDD and Sprint Planning

in a nutshell
Overview
Overview
Validation
The BDD Way
Collaboration
As a corporate frequent flyer
I want to earn points on my business flights
So that I can get discounts on my holiday flights
Business
Scenario: First class earns double points
Given London-Paris in economy earns 100 points
When I fly from London to Paris in First Class

Then I should earn 200 points
SHARED UNDERSTANDING
Automation
Overview
Overview
The BDD Way
BA
Business BA UX
Testers
Business Rules
Examples
A shared understanding
Executable Specifications
Wireframes
Vision
Flow
Capabilities
Features
Developers UI Designers
Define
Formalise
Automate
Automated
Acceptance
Testing
Feedback
Visibility
Valuable Software
Deliver
Discover
TDD
Overview
Overview
Shared
Understanding
and Automated
Validation
Automated
Acceptance
Criteria
A Shared
Understanding
Validation
Collaborative
Requirements
Discovery
Living
Documentation
Regression
Tests
Change with
confidence
Effective
Automation
Sustainable
Automation
Executable
Requirements
Story Mapping
3 amigos
Acceptance
Criteria
Feature
Mapping
Example
Mapping
Impact
Mapping
Sprint Planning
Gherkin
Format
Overview
Overview
Shared
Understanding
and Automated
Validation
Automated
Acceptance
Criteria
A Shared
Understanding
Validation
Collaborative
Requirements
Discovery
Living
Documentation
Regression
Tests
Change with
confidence
Effective
Automation
Sustainable
Automation
Executable
Requirements
Story Mapping
3 amigos
Acceptance
Criteria
Feature
Mapping
Example
Mapping
Impact
Mapping
Sprint 

Delivery
Gherkin
Format
Sprint Planning
Acceptance Criteria 

and the definition of done
Acceptance
Criteria
✓ Define the Definition of Done
✓ Functional and non-functional requirements
✓ Expressed in business language
✓ Describe expected outcomes, not inputs
✓ Describe intent, not solution (what, not how)
✓ Easily testable
✓ Single responsibility
Acceptance
Criteria
should be
simple
✓ Simple phrases
- “A teacher can return an essay for correction when the average
mark is under 7”
✓ Can be non-functional
- “A teacher should be able to open and record the marks of an
essay in less than 30 seconds on average with a load of 1000
simultaneous users”
Examples are
concrete
scenarios that
illustrate rules
✓ “The one where…”
- “The one where the student submits a bad essay”
✓ Given/When/Then
- “Given Stu submits an essay with an average mark of 4

When Tess records the marks

Then she has the option of returning the essay to Stu”
Writing Acceptance Criteria

in Gherkin
Gherkin

The Lingua Franca of BDD
Collaboration
Automation
Feature: Earning Frequent Flyer points through flights

Scenario: Economy flights earn points by distance
Flyers earn 1 point per kilometre travelled
Given the distance from London to Paris is 344 km
When I fly from London to Paris in Economy

Then I should earn 344 points
Overview
Overview
Scenario: Economy flights earn points by distance
Given the distance from London to Paris is 344 km
When I fly from London to Paris in Economy

Then I should earn 344 points
Preconditions
Action to illustrate
Expected outcome
Overview
Overview
Scenario Outline: Economy flights earn points by distance
Given the distance from <departure> to <dest> is <distance> km
When I fly from <departure> to <destination> in <class> class

Then I should earn <points> points
Examples:
| departure | dest | distance | class | points |
| Paris | London | 344 | economy | 344 |
| Paris | London | 344 | first | 688 |
A table of examples
Let’s give it a try!
Workshop Time! As a regular business traveller
I want to earn privileges when I fly
So that I can take my family on holiday more often
Create Acceptance criteria for the following rules
- Member privileges are based on their Frequent Flyer level
- Members can be Bronze, Silver, Gold or Platinum
- Levels are earned based on distance and cabin class
Retrospective
• How much functionality did you cover?
• How would you judge the quality of the
scenarios you wrote?
• How well did it help you understand the
problem domain?
• How many surprises did you find?
In the last exercise…

Did you spend more time
collaborating or formalising?
Overview
Overview
establishes validatesShared
Understanding
Collaboration
Formalisation
Sprint Planning
Overview
Overview
establishes validatesShared
Understanding
Collaboration
Formalisation
Sprint Delivery
Now for something different

Step Away From The Gherkin
Understanding a
requirement
As a Frequent Flyer member
I want to see where I can travel with my current point balance
So that I can plan my next holiday
Overview
Overview
As a Frequent Flyer member
I want to see where I can travel with my current point balance
So that I can plan my next holiday
“The flights available depend on the number of points” “Rule”
“The one where a member has 10000 points” “Example”
“Jackie has 10000 points, and lives in London.
“Steps”
“She chooses to view her flight options.”
“She can choose from flights to Edinburgh, Paris and Amsterdam”
Overview
Overview
As a Frequent Flyer member
I want to see where I can travel with my current point balance
So that I can plan my next holiday
“The flights available depend on the number of points” “Rule”
“The one where a member has 10000 points” “Example”
“Jackie has 10000 points, and lives in London.
“Steps”
“She chooses to view her flight options.”
“She can choose from flights to Edinburgh, Paris and Amsterdam”
What if she lives
somewhere else?
What if she wants to fly
from another city?
Are these economy
flights?
What if the wants to fly
business?
What if she wants to book a
flight for someone else?
Why these destinations?
Questions lead
to learning
Why these destinations?
“The flights available depend on the number of points”

(1 km distance for every 10 points)
New or clarified rules
points Edinburgh
1000
Paris Amsterdam
5000
10000
Yes
Yes
No
No
Yes Yes
NoNo
No
New or clarified examples
Feature Mapping
Rules explain Examples
Examples illustrate Rules
Steps explore Examples
Questions challenge everything
Four Principles
List the rules you know
Ask for examples
Explore the steps that make up each example
Question, challenge, expand
And Four Steps
Leave no assumption unchallenged
“If you do not know how to ask the right
question, you discover nothing.”
- W. Edwards Deming
Feature Mapping Building
Bricks
Overview
Overview
We start with an anchoring example
“Fred has 10000 points and lives in London. He wants to go on holidays in
August. He checks his account balance, and sees that he can go to Rome,
Aberdeen or Barcelona.”
Overview
Overview
Step 1) Find a rule
“Guideline"
Overview
Overview
Step 1) Find a rule
“Guideline"
A rule
Any economy flight
within Europe 

is 10000 points
Overview
Overview“Guideline"
A rule
Any economy flight
within Europe 

is 10000 points
Step 2) “Give me an example”An example
Member has enough to
fly to Rome
Overview
Overview“Guideline"
A rule
Any economy flight
within Europe 

is 10000 points
Step 3) Break it down
An example
Member has enough to
fly to Rome
=>

Fred has 10000
points
=>

Fred can fly to
Edinburgh, Barcelona
or Rome
Consequences
Overview
Overview
Any economy flight
within Europe 

is 10000 points
Step 4) Explore variations
Member has enough to
fly to Rome
Member doesn’t have
enough points
=> Joe has just
joined the
program and has
0 points
=> 

Joe can’t go anywhere
=>

Fred has 10000
points
=>

Fred can fly to
Edinburgh, Barcelona
or Rome
Overview
OverviewAny economy flight
within Europe 

is 10000 points
Step 5) Discover new rules
Member has enough to
fly to Rome
Member doesn’t have
enough points
A business flight within
Europe 

is 20000 points
Likes to fly in style
=> Fred can fly to
Edinburgh, Barcelona
or Rome in Business
=> Barry has
20000 points
=> Joe has just
joined the
program and has
0 points
=> 

Joe can’t go anywhere
=>

Fred has 10000
points
=>

Fred can fly to
Edinburgh, Barcelona
or Rome
Overview
OverviewAny economy flight
within Europe 

is 10000 points
Step 6) Learn and refactor
Member has enough to
fly to Rome
Member doesn’t have
enough points
A business flight within
Europe 

is 20000 points
Likes to fly in style
The available
destinations depends
on the number of
points and the cabin
class
=> Fred can fly to
Edinburgh, Barcelona
or Rome in Business
=> Barry has
20000 points
=> Joe has just
joined the
program and has
0 points
=> 

Joe can’t go anywhere
=>

Fred has 10000
points
=>

Fred can fly to
Edinburgh, Barcelona
or Rome
Overview
OverviewAny economy flight
within Europe 

is 10000 points
Questions record uncertainty
Member has enough to
fly to Rome
Member doesn’t have
enough points
A business flight within
Europe 

is 20000 points
Likes to fly in style
The available
destinations depends
on the number of
points and the cabin
class
Can he buy someone
else a ticket?
Are points
transferrable?
=> Fred can fly to
Edinburgh, Barcelona
or Rome in Business
=> Barry has
20000 points
=> Joe has just
joined the
program and has
0 points
=> 

Joe can’t go anywhere
=>

Fred has 10000
points
=>

Fred can fly to
Edinburgh, Barcelona
or Rome
Overview
OverviewAny economy flight
within Europe 

is 10000 points
Questions record uncertainty
Member has enough to
fly to Rome
Member doesn’t have
enough points
A business flight within
Europe 

is 20000 points
Likes to fly in style
The available
destinations depends
on the number of
points and the cabin
class
“Pointsperdestination”
story“Pointsperclass”
story
=> Fred can fly to
Edinburgh, Barcelona
or Rome in Business
=> Barry has
20000 points
=> Joe has just
joined the
program and has
0 points
=> 

Joe can’t go anywhere
=>

Fred has 10000
points
=>

Fred can fly to
Edinburgh, Barcelona
or Rome
Let’s give it a try!
Mob Mapping!
As a regular business traveller
I want to be able to access the lounge with my travel companions
So that I can get more work done before the flight
Overview
OverviewLounge Access
As a regular business traveller
I want to be able to access the lounge with my travel companions
So that I can get more work done before the flight
Step 1) “Tell me a story”
“Barry the business traveller is Gold status, and flying on
holidays in economy with his wife and two children. He asks to
access the lounge with his family. He is given access, but has
to use all of his yearly guest passes as he can normally only
invite one guest.”
Overview
OverviewAs a regular business traveller
I want to be able to access the lounge with my travel companions
So that I can get more work done before the flight
Step 2) “Tell me the rules you know about”
“Barry the business traveller is Gold status, and flying on
holidays in economy with his wife and two children. He asks to
access the lounge with his family. He is given access, but has
to use all of his yearly guest passes as he can normally only
invite one guest.”
What else?
Gold Frequent Flyers can come
with a guest
Gold Frequent Flyers get two
guest passes per year that they
can use for additional guests
Overview
OverviewAs a regular business traveller
I want to be able to access the lounge with my travel companions
So that I can get more work done before the flight
Step 3) Pick a rule.
“Barry the business traveller is Gold status, and flying on
holidays in economy with his wife and two children. He asks to
access the lounge with his family. He is given access, but has
to use all of his yearly guest passes as he can normally only
invite one guest.”
Gold Frequent Flyers get two
guest passes per year that they
can use for additional guests
Overview
Overview
Step 4) Give me an example
Gold Frequent Flyers get two
guest passes per year that they
can use for additional guests
Barry can invite his family
because he is a Gold FF
“The one where…”
Barry is a Gold
FF
Barry wants to
bring 3 guests
=> Everyone can
enter the lounge
=> Barry has no
guest passes left
Barry has 2 guest
passes
Barry agrees to
use his guest
passes
Overview
Overview
Step 5) Explore and challenge
Gold Frequent Flyers get two
guest passes per year that they
can use for additional guests
Barry can invite his family
because he is a Gold FF
“What if…”
Barry is a Gold
FF
Barry wants to
bring 3 guests
=> Everyone can
enter the lounge
=> Barry has no
guest passes left
Barry has 2 guest
passes
Barry agrees to
use his guest
passes
W
hatifBarry
is
Silver?
W
hatifBarry
has
only
1
guest
W
hatifBarry
doesn’twantto
use
his
guest
passes?
=> Everyone can
enter the lounge
=> Barry has no
guest passes left
Now work in
teams As a business traveller
I want to have access to a place to freshen up and work
when I land
So that I can be more productive in my work
Now work in
teams
As a business traveller
I want to have access to a place to freshen up and work when I land
So that I can be more productive in my work
“Barry has landed 6 hours ahead of his meeting, and wants to
freshen up, have breakfast and prepare his meeting. He goes to
the lounge in the arrival airport, and is granted access.”
Overview
Overview
Key Take Aways
Feature Mapping
Collaborative Iterative Exploratory
A requirements discovery practice that is…
Feature Mapping
Breadth Depth Context
Feature Mapping
More precise than
free-form
acceptance criteria
Faster than Gherkin Easy to automate
Thank You!
http://johnfergusonsmart.com
reachme@johnfergusonsmart.com

More Related Content

PPTX
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
PDF
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
PDF
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
PDF
Appium 2.0 ではじめるモバイルアプリテスト
PDF
200531 jandi
PDF
とある診断員と色々厄介な脆弱性達
PPTX
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
PDF
猫でも分かるUE4.22から入ったSubsystem
FINAL FANTASY XVにおけるPhoton利用事例 - Photon運営事務局 GTMF 2018 OSAKA / TOKYO
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
[DO07] マイクロサービスに必要な技術要素はすべて Spring Cloud にある
Appium 2.0 ではじめるモバイルアプリテスト
200531 jandi
とある診断員と色々厄介な脆弱性達
スマホゲームのチート手法とその対策 [DeNA TechCon 2019]
猫でも分かるUE4.22から入ったSubsystem

What's hot (20)

PDF
アジャイルジャーニー
PDF
UE4でマルチプレイヤーゲームを作ろう
PDF
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
PPTX
ミクシィ 21卒向け Android研修
PDF
わからないまま使っている?UE4 の AI の基本的なこと
PDF
UE4を用いた人間から狼男への変身表現法の解説
PDF
猫でも分かる UE4の新しいサンプル「Action RPG」について
PDF
UE4とUnrealC++について
PDF
Riderはいいぞ!
PPTX
UE4 ビヘイビアツリー入門
PDF
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
PDF
[UE4]自動テストでもっと楽したい!
PDF
今なら間に合う分散型IDとEntra Verified ID
PDF
인프런 - 스타트업 인프랩 시작 사례
PDF
The only one big thing every programmer should know
PDF
Editor Utility Widgetで色々便利にしてみた。
PDF
組織にテストを書く文化を根付かせる戦略と戦術
PPTX
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
PPTX
reg-suitとQA Wolfを活用したVisual Regression Test
PDF
UE4におけるアニメーション制作事例
アジャイルジャーニー
UE4でマルチプレイヤーゲームを作ろう
OpenAPI 3.0でmicroserviceのAPI定義を試みてハマった話
ミクシィ 21卒向け Android研修
わからないまま使っている?UE4 の AI の基本的なこと
UE4を用いた人間から狼男への変身表現法の解説
猫でも分かる UE4の新しいサンプル「Action RPG」について
UE4とUnrealC++について
Riderはいいぞ!
UE4 ビヘイビアツリー入門
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
[UE4]自動テストでもっと楽したい!
今なら間に合う分散型IDとEntra Verified ID
인프런 - 스타트업 인프랩 시작 사례
The only one big thing every programmer should know
Editor Utility Widgetで色々便利にしてみた。
組織にテストを書く文化を根付かせる戦略と戦術
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
reg-suitとQA Wolfを活用したVisual Regression Test
UE4におけるアニメーション制作事例
Ad

Similar to Feature Mapping Workshop (20)

PDF
Cucumber and Spock Primer
PDF
Refactor your Specs - 2017 Edition
PDF
Driving Design through Examples
PDF
Driving Design through Examples
PDF
Engage! Bringing teams together to deliver software that makes a difference
PDF
Refactor your specs! Øredev 2013
PDF
The Basics of OKR
PDF
It's Testing, Jim, but not as we know it - BDD for Testers
PPTX
John Glinski - The B2B Analytics Engine: How Vanguard is Measuring Marketing...
PDF
Customer journey mapping and innovation
PDF
resolvendo problemas de comunicação em equipes distribuídas com bdd
PDF
BDD in Action - Automated Web Testing with WebDriver and Serenity
PDF
Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...
PPTX
PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!
PDF
How to Build your Training Set for a Learning To Rank Project
PPT
Conversion Rate Optimisation Presentation
PDF
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
PDF
Building the "right" regression suite using Behavior Driven Testing (BDT)
PPTX
Marketing Tactics for Smaller Owners - 3 Presentations
PPTX
education_cmu-cie-google-analytics-training.pptx
Cucumber and Spock Primer
Refactor your Specs - 2017 Edition
Driving Design through Examples
Driving Design through Examples
Engage! Bringing teams together to deliver software that makes a difference
Refactor your specs! Øredev 2013
The Basics of OKR
It's Testing, Jim, but not as we know it - BDD for Testers
John Glinski - The B2B Analytics Engine: How Vanguard is Measuring Marketing...
Customer journey mapping and innovation
resolvendo problemas de comunicação em equipes distribuídas com bdd
BDD in Action - Automated Web Testing with WebDriver and Serenity
Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...
PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!
How to Build your Training Set for a Learning To Rank Project
Conversion Rate Optimisation Presentation
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Building the "right" regression suite using Behavior Driven Testing (BDT)
Marketing Tactics for Smaller Owners - 3 Presentations
education_cmu-cie-google-analytics-training.pptx
Ad

More from John Ferguson Smart Limited (20)

PPTX
My Reading Specs - Refactoring Patterns for Gherkin Scenarios
PDF
Artisti e Condotierri - How can your team become artists of the 21st century ...
PDF
Engage! Bringing teams together to deliver software that makes a difference
PDF
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
PDF
Sustainable Test Automation with Serenity BDD and Screenplay
PDF
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
PDF
Beyond Given/When/Then - why diving into Cucumber is the wrong approach to ad...
PDF
Shift left-devoxx-pl
PDF
Screenplay - Next generation automated acceptance testing
PDF
All the world's a stage – the next step in automated testing practices
PDF
CukeUp 2016 Agile Product Planning Workshop
PDF
BDD Anti-patterns
PDF
Serenity and the Journey Pattern
PDF
BDD - Collaborate like you mean it!
PDF
BDD-Driven Microservices
PDF
BDD Anti-patterns
PDF
BDD in Action - Devoxx 2014
PDF
BDD in Action: Building Software Right and Building the Right Software
PDF
BDD: The unit test of the product owner
PDF
Its testing-jim-but-not-as-we-know-it-devoxx
My Reading Specs - Refactoring Patterns for Gherkin Scenarios
Artisti e Condotierri - How can your team become artists of the 21st century ...
Engage! Bringing teams together to deliver software that makes a difference
BE A POD OF DOLPHINS, NOT A DANCING ELEPHANT
Sustainable Test Automation with Serenity BDD and Screenplay
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
Screenplay - Next generation automated acceptance testing
All the world's a stage – the next step in automated testing practices
CukeUp 2016 Agile Product Planning Workshop
BDD Anti-patterns
Serenity and the Journey Pattern
BDD - Collaborate like you mean it!
BDD-Driven Microservices
BDD Anti-patterns
BDD in Action - Devoxx 2014
BDD in Action: Building Software Right and Building the Right Software
BDD: The unit test of the product owner
Its testing-jim-but-not-as-we-know-it-devoxx

Recently uploaded (20)

PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Machine learning based COVID-19 study performance prediction
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPT
Teaching material agriculture food technology
PPTX
Spectroscopy.pptx food analysis technology
PDF
Encapsulation_ Review paper, used for researhc scholars
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The AUB Centre for AI in Media Proposal.docx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Big Data Technologies - Introduction.pptx
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Unlocking AI with Model Context Protocol (MCP)
Per capita expenditure prediction using model stacking based on satellite ima...
Machine learning based COVID-19 study performance prediction
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
NewMind AI Weekly Chronicles - August'25 Week I
Empathic Computing: Creating Shared Understanding
Digital-Transformation-Roadmap-for-Companies.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Teaching material agriculture food technology
Spectroscopy.pptx food analysis technology
Encapsulation_ Review paper, used for researhc scholars

Feature Mapping Workshop

  • 1. AUTHOR OF ‘BDD IN ACTION’ @wakaleo www.johnfergusonsmart.com Feature Mapping The fast track from stories to acceptance criteria Jan Molak Lead Developer of Serenity/JS @janmolak janmolak.com
  • 2. Overview Overview What we will cover BDD and Sprint Planning Acceptance Criteria and the Definition of Done Writing acceptance criteria in Gherkin Acceptance criteria with Feature Mapping
  • 4. BDD and Sprint Planning
 in a nutshell
  • 5. Overview Overview Validation The BDD Way Collaboration As a corporate frequent flyer I want to earn points on my business flights So that I can get discounts on my holiday flights Business Scenario: First class earns double points Given London-Paris in economy earns 100 points When I fly from London to Paris in First Class
 Then I should earn 200 points SHARED UNDERSTANDING Automation
  • 6. Overview Overview The BDD Way BA Business BA UX Testers Business Rules Examples A shared understanding Executable Specifications Wireframes Vision Flow Capabilities Features Developers UI Designers Define Formalise Automate Automated Acceptance Testing Feedback Visibility Valuable Software Deliver Discover TDD
  • 7. Overview Overview Shared Understanding and Automated Validation Automated Acceptance Criteria A Shared Understanding Validation Collaborative Requirements Discovery Living Documentation Regression Tests Change with confidence Effective Automation Sustainable Automation Executable Requirements Story Mapping 3 amigos Acceptance Criteria Feature Mapping Example Mapping Impact Mapping Sprint Planning Gherkin Format
  • 8. Overview Overview Shared Understanding and Automated Validation Automated Acceptance Criteria A Shared Understanding Validation Collaborative Requirements Discovery Living Documentation Regression Tests Change with confidence Effective Automation Sustainable Automation Executable Requirements Story Mapping 3 amigos Acceptance Criteria Feature Mapping Example Mapping Impact Mapping Sprint 
 Delivery Gherkin Format Sprint Planning
  • 9. Acceptance Criteria 
 and the definition of done
  • 10. Acceptance Criteria ✓ Define the Definition of Done ✓ Functional and non-functional requirements ✓ Expressed in business language ✓ Describe expected outcomes, not inputs ✓ Describe intent, not solution (what, not how) ✓ Easily testable ✓ Single responsibility
  • 11. Acceptance Criteria should be simple ✓ Simple phrases - “A teacher can return an essay for correction when the average mark is under 7” ✓ Can be non-functional - “A teacher should be able to open and record the marks of an essay in less than 30 seconds on average with a load of 1000 simultaneous users”
  • 12. Examples are concrete scenarios that illustrate rules ✓ “The one where…” - “The one where the student submits a bad essay” ✓ Given/When/Then - “Given Stu submits an essay with an average mark of 4
 When Tess records the marks
 Then she has the option of returning the essay to Stu”
  • 14. Gherkin
 The Lingua Franca of BDD Collaboration Automation Feature: Earning Frequent Flyer points through flights
 Scenario: Economy flights earn points by distance Flyers earn 1 point per kilometre travelled Given the distance from London to Paris is 344 km When I fly from London to Paris in Economy
 Then I should earn 344 points
  • 15. Overview Overview Scenario: Economy flights earn points by distance Given the distance from London to Paris is 344 km When I fly from London to Paris in Economy
 Then I should earn 344 points Preconditions Action to illustrate Expected outcome
  • 16. Overview Overview Scenario Outline: Economy flights earn points by distance Given the distance from <departure> to <dest> is <distance> km When I fly from <departure> to <destination> in <class> class
 Then I should earn <points> points Examples: | departure | dest | distance | class | points | | Paris | London | 344 | economy | 344 | | Paris | London | 344 | first | 688 | A table of examples
  • 17. Let’s give it a try!
  • 18. Workshop Time! As a regular business traveller I want to earn privileges when I fly So that I can take my family on holiday more often Create Acceptance criteria for the following rules - Member privileges are based on their Frequent Flyer level - Members can be Bronze, Silver, Gold or Platinum - Levels are earned based on distance and cabin class
  • 19. Retrospective • How much functionality did you cover? • How would you judge the quality of the scenarios you wrote? • How well did it help you understand the problem domain? • How many surprises did you find?
  • 20. In the last exercise…
 Did you spend more time collaborating or formalising?
  • 23. Now for something different
 Step Away From The Gherkin
  • 24. Understanding a requirement As a Frequent Flyer member I want to see where I can travel with my current point balance So that I can plan my next holiday
  • 25. Overview Overview As a Frequent Flyer member I want to see where I can travel with my current point balance So that I can plan my next holiday “The flights available depend on the number of points” “Rule” “The one where a member has 10000 points” “Example” “Jackie has 10000 points, and lives in London. “Steps” “She chooses to view her flight options.” “She can choose from flights to Edinburgh, Paris and Amsterdam”
  • 26. Overview Overview As a Frequent Flyer member I want to see where I can travel with my current point balance So that I can plan my next holiday “The flights available depend on the number of points” “Rule” “The one where a member has 10000 points” “Example” “Jackie has 10000 points, and lives in London. “Steps” “She chooses to view her flight options.” “She can choose from flights to Edinburgh, Paris and Amsterdam” What if she lives somewhere else? What if she wants to fly from another city? Are these economy flights? What if the wants to fly business? What if she wants to book a flight for someone else? Why these destinations?
  • 27. Questions lead to learning Why these destinations? “The flights available depend on the number of points”
 (1 km distance for every 10 points) New or clarified rules points Edinburgh 1000 Paris Amsterdam 5000 10000 Yes Yes No No Yes Yes NoNo No New or clarified examples
  • 29. Rules explain Examples Examples illustrate Rules Steps explore Examples Questions challenge everything Four Principles
  • 30. List the rules you know Ask for examples Explore the steps that make up each example Question, challenge, expand And Four Steps
  • 31. Leave no assumption unchallenged “If you do not know how to ask the right question, you discover nothing.” - W. Edwards Deming
  • 33. Overview Overview We start with an anchoring example “Fred has 10000 points and lives in London. He wants to go on holidays in August. He checks his account balance, and sees that he can go to Rome, Aberdeen or Barcelona.”
  • 34. Overview Overview Step 1) Find a rule “Guideline"
  • 35. Overview Overview Step 1) Find a rule “Guideline" A rule Any economy flight within Europe is 10000 points
  • 36. Overview Overview“Guideline" A rule Any economy flight within Europe is 10000 points Step 2) “Give me an example”An example Member has enough to fly to Rome
  • 37. Overview Overview“Guideline" A rule Any economy flight within Europe is 10000 points Step 3) Break it down An example Member has enough to fly to Rome => Fred has 10000 points => Fred can fly to Edinburgh, Barcelona or Rome Consequences
  • 38. Overview Overview Any economy flight within Europe is 10000 points Step 4) Explore variations Member has enough to fly to Rome Member doesn’t have enough points => Joe has just joined the program and has 0 points => Joe can’t go anywhere => Fred has 10000 points => Fred can fly to Edinburgh, Barcelona or Rome
  • 39. Overview OverviewAny economy flight within Europe is 10000 points Step 5) Discover new rules Member has enough to fly to Rome Member doesn’t have enough points A business flight within Europe is 20000 points Likes to fly in style => Fred can fly to Edinburgh, Barcelona or Rome in Business => Barry has 20000 points => Joe has just joined the program and has 0 points => Joe can’t go anywhere => Fred has 10000 points => Fred can fly to Edinburgh, Barcelona or Rome
  • 40. Overview OverviewAny economy flight within Europe is 10000 points Step 6) Learn and refactor Member has enough to fly to Rome Member doesn’t have enough points A business flight within Europe is 20000 points Likes to fly in style The available destinations depends on the number of points and the cabin class => Fred can fly to Edinburgh, Barcelona or Rome in Business => Barry has 20000 points => Joe has just joined the program and has 0 points => Joe can’t go anywhere => Fred has 10000 points => Fred can fly to Edinburgh, Barcelona or Rome
  • 41. Overview OverviewAny economy flight within Europe is 10000 points Questions record uncertainty Member has enough to fly to Rome Member doesn’t have enough points A business flight within Europe is 20000 points Likes to fly in style The available destinations depends on the number of points and the cabin class Can he buy someone else a ticket? Are points transferrable? => Fred can fly to Edinburgh, Barcelona or Rome in Business => Barry has 20000 points => Joe has just joined the program and has 0 points => Joe can’t go anywhere => Fred has 10000 points => Fred can fly to Edinburgh, Barcelona or Rome
  • 42. Overview OverviewAny economy flight within Europe is 10000 points Questions record uncertainty Member has enough to fly to Rome Member doesn’t have enough points A business flight within Europe is 20000 points Likes to fly in style The available destinations depends on the number of points and the cabin class “Pointsperdestination” story“Pointsperclass” story => Fred can fly to Edinburgh, Barcelona or Rome in Business => Barry has 20000 points => Joe has just joined the program and has 0 points => Joe can’t go anywhere => Fred has 10000 points => Fred can fly to Edinburgh, Barcelona or Rome
  • 43. Let’s give it a try!
  • 44. Mob Mapping! As a regular business traveller I want to be able to access the lounge with my travel companions So that I can get more work done before the flight
  • 45. Overview OverviewLounge Access As a regular business traveller I want to be able to access the lounge with my travel companions So that I can get more work done before the flight Step 1) “Tell me a story” “Barry the business traveller is Gold status, and flying on holidays in economy with his wife and two children. He asks to access the lounge with his family. He is given access, but has to use all of his yearly guest passes as he can normally only invite one guest.”
  • 46. Overview OverviewAs a regular business traveller I want to be able to access the lounge with my travel companions So that I can get more work done before the flight Step 2) “Tell me the rules you know about” “Barry the business traveller is Gold status, and flying on holidays in economy with his wife and two children. He asks to access the lounge with his family. He is given access, but has to use all of his yearly guest passes as he can normally only invite one guest.” What else? Gold Frequent Flyers can come with a guest Gold Frequent Flyers get two guest passes per year that they can use for additional guests
  • 47. Overview OverviewAs a regular business traveller I want to be able to access the lounge with my travel companions So that I can get more work done before the flight Step 3) Pick a rule. “Barry the business traveller is Gold status, and flying on holidays in economy with his wife and two children. He asks to access the lounge with his family. He is given access, but has to use all of his yearly guest passes as he can normally only invite one guest.” Gold Frequent Flyers get two guest passes per year that they can use for additional guests
  • 48. Overview Overview Step 4) Give me an example Gold Frequent Flyers get two guest passes per year that they can use for additional guests Barry can invite his family because he is a Gold FF “The one where…” Barry is a Gold FF Barry wants to bring 3 guests => Everyone can enter the lounge => Barry has no guest passes left Barry has 2 guest passes Barry agrees to use his guest passes
  • 49. Overview Overview Step 5) Explore and challenge Gold Frequent Flyers get two guest passes per year that they can use for additional guests Barry can invite his family because he is a Gold FF “What if…” Barry is a Gold FF Barry wants to bring 3 guests => Everyone can enter the lounge => Barry has no guest passes left Barry has 2 guest passes Barry agrees to use his guest passes W hatifBarry is Silver? W hatifBarry has only 1 guest W hatifBarry doesn’twantto use his guest passes? => Everyone can enter the lounge => Barry has no guest passes left
  • 50. Now work in teams As a business traveller I want to have access to a place to freshen up and work when I land So that I can be more productive in my work
  • 51. Now work in teams As a business traveller I want to have access to a place to freshen up and work when I land So that I can be more productive in my work “Barry has landed 6 hours ahead of his meeting, and wants to freshen up, have breakfast and prepare his meeting. He goes to the lounge in the arrival airport, and is granted access.”
  • 54. Feature Mapping Collaborative Iterative Exploratory A requirements discovery practice that is…
  • 56. Feature Mapping More precise than free-form acceptance criteria Faster than Gherkin Easy to automate