SlideShare a Scribd company logo
EXAMPLE MAPPING
Raj Indugula
Outline
What is Example
Mapping?
(15-20 min)
01
Experience
Example
Mapping
(15 min)
02
Wrap-up
Q&A
(10 min)
03
2
Have you seen…
• Questions come up in the middle of implementing a story?
• Questions come up while testing an implemented feature?
• Developers and Testers interpret a requirement differently?
3
Are we ready to
implement?
• Backlog refinement
• Three Amigos
• Planning session
“The speed of development is the speed of getting
an idea from one brain to another”
– Alistair Cockburn
4
What is Example Mapping?
• Structured, collaborative
conversation to discover
essential requirements
and identify uncertainty
• Rules & Examples to
illustrate desired behavior
before pulling story into
development
• Discovered and
popularized by Matt
Wynne
User Story
Rules
Abstract descriptions of how things
should work
Examples
Actual scenarios of things working
as they should
Executable Examples
Ready to automate
If reader buys
three books, the
cheapest of the
three should be
free
Cart $10, $15,
$5
Checkout
Total $26.50
5
Example Map - Essentials
User Story under discussion
Rules to satisfy story, or express other
constraints about the story scope
Concrete examples that
illustrate a rule
User
Story
Rule Rule Rule
Example
Example
ExampleExample
Example
Question
QuestionQuestions about scenarios where we
don’t know the right outcome
Acceptance
Criteria
Acceptance
Scenarios
6
…password that is
not easy to crack
Minimum of 8
characters
Alphanumeric with at least
one special character
foobar
Invalid – Too short
f00bargobble!
Shouldn’t we require a mix of
uppercase and lowercase?
The case where…
No number
No letter
No special character
7
Let’s build an Example Map!
…password that is
not easy to crack
f00bargobble!
Invalid – not mixed Shouldn’t we require a mix of
uppercase and lowercase?
Alphanumeric, mixed case,
with at least one special
character
F00bargobble!
Is there a
maximum length
constraint? 1AaaaaaaA!
What about this scenario? Is
this valid?
8
…password that is
not easy to crack
Shouldn’t we require a mix of
uppercase and lowercase?
1AaaaaaaA!
Invalid - repeating
Repeating pattern
(Less than 3
consecutive)
1AaByzdbAxt!
Are dictionary words
allowed?
What about reusing old
passwords?
9
Step Back & Reflect
…password that is
not easy to crack
Minimum of 8
characters
foobar
Invalid – Too short
f00bargobble!
Invalid – not mixed
Alphanumeric, mixed case,
with at least one special
character
F00bargobble!
Is there a
maximum length
constraint?
1AaaaaaaA!
Invalid - repeating
Repeating pattern
(Less than 3
consecutive)
1AaByzdbAxt!
What about
dictionary
words?
password history
policy
The case where…
No number
No letter
No special character
10
Build Your Example Map
• Pick a story
• Invite a small group with multiple
perspectives
• Time-box the session
• Pick a facilitator
• Bring supplies (4-colored index cards,
sharpies, flipcharts, timer)
Rule Rule Rule
Story
Example
Example
Example
Question
11
ATM User Story Backlog
1.
…deposit funds into my
account
Are there limits on amounts?
Number of deposits?
2.
…withdraw funds from my
account
Are there withdrawal limits?
What denominations?
3.
…transfer funds between my
primary and savings account
Any limits? Minimum balance?
Is transfer immediate?
4.
…setup my savings account to
automatically cover overdrafts
from my checking account
What if I don’t opt in?
What if savings is overdrawn?
5.
…make third-party payments
One-time or on-schedule?
12
Rule Rule Rule
Story
Example
Example
Example
Question
Question
New
Story
Where
does it
fit?
Scenario: Invalid example
Given I am a new user
When I select "Abc1*$!-**" as a password
Then I can access my account
Source Adaptation: George Dinwiddie & Raj Indugula
Scenario: Valid example
Given I am a new user
When I select "Abc1*$!-**" as a password
Then I can access my account
13
Example Mapping helps…
Focus on smallest pieces of behavior
Discover what you don’t know
Fill in the gaps (remove ambiguity)
Drive out implicit requirements
Break stories into manageable chunks
Move conversations quicker
Provide basis for automated tests
14
If you want to learn more…
Matt Wynne - Introducing Example Mapping
https://cucumber.io/blog/2015/12/08/example-
mapping-introduction
Aslak Hellesøy - Example Mapping
https://www.youtube.com/watch?v=VwvrGfWm
G_U
15
Raj Indugula
raj.indugula@lithespeed.com
@lithespeed, @raj_indugula

More Related Content

Similar to Yo! What’s The Scenario?

Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Laz Allen
 
What if Scrum had no Rules?
What if Scrum had no Rules?What if Scrum had no Rules?
What if Scrum had no Rules?
Peter Stevens
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
Paul Boos
 
Building Better Models Faster Using Active Learning
Building Better Models Faster Using Active LearningBuilding Better Models Faster Using Active Learning
Building Better Models Faster Using Active Learning
CrowdFlower
 
Packing and Unpacking the Bag of Words: Introducing a Toolkit for Inductive A...
Packing and Unpacking the Bag of Words: Introducing a Toolkit for Inductive A...Packing and Unpacking the Bag of Words: Introducing a Toolkit for Inductive A...
Packing and Unpacking the Bag of Words: Introducing a Toolkit for Inductive A...
Department of Communication Science, University of Amsterdam
 
CFP workshop
CFP workshopCFP workshop
CFP workshop
Amit Zur
 
Sketching&storyboarding
Sketching&storyboardingSketching&storyboarding
Sketching&storyboarding
Priyanka Rana
 
Using critical thinking to crack case based interviews
Using critical thinking to crack case based interviewsUsing critical thinking to crack case based interviews
Using critical thinking to crack case based interviews
pritiagarwal
 
How to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical InterviewHow to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical Interview
Perl Careers
 
group7-Chatbots.ppt
group7-Chatbots.pptgroup7-Chatbots.ppt
group7-Chatbots.ppt
manojsharma466479
 
group7-Chatbots.ppt
group7-Chatbots.pptgroup7-Chatbots.ppt
group7-Chatbots.ppt
RudraSaraswat3
 
group7-Chatbots.ppt
group7-Chatbots.pptgroup7-Chatbots.ppt
group7-Chatbots.ppt
PraveenK875088
 
Using AI chatbots for deep learning and teaching with specific examples to en...
Using AI chatbots for deep learning and teaching with specific examples to en...Using AI chatbots for deep learning and teaching with specific examples to en...
Using AI chatbots for deep learning and teaching with specific examples to en...
Nigel Daly
 
ai4.ppt
ai4.pptai4.ppt
ai4.ppt
atul404633
 
How to talk to your generative AI r2.pptx
How to talk to your generative AI r2.pptxHow to talk to your generative AI r2.pptx
How to talk to your generative AI r2.pptx
LERNER Consulting
 
Machine Learning Lecture 3 Decision Trees
Machine Learning Lecture 3 Decision TreesMachine Learning Lecture 3 Decision Trees
Machine Learning Lecture 3 Decision Trees
ananth
 
It's Not Just About Code
It's Not Just About CodeIt's Not Just About Code
It's Not Just About Code
Dan Pickett
 
Chatbots.pptx
Chatbots.pptxChatbots.pptx
Chatbots.pptx
Dr. Harmeet Singh
 
Agents of Agile: The Art of User Splitting Stories
Agents of Agile: The Art of User Splitting StoriesAgents of Agile: The Art of User Splitting Stories
Agents of Agile: The Art of User Splitting Stories
Stephanie Groot
 
ai4.ppt
ai4.pptai4.ppt
ai4.ppt
ssuserec53e73
 

Similar to Yo! What’s The Scenario? (20)

Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
What if Scrum had no Rules?
What if Scrum had no Rules?What if Scrum had no Rules?
What if Scrum had no Rules?
 
User Story Splitting.pptx
User Story Splitting.pptxUser Story Splitting.pptx
User Story Splitting.pptx
 
Building Better Models Faster Using Active Learning
Building Better Models Faster Using Active LearningBuilding Better Models Faster Using Active Learning
Building Better Models Faster Using Active Learning
 
Packing and Unpacking the Bag of Words: Introducing a Toolkit for Inductive A...
Packing and Unpacking the Bag of Words: Introducing a Toolkit for Inductive A...Packing and Unpacking the Bag of Words: Introducing a Toolkit for Inductive A...
Packing and Unpacking the Bag of Words: Introducing a Toolkit for Inductive A...
 
CFP workshop
CFP workshopCFP workshop
CFP workshop
 
Sketching&storyboarding
Sketching&storyboardingSketching&storyboarding
Sketching&storyboarding
 
Using critical thinking to crack case based interviews
Using critical thinking to crack case based interviewsUsing critical thinking to crack case based interviews
Using critical thinking to crack case based interviews
 
How to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical InterviewHow to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical Interview
 
group7-Chatbots.ppt
group7-Chatbots.pptgroup7-Chatbots.ppt
group7-Chatbots.ppt
 
group7-Chatbots.ppt
group7-Chatbots.pptgroup7-Chatbots.ppt
group7-Chatbots.ppt
 
group7-Chatbots.ppt
group7-Chatbots.pptgroup7-Chatbots.ppt
group7-Chatbots.ppt
 
Using AI chatbots for deep learning and teaching with specific examples to en...
Using AI chatbots for deep learning and teaching with specific examples to en...Using AI chatbots for deep learning and teaching with specific examples to en...
Using AI chatbots for deep learning and teaching with specific examples to en...
 
ai4.ppt
ai4.pptai4.ppt
ai4.ppt
 
How to talk to your generative AI r2.pptx
How to talk to your generative AI r2.pptxHow to talk to your generative AI r2.pptx
How to talk to your generative AI r2.pptx
 
Machine Learning Lecture 3 Decision Trees
Machine Learning Lecture 3 Decision TreesMachine Learning Lecture 3 Decision Trees
Machine Learning Lecture 3 Decision Trees
 
It's Not Just About Code
It's Not Just About CodeIt's Not Just About Code
It's Not Just About Code
 
Chatbots.pptx
Chatbots.pptxChatbots.pptx
Chatbots.pptx
 
Agents of Agile: The Art of User Splitting Stories
Agents of Agile: The Art of User Splitting StoriesAgents of Agile: The Art of User Splitting Stories
Agents of Agile: The Art of User Splitting Stories
 
ai4.ppt
ai4.pptai4.ppt
ai4.ppt
 

More from Raj Indugula

To Deliver, Discover We Must - A value-driven approach to agile planning
To Deliver, Discover We Must - A value-driven approach to agile planningTo Deliver, Discover We Must - A value-driven approach to agile planning
To Deliver, Discover We Must - A value-driven approach to agile planning
Raj Indugula
 
Being Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testingBeing Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testing
Raj Indugula
 
Be Ready, Be Done: The Art of Slicing Stories
Be Ready, Be Done: The Art of Slicing StoriesBe Ready, Be Done: The Art of Slicing Stories
Be Ready, Be Done: The Art of Slicing Stories
Raj Indugula
 
What's Measured Improves: Metrics that matter
What's Measured Improves: Metrics that matterWhat's Measured Improves: Metrics that matter
What's Measured Improves: Metrics that matter
Raj Indugula
 
Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Dare to Explore: Discover ET!
Dare to Explore: Discover ET!
Raj Indugula
 
Leanstartuptoolsforproductowners
LeanstartuptoolsforproductownersLeanstartuptoolsforproductowners
Leanstartuptoolsforproductowners
Raj Indugula
 
Agile testing
Agile testingAgile testing
Agile testing
Raj Indugula
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile Environment
Raj Indugula
 

More from Raj Indugula (8)

To Deliver, Discover We Must - A value-driven approach to agile planning
To Deliver, Discover We Must - A value-driven approach to agile planningTo Deliver, Discover We Must - A value-driven approach to agile planning
To Deliver, Discover We Must - A value-driven approach to agile planning
 
Being Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testingBeing Test-Driven: It's not really about testing
Being Test-Driven: It's not really about testing
 
Be Ready, Be Done: The Art of Slicing Stories
Be Ready, Be Done: The Art of Slicing StoriesBe Ready, Be Done: The Art of Slicing Stories
Be Ready, Be Done: The Art of Slicing Stories
 
What's Measured Improves: Metrics that matter
What's Measured Improves: Metrics that matterWhat's Measured Improves: Metrics that matter
What's Measured Improves: Metrics that matter
 
Dare to Explore: Discover ET!
Dare to Explore: Discover ET!Dare to Explore: Discover ET!
Dare to Explore: Discover ET!
 
Leanstartuptoolsforproductowners
LeanstartuptoolsforproductownersLeanstartuptoolsforproductowners
Leanstartuptoolsforproductowners
 
Agile testing
Agile testingAgile testing
Agile testing
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile Environment
 

Recently uploaded

GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
DanBrown980551
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
AlexanderRichford
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
Jason Yip
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
Sease
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Neo4j
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
Sunil Jagani
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
christinelarrosa
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
Ortus Solutions, Corp
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 

Recently uploaded (20)

GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
LF Energy Webinar: Carbon Data Specifications: Mechanisms to Improve Data Acc...
 
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
[OReilly Superstream] Occupy the Space: A grassroots guide to engineering (an...
 
From Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMsFrom Natural Language to Structured Solr Queries using LLMs
From Natural Language to Structured Solr Queries using LLMs
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansBiomedical Knowledge Graphs for Data Scientists and Bioinformaticians
Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
Christine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptxChristine's Supplier Sourcing Presentaion.pptx
Christine's Supplier Sourcing Presentaion.pptx
 
Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!Introducing BoxLang : A new JVM language for productivity and modularity!
Introducing BoxLang : A new JVM language for productivity and modularity!
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 

Yo! What’s The Scenario?

  • 2. Outline What is Example Mapping? (15-20 min) 01 Experience Example Mapping (15 min) 02 Wrap-up Q&A (10 min) 03 2
  • 3. Have you seen… • Questions come up in the middle of implementing a story? • Questions come up while testing an implemented feature? • Developers and Testers interpret a requirement differently? 3
  • 4. Are we ready to implement? • Backlog refinement • Three Amigos • Planning session “The speed of development is the speed of getting an idea from one brain to another” – Alistair Cockburn 4
  • 5. What is Example Mapping? • Structured, collaborative conversation to discover essential requirements and identify uncertainty • Rules & Examples to illustrate desired behavior before pulling story into development • Discovered and popularized by Matt Wynne User Story Rules Abstract descriptions of how things should work Examples Actual scenarios of things working as they should Executable Examples Ready to automate If reader buys three books, the cheapest of the three should be free Cart $10, $15, $5 Checkout Total $26.50 5
  • 6. Example Map - Essentials User Story under discussion Rules to satisfy story, or express other constraints about the story scope Concrete examples that illustrate a rule User Story Rule Rule Rule Example Example ExampleExample Example Question QuestionQuestions about scenarios where we don’t know the right outcome Acceptance Criteria Acceptance Scenarios 6
  • 7. …password that is not easy to crack Minimum of 8 characters Alphanumeric with at least one special character foobar Invalid – Too short f00bargobble! Shouldn’t we require a mix of uppercase and lowercase? The case where… No number No letter No special character 7 Let’s build an Example Map!
  • 8. …password that is not easy to crack f00bargobble! Invalid – not mixed Shouldn’t we require a mix of uppercase and lowercase? Alphanumeric, mixed case, with at least one special character F00bargobble! Is there a maximum length constraint? 1AaaaaaaA! What about this scenario? Is this valid? 8
  • 9. …password that is not easy to crack Shouldn’t we require a mix of uppercase and lowercase? 1AaaaaaaA! Invalid - repeating Repeating pattern (Less than 3 consecutive) 1AaByzdbAxt! Are dictionary words allowed? What about reusing old passwords? 9
  • 10. Step Back & Reflect …password that is not easy to crack Minimum of 8 characters foobar Invalid – Too short f00bargobble! Invalid – not mixed Alphanumeric, mixed case, with at least one special character F00bargobble! Is there a maximum length constraint? 1AaaaaaaA! Invalid - repeating Repeating pattern (Less than 3 consecutive) 1AaByzdbAxt! What about dictionary words? password history policy The case where… No number No letter No special character 10
  • 11. Build Your Example Map • Pick a story • Invite a small group with multiple perspectives • Time-box the session • Pick a facilitator • Bring supplies (4-colored index cards, sharpies, flipcharts, timer) Rule Rule Rule Story Example Example Example Question 11
  • 12. ATM User Story Backlog 1. …deposit funds into my account Are there limits on amounts? Number of deposits? 2. …withdraw funds from my account Are there withdrawal limits? What denominations? 3. …transfer funds between my primary and savings account Any limits? Minimum balance? Is transfer immediate? 4. …setup my savings account to automatically cover overdrafts from my checking account What if I don’t opt in? What if savings is overdrawn? 5. …make third-party payments One-time or on-schedule? 12 Rule Rule Rule Story Example Example Example Question Question New Story
  • 13. Where does it fit? Scenario: Invalid example Given I am a new user When I select "Abc1*$!-**" as a password Then I can access my account Source Adaptation: George Dinwiddie & Raj Indugula Scenario: Valid example Given I am a new user When I select "Abc1*$!-**" as a password Then I can access my account 13
  • 14. Example Mapping helps… Focus on smallest pieces of behavior Discover what you don’t know Fill in the gaps (remove ambiguity) Drive out implicit requirements Break stories into manageable chunks Move conversations quicker Provide basis for automated tests 14
  • 15. If you want to learn more… Matt Wynne - Introducing Example Mapping https://cucumber.io/blog/2015/12/08/example- mapping-introduction Aslak Hellesøy - Example Mapping https://www.youtube.com/watch?v=VwvrGfWm G_U 15 Raj Indugula raj.indugula@lithespeed.com @lithespeed, @raj_indugula