SlideShare a Scribd company logo
1 of 57
Download to read offline
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

What's hot

8. Event Storming (P. Rayner).pdf
8. Event Storming (P. Rayner).pdf8. Event Storming (P. Rayner).pdf
8. Event Storming (P. Rayner).pdfMikhail Andronov
 
Letswift19-clean-architecture
Letswift19-clean-architectureLetswift19-clean-architecture
Letswift19-clean-architectureJung Kim
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Toshiaki Maki
 
Clean Code - The Next Chapter
Clean Code - The Next ChapterClean Code - The Next Chapter
Clean Code - The Next ChapterVictor Rentea
 
DDD와 이벤트소싱
DDD와 이벤트소싱DDD와 이벤트소싱
DDD와 이벤트소싱Suhyeon Jo
 
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked ChangesJiyeon Seo
 
Dalvik Vm &amp; Jit
Dalvik Vm &amp; JitDalvik Vm &amp; Jit
Dalvik Vm &amp; JitAnkit Somani
 
Data Modeling in Looker
Data Modeling in LookerData Modeling in Looker
Data Modeling in LookerLooker
 
실전 프론트엔드 개발 - 취직 그리고 이직
실전 프론트엔드 개발 - 취직 그리고 이직실전 프론트엔드 개발 - 취직 그리고 이직
실전 프론트엔드 개발 - 취직 그리고 이직Yurim Jin
 
Building a semantic/metrics layer using Calcite
Building a semantic/metrics layer using CalciteBuilding a semantic/metrics layer using Calcite
Building a semantic/metrics layer using CalciteJulian Hyde
 
BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!Craig Schumann
 
From Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdfFrom Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdfJosé Paumard
 
Flutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationFlutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationApoorv Pandey
 

What's hot (20)

8. Event Storming (P. Rayner).pdf
8. Event Storming (P. Rayner).pdf8. Event Storming (P. Rayner).pdf
8. Event Storming (P. Rayner).pdf
 
Letswift19-clean-architecture
Letswift19-clean-architectureLetswift19-clean-architecture
Letswift19-clean-architecture
 
Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1Introduction to Spring WebFlux #jsug #sf_a1
Introduction to Spring WebFlux #jsug #sf_a1
 
Angular 2.0
Angular  2.0Angular  2.0
Angular 2.0
 
Clean Code - The Next Chapter
Clean Code - The Next ChapterClean Code - The Next Chapter
Clean Code - The Next Chapter
 
DDD와 이벤트소싱
DDD와 이벤트소싱DDD와 이벤트소싱
DDD와 이벤트소싱
 
EVOLVE'13 | Keynote | Roy Fielding
EVOLVE'13 | Keynote | Roy FieldingEVOLVE'13 | Keynote | Roy Fielding
EVOLVE'13 | Keynote | Roy Fielding
 
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
 
Dalvik Vm &amp; Jit
Dalvik Vm &amp; JitDalvik Vm &amp; Jit
Dalvik Vm &amp; Jit
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Data Modeling in Looker
Data Modeling in LookerData Modeling in Looker
Data Modeling in Looker
 
Firebase Overview
Firebase OverviewFirebase Overview
Firebase Overview
 
실전 프론트엔드 개발 - 취직 그리고 이직
실전 프론트엔드 개발 - 취직 그리고 이직실전 프론트엔드 개발 - 취직 그리고 이직
실전 프론트엔드 개발 - 취직 그리고 이직
 
Introduction to flutter
Introduction to flutter Introduction to flutter
Introduction to flutter
 
Building a semantic/metrics layer using Calcite
Building a semantic/metrics layer using CalciteBuilding a semantic/metrics layer using Calcite
Building a semantic/metrics layer using Calcite
 
BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!BP204 - Take a REST and put your data to work with APIs!
BP204 - Take a REST and put your data to work with APIs!
 
Taking back BDD
Taking back BDDTaking back BDD
Taking back BDD
 
From Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdfFrom Java 11 to 17 and beyond.pdf
From Java 11 to 17 and beyond.pdf
 
React Tech Salon
React Tech SalonReact Tech Salon
React Tech Salon
 
Flutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter applicationFlutter festival - Write your first Flutter application
Flutter festival - Write your first Flutter application
 

Similar to Feature Mapping Workshop

Refactor your Specs - 2017 Edition
Refactor your Specs - 2017 EditionRefactor your Specs - 2017 Edition
Refactor your Specs - 2017 EditionCyrille Martraire
 
Driving Design through Examples
Driving Design through ExamplesDriving Design through Examples
Driving Design through ExamplesCiaranMcNulty
 
Driving Design through Examples
Driving Design through ExamplesDriving Design through Examples
Driving Design through ExamplesCiaranMcNulty
 
Driving Design through Examples
Driving Design through ExamplesDriving Design through Examples
Driving Design through ExamplesCiaranMcNulty
 
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
 
Driving Design through Examples - PhpCon PL 2015
Driving Design through Examples - PhpCon PL 2015Driving Design through Examples - PhpCon PL 2015
Driving Design through Examples - PhpCon PL 2015CiaranMcNulty
 
Refactor your specs! Øredev 2013
Refactor your specs! Øredev 2013Refactor your specs! Øredev 2013
Refactor your specs! Øredev 2013Cyrille Martraire
 
The Basics of OKR
The Basics of OKRThe Basics of OKR
The Basics of OKRPerdoo
 
It's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersIt's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersJohn Ferguson Smart Limited
 
John Glinski - The B2B Analytics Engine: How Vanguard is Measuring Marketing...
John Glinski - 	The B2B Analytics Engine: How Vanguard is Measuring Marketing...John Glinski - 	The B2B Analytics Engine: How Vanguard is Measuring Marketing...
John Glinski - The B2B Analytics Engine: How Vanguard is Measuring Marketing...Julia Grosman
 
Customer journey mapping and innovation
Customer journey mapping and innovationCustomer journey mapping and innovation
Customer journey mapping and innovationLivework Studio
 
resolvendo problemas de comunicação em equipes distribuídas com bdd
resolvendo problemas de comunicação em equipes distribuídas com bddresolvendo problemas de comunicação em equipes distribuídas com bdd
resolvendo problemas de comunicação em equipes distribuídas com bddRodrigo Urubatan
 
Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...
Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...
Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...The HR Observer
 
PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!
PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!
PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!Konstantinos Skianis
 
How to Build your Training Set for a Learning To Rank Project
How to Build your Training Set for a Learning To Rank ProjectHow to Build your Training Set for a Learning To Rank Project
How to Build your Training Set for a Learning To Rank ProjectSease
 
Conversion Rate Optimisation Presentation
Conversion Rate Optimisation PresentationConversion Rate Optimisation Presentation
Conversion Rate Optimisation PresentationMadhouse Associates
 
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghWorkshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghAgile ME
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Anand Bagmar
 
Updated curriculum-august-2019-ppt
Updated curriculum-august-2019-pptUpdated curriculum-august-2019-ppt
Updated curriculum-august-2019-pptMominIjaz1
 

Similar to Feature Mapping Workshop (20)

Refactor your Specs - 2017 Edition
Refactor your Specs - 2017 EditionRefactor your Specs - 2017 Edition
Refactor your Specs - 2017 Edition
 
Driving Design through Examples
Driving Design through ExamplesDriving Design through Examples
Driving Design through Examples
 
Driving Design through Examples
Driving Design through ExamplesDriving Design through Examples
Driving Design through Examples
 
Driving Design through Examples
Driving Design through ExamplesDriving Design through Examples
Driving Design through Examples
 
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
 
Driving Design through Examples - PhpCon PL 2015
Driving Design through Examples - PhpCon PL 2015Driving Design through Examples - PhpCon PL 2015
Driving Design through Examples - PhpCon PL 2015
 
Refactor your specs! Øredev 2013
Refactor your specs! Øredev 2013Refactor your specs! Øredev 2013
Refactor your specs! Øredev 2013
 
The Basics of OKR
The Basics of OKRThe Basics of OKR
The Basics of OKR
 
It's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for TestersIt's Testing, Jim, but not as we know it - BDD for Testers
It's Testing, Jim, but not as we know it - BDD for Testers
 
John Glinski - The B2B Analytics Engine: How Vanguard is Measuring Marketing...
John Glinski - 	The B2B Analytics Engine: How Vanguard is Measuring Marketing...John Glinski - 	The B2B Analytics Engine: How Vanguard is Measuring Marketing...
John Glinski - The B2B Analytics Engine: How Vanguard is Measuring Marketing...
 
Customer journey mapping and innovation
Customer journey mapping and innovationCustomer journey mapping and innovation
Customer journey mapping and innovation
 
resolvendo problemas de comunicação em equipes distribuídas com bdd
resolvendo problemas de comunicação em equipes distribuídas com bddresolvendo problemas de comunicação em equipes distribuídas com bdd
resolvendo problemas de comunicação em equipes distribuídas com bdd
 
Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...
Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...
Making Psychometrics And Online Assessment Work In A UAE And GCC Context For ...
 
PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!
PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!
PPC for eCommerce: Implement, Optimize, Monitor and.. repeat!
 
How to Build your Training Set for a Learning To Rank Project
How to Build your Training Set for a Learning To Rank ProjectHow to Build your Training Set for a Learning To Rank Project
How to Build your Training Set for a Learning To Rank Project
 
Conversion Rate Optimisation Presentation
Conversion Rate Optimisation PresentationConversion Rate Optimisation Presentation
Conversion Rate Optimisation Presentation
 
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar SinghWorkshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
Workshop: Behavior Driven Development - Deliver value by Naveen Kumar Singh
 
Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)Building the "right" regression suite using Behavior Driven Testing (BDT)
Building the "right" regression suite using Behavior Driven Testing (BDT)
 
Marketing Tactics for Smaller Owners - 3 Presentations
Marketing Tactics for Smaller Owners - 3 PresentationsMarketing Tactics for Smaller Owners - 3 Presentations
Marketing Tactics for Smaller Owners - 3 Presentations
 
Updated curriculum-august-2019-ppt
Updated curriculum-august-2019-pptUpdated curriculum-august-2019-ppt
Updated curriculum-august-2019-ppt
 

More from John Ferguson Smart Limited

My Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin ScenariosMy Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin ScenariosJohn 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
 
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
 
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
 
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
 
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
 
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
 

More from John Ferguson Smart Limited (20)

My Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin ScenariosMy Reading Specs - Refactoring Patterns for Gherkin Scenarios
My Reading Specs - Refactoring Patterns for Gherkin Scenarios
 
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
 
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...
 
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
 
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
 
CukeUp 2016 Agile Product Planning Workshop
CukeUp 2016 Agile Product Planning WorkshopCukeUp 2016 Agile Product Planning Workshop
CukeUp 2016 Agile Product Planning Workshop
 
BDD - Collaborate like you mean it!
BDD - Collaborate like you mean it!BDD - Collaborate like you mean it!
BDD - Collaborate like you mean it!
 
BDD-Driven Microservices
BDD-Driven MicroservicesBDD-Driven Microservices
BDD-Driven Microservices
 
BDD Anti-patterns
BDD Anti-patternsBDD Anti-patterns
BDD Anti-patterns
 
BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014BDD in Action - Devoxx 2014
BDD in Action - Devoxx 2014
 
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
 
BDD: The unit test of the product owner
BDD: The unit test of the product ownerBDD: The unit test of the product owner
BDD: The unit test of the product owner
 
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
 
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 – 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
 
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
 

Recently uploaded

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

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