SlideShare a Scribd company logo
BDD Is JIT
Jeff Langr

jeff@langrsoft.com

@jlangr
We are uncovering better ways of developing software

by doing it and helping others do it. 

Through this work we have come to value:
Working software 

over 

comprehensive documentation



Customer collaboration 

over 

contract negotiation
source: http://agilemanifesto.org
@jlangr
Let me tell you a story...
on-hold materials
@jlangr
The Conversation
by Eli Kyeyune
@jlangr
Ron Jeffries' Three Cs
Card

Confirmation

Conversation
@jlangr
What Do We Hold Onto?
@jlangr
Bill Wake's Story Criteria
Image courtesy InvestmentTotal.com https://www.flickr.com/photos/investmenttotal/
License: https://creativecommons.org/licenses/by/2.0/
@jlangr
A Binary Artifact
Feature: Fines
As a librarian,
I want to assess fines for books returned late,
So that we can encourage maximum book availability.
Background:
Given a library system with one book
Scenario: Due date for book is 21 days after checkout
When a patron checks out the book on 2017/3/1
Then the due date is 2017/3/22
Scenario: Book incurs no fine when returned on due date
Given a patron checks out the book on 2017/4/1
When the book is returned on 2017/4/22
Then the patron's fine balance is 0



Scenario: Book incurs fine when returned after due date
...
@jlangr
Driving Via Examples
TDD
example
@jlangr
@jlangr
...
Just-in-Time Scenario Refinement
@jlangr
Gherkin is alluring.
Feature: Fines
As a librarian,
I want to assess fines for books returned late,
So that we can encourage maximum book availability.
Background:
Given a library system with one book
Scenario: Due date for book is 21 days after checkout
When a patron checks out the book on 2017/3/1
Then the due date is 2017/3/22
Scenario: Book incurs no fine when returned on due date
Given a patron checks out the book on 2017/4/1
When the book is returned on 2017/4/22
Then the patron's fine balance is 0



Scenario: Book incurs fine when returned after due date
...
@jlangr
We're

"Designing

Scenarios"
Let's slice out that talk

about Gherkin.
"Bread & Butter pickles - Slicing cucumbers," courtesy Rebecca Siegel.

https://www.flickr.com/photos/grongar/6019669203/

License: https://creativecommons.org/licenses/by/2.0/
@jlangr
Explore End Results / Goals
Happy path
Alternate paths
Secondary actors
Edge cases
Error conditions
Out-of-the-box notions
@jlangr
Scenarios

(breadth: now)
Happy

path
title2 title3 title4 ...title5
Narrative

detail

(depth: JIT)
@jlangr
Exercise.
on-hold materials
@jlangr
Negotiate & Agree
Image courtesy Nguyen Hung Vu https://www.flickr.com/photos/vuhung/

License: https://creativecommons.org/licenses/by/2.0/@jlangr
Clarify Scope with Scenarios
Review scenario names holistically
Determine initial scope / priority
(Are there existing scenarios?)
@jlangr
3 R's of Scenario Titles
Re-read it.
Refine the wording.
Reconsider its name every revisit.
@jlangr
Exercise.
Holistically look at your scenario names.
Correct for consistency and conciseness.
@jlangr
How else might this help?
Image courtesy Marcin Wichary https://www.flickr.com/photos/mwichary/ 

License: https://creativecommons.org/licenses/by/2.0/
Document
@jlangr
Define Completion Criteria
Image courtesy Oliver Tacke https://www.flickr.com/photos/otacke/

License: https://creativecommons.org/licenses/by/2.0/
@jlangr
Understand Progress
@jlangr
Slice Apart Larger Stories
Image courtesy MelisaTG https://www.flickr.com/photos/melisatg/

License: https://creativecommons.org/licenses/by/2.0/
@jlangr
Negotiate & Agree
Image courtesy Nguyen Hung Vu https://www.flickr.com/photos/vuhung/

License: https://creativecommons.org/licenses/by/2.0/@jlangr
Thank you!

More Related Content

More from AgileDenver

MHA2018 - Validate It Before You Build It: The Experiment Canvas - Brad Swanson
MHA2018 - Validate It Before You Build It: The Experiment Canvas - Brad SwansonMHA2018 - Validate It Before You Build It: The Experiment Canvas - Brad Swanson
MHA2018 - Validate It Before You Build It: The Experiment Canvas - Brad Swanson
AgileDenver
 
MHA2018 - How Agile Coaching Practices Can Be Used in Schools To Get Students...
MHA2018 - How Agile Coaching Practices Can Be Used in Schools To Get Students...MHA2018 - How Agile Coaching Practices Can Be Used in Schools To Get Students...
MHA2018 - How Agile Coaching Practices Can Be Used in Schools To Get Students...
AgileDenver
 
MHA2018 - Going with the Flow: Adapting Scrum Practices for Marketing - Andre...
MHA2018 - Going with the Flow: Adapting Scrum Practices for Marketing - Andre...MHA2018 - Going with the Flow: Adapting Scrum Practices for Marketing - Andre...
MHA2018 - Going with the Flow: Adapting Scrum Practices for Marketing - Andre...
AgileDenver
 
MHA2018 - When will it be done - Probabilistic Predictions - Prateek Singh
MHA2018 - When will it be done - Probabilistic Predictions - Prateek SinghMHA2018 - When will it be done - Probabilistic Predictions - Prateek Singh
MHA2018 - When will it be done - Probabilistic Predictions - Prateek Singh
AgileDenver
 
MHA2018 - Docker and Jenkins Pipeline for Continuous integration - Mark Waite
MHA2018 - Docker and Jenkins Pipeline for Continuous integration - Mark WaiteMHA2018 - Docker and Jenkins Pipeline for Continuous integration - Mark Waite
MHA2018 - Docker and Jenkins Pipeline for Continuous integration - Mark Waite
AgileDenver
 
MHA2018 - Jen Krieger - Getting Started with Kanban
MHA2018 - Jen Krieger - Getting Started with KanbanMHA2018 - Jen Krieger - Getting Started with Kanban
MHA2018 - Jen Krieger - Getting Started with Kanban
AgileDenver
 
MHA2018 - The Immunity to Change - How to discover individual or team resista...
MHA2018 - The Immunity to Change - How to discover individual or team resista...MHA2018 - The Immunity to Change - How to discover individual or team resista...
MHA2018 - The Immunity to Change - How to discover individual or team resista...
AgileDenver
 
MHA2018 - How Agile connects to the Social Nature of a High-Performance Workp...
MHA2018 - How Agile connects to the Social Nature of a High-Performance Workp...MHA2018 - How Agile connects to the Social Nature of a High-Performance Workp...
MHA2018 - How Agile connects to the Social Nature of a High-Performance Workp...
AgileDenver
 
MHA2018 - Workbook Breaking Out of The Rut-rospective: Finding Activities to ...
MHA2018 - Workbook Breaking Out of The Rut-rospective: Finding Activities to ...MHA2018 - Workbook Breaking Out of The Rut-rospective: Finding Activities to ...
MHA2018 - Workbook Breaking Out of The Rut-rospective: Finding Activities to ...
AgileDenver
 
MHA2018 - Breaking Out of The Rut-rospective: Finding Activities to Engage Yo...
MHA2018 - Breaking Out of The Rut-rospective: Finding Activities to Engage Yo...MHA2018 - Breaking Out of The Rut-rospective: Finding Activities to Engage Yo...
MHA2018 - Breaking Out of The Rut-rospective: Finding Activities to Engage Yo...
AgileDenver
 
MHA2018 - Introduction to Observational Coaching - Daniel Lynn
MHA2018 - Introduction to Observational Coaching - Daniel LynnMHA2018 - Introduction to Observational Coaching - Daniel Lynn
MHA2018 - Introduction to Observational Coaching - Daniel Lynn
AgileDenver
 
MHA2018 - Develop your Sense of Code Smell - Mike Clement
MHA2018 - Develop your Sense of Code Smell - Mike ClementMHA2018 - Develop your Sense of Code Smell - Mike Clement
MHA2018 - Develop your Sense of Code Smell - Mike Clement
AgileDenver
 
MHA2018 - Experiment by Experiment: Scaling the Agile Mountain - Lieschen Gar...
MHA2018 - Experiment by Experiment: Scaling the Agile Mountain - Lieschen Gar...MHA2018 - Experiment by Experiment: Scaling the Agile Mountain - Lieschen Gar...
MHA2018 - Experiment by Experiment: Scaling the Agile Mountain - Lieschen Gar...
AgileDenver
 
MHA2018 - Amazon Echo & Google Home: Agile for Voice Products - Kari Ostevik
MHA2018 - Amazon Echo & Google Home: Agile for Voice Products - Kari OstevikMHA2018 - Amazon Echo & Google Home: Agile for Voice Products - Kari Ostevik
MHA2018 - Amazon Echo & Google Home: Agile for Voice Products - Kari Ostevik
AgileDenver
 
MHA2018 - Quality Advocacy: The next progression for Agile Testers - Don Peters
MHA2018 - Quality Advocacy: The next progression for Agile Testers - Don PetersMHA2018 - Quality Advocacy: The next progression for Agile Testers - Don Peters
MHA2018 - Quality Advocacy: The next progression for Agile Testers - Don Peters
AgileDenver
 
MHA2018 - Addressing the Reductionist Mindset in Your Lean-Agile Transformati...
MHA2018 - Addressing the Reductionist Mindset in Your Lean-Agile Transformati...MHA2018 - Addressing the Reductionist Mindset in Your Lean-Agile Transformati...
MHA2018 - Addressing the Reductionist Mindset in Your Lean-Agile Transformati...
AgileDenver
 
MHA2018 - Agile is for the Birds!Tricia Savage Bailey & Hande Kazgan
MHA2018 - Agile is for the Birds!Tricia Savage Bailey & Hande KazganMHA2018 - Agile is for the Birds!Tricia Savage Bailey & Hande Kazgan
MHA2018 - Agile is for the Birds!Tricia Savage Bailey & Hande Kazgan
AgileDenver
 
MHA2018 - Solicit Feedback Well and Boost Your Personal Career Development: 6...
MHA2018 - Solicit Feedback Well and Boost Your Personal Career Development: 6...MHA2018 - Solicit Feedback Well and Boost Your Personal Career Development: 6...
MHA2018 - Solicit Feedback Well and Boost Your Personal Career Development: 6...
AgileDenver
 
MHA2018 - Agile Transformation Explained - Mike Cottmeyer
MHA2018 - Agile Transformation Explained - Mike CottmeyerMHA2018 - Agile Transformation Explained - Mike Cottmeyer
MHA2018 - Agile Transformation Explained - Mike Cottmeyer
AgileDenver
 
Backlogs and behavioral design
Backlogs and behavioral designBacklogs and behavioral design
Backlogs and behavioral design
AgileDenver
 

More from AgileDenver (20)

MHA2018 - Validate It Before You Build It: The Experiment Canvas - Brad Swanson
MHA2018 - Validate It Before You Build It: The Experiment Canvas - Brad SwansonMHA2018 - Validate It Before You Build It: The Experiment Canvas - Brad Swanson
MHA2018 - Validate It Before You Build It: The Experiment Canvas - Brad Swanson
 
MHA2018 - How Agile Coaching Practices Can Be Used in Schools To Get Students...
MHA2018 - How Agile Coaching Practices Can Be Used in Schools To Get Students...MHA2018 - How Agile Coaching Practices Can Be Used in Schools To Get Students...
MHA2018 - How Agile Coaching Practices Can Be Used in Schools To Get Students...
 
MHA2018 - Going with the Flow: Adapting Scrum Practices for Marketing - Andre...
MHA2018 - Going with the Flow: Adapting Scrum Practices for Marketing - Andre...MHA2018 - Going with the Flow: Adapting Scrum Practices for Marketing - Andre...
MHA2018 - Going with the Flow: Adapting Scrum Practices for Marketing - Andre...
 
MHA2018 - When will it be done - Probabilistic Predictions - Prateek Singh
MHA2018 - When will it be done - Probabilistic Predictions - Prateek SinghMHA2018 - When will it be done - Probabilistic Predictions - Prateek Singh
MHA2018 - When will it be done - Probabilistic Predictions - Prateek Singh
 
MHA2018 - Docker and Jenkins Pipeline for Continuous integration - Mark Waite
MHA2018 - Docker and Jenkins Pipeline for Continuous integration - Mark WaiteMHA2018 - Docker and Jenkins Pipeline for Continuous integration - Mark Waite
MHA2018 - Docker and Jenkins Pipeline for Continuous integration - Mark Waite
 
MHA2018 - Jen Krieger - Getting Started with Kanban
MHA2018 - Jen Krieger - Getting Started with KanbanMHA2018 - Jen Krieger - Getting Started with Kanban
MHA2018 - Jen Krieger - Getting Started with Kanban
 
MHA2018 - The Immunity to Change - How to discover individual or team resista...
MHA2018 - The Immunity to Change - How to discover individual or team resista...MHA2018 - The Immunity to Change - How to discover individual or team resista...
MHA2018 - The Immunity to Change - How to discover individual or team resista...
 
MHA2018 - How Agile connects to the Social Nature of a High-Performance Workp...
MHA2018 - How Agile connects to the Social Nature of a High-Performance Workp...MHA2018 - How Agile connects to the Social Nature of a High-Performance Workp...
MHA2018 - How Agile connects to the Social Nature of a High-Performance Workp...
 
MHA2018 - Workbook Breaking Out of The Rut-rospective: Finding Activities to ...
MHA2018 - Workbook Breaking Out of The Rut-rospective: Finding Activities to ...MHA2018 - Workbook Breaking Out of The Rut-rospective: Finding Activities to ...
MHA2018 - Workbook Breaking Out of The Rut-rospective: Finding Activities to ...
 
MHA2018 - Breaking Out of The Rut-rospective: Finding Activities to Engage Yo...
MHA2018 - Breaking Out of The Rut-rospective: Finding Activities to Engage Yo...MHA2018 - Breaking Out of The Rut-rospective: Finding Activities to Engage Yo...
MHA2018 - Breaking Out of The Rut-rospective: Finding Activities to Engage Yo...
 
MHA2018 - Introduction to Observational Coaching - Daniel Lynn
MHA2018 - Introduction to Observational Coaching - Daniel LynnMHA2018 - Introduction to Observational Coaching - Daniel Lynn
MHA2018 - Introduction to Observational Coaching - Daniel Lynn
 
MHA2018 - Develop your Sense of Code Smell - Mike Clement
MHA2018 - Develop your Sense of Code Smell - Mike ClementMHA2018 - Develop your Sense of Code Smell - Mike Clement
MHA2018 - Develop your Sense of Code Smell - Mike Clement
 
MHA2018 - Experiment by Experiment: Scaling the Agile Mountain - Lieschen Gar...
MHA2018 - Experiment by Experiment: Scaling the Agile Mountain - Lieschen Gar...MHA2018 - Experiment by Experiment: Scaling the Agile Mountain - Lieschen Gar...
MHA2018 - Experiment by Experiment: Scaling the Agile Mountain - Lieschen Gar...
 
MHA2018 - Amazon Echo & Google Home: Agile for Voice Products - Kari Ostevik
MHA2018 - Amazon Echo & Google Home: Agile for Voice Products - Kari OstevikMHA2018 - Amazon Echo & Google Home: Agile for Voice Products - Kari Ostevik
MHA2018 - Amazon Echo & Google Home: Agile for Voice Products - Kari Ostevik
 
MHA2018 - Quality Advocacy: The next progression for Agile Testers - Don Peters
MHA2018 - Quality Advocacy: The next progression for Agile Testers - Don PetersMHA2018 - Quality Advocacy: The next progression for Agile Testers - Don Peters
MHA2018 - Quality Advocacy: The next progression for Agile Testers - Don Peters
 
MHA2018 - Addressing the Reductionist Mindset in Your Lean-Agile Transformati...
MHA2018 - Addressing the Reductionist Mindset in Your Lean-Agile Transformati...MHA2018 - Addressing the Reductionist Mindset in Your Lean-Agile Transformati...
MHA2018 - Addressing the Reductionist Mindset in Your Lean-Agile Transformati...
 
MHA2018 - Agile is for the Birds!Tricia Savage Bailey & Hande Kazgan
MHA2018 - Agile is for the Birds!Tricia Savage Bailey & Hande KazganMHA2018 - Agile is for the Birds!Tricia Savage Bailey & Hande Kazgan
MHA2018 - Agile is for the Birds!Tricia Savage Bailey & Hande Kazgan
 
MHA2018 - Solicit Feedback Well and Boost Your Personal Career Development: 6...
MHA2018 - Solicit Feedback Well and Boost Your Personal Career Development: 6...MHA2018 - Solicit Feedback Well and Boost Your Personal Career Development: 6...
MHA2018 - Solicit Feedback Well and Boost Your Personal Career Development: 6...
 
MHA2018 - Agile Transformation Explained - Mike Cottmeyer
MHA2018 - Agile Transformation Explained - Mike CottmeyerMHA2018 - Agile Transformation Explained - Mike Cottmeyer
MHA2018 - Agile Transformation Explained - Mike Cottmeyer
 
Backlogs and behavioral design
Backlogs and behavioral designBacklogs and behavioral design
Backlogs and behavioral design
 

Recently uploaded

Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
Matjaž Lipuš
 
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Orkestra
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
Faculty of Medicine And Health Sciences
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Sebastiano Panichella
 
Eureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 PresentationEureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 Presentation
Access Innovations, Inc.
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
faizulhassanfaiz1670
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
Sebastiano Panichella
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
Howard Spence
 
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
OWASP Beja
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
Vladimir Samoylov
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
khadija278284
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Sebastiano Panichella
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
eCommerce Institute
 
Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
IP ServerOne
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Access Innovations, Inc.
 

Recently uploaded (16)

Bitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXOBitcoin Lightning wallet and tic-tac-toe game XOXO
Bitcoin Lightning wallet and tic-tac-toe game XOXO
 
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
Sharpen existing tools or get a new toolbox? Contemporary cluster initiatives...
 
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
Competition and Regulation in Professional Services – KLEINER – June 2024 OEC...
 
Obesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditionsObesity causes and management and associated medical conditions
Obesity causes and management and associated medical conditions
 
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...Doctoral Symposium at the 17th IEEE International Conference on Software Test...
Doctoral Symposium at the 17th IEEE International Conference on Software Test...
 
Eureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 PresentationEureka, I found it! - Special Libraries Association 2021 Presentation
Eureka, I found it! - Special Libraries Association 2021 Presentation
 
Media as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern EraMedia as a Mind Controlling Strategy In Old and Modern Era
Media as a Mind Controlling Strategy In Old and Modern Era
 
International Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software TestingInternational Workshop on Artificial Intelligence in Software Testing
International Workshop on Artificial Intelligence in Software Testing
 
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptxsomanykidsbutsofewfathers-140705000023-phpapp02.pptx
somanykidsbutsofewfathers-140705000023-phpapp02.pptx
 
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
0x01 - Newton's Third Law:  Static vs. Dynamic Abusers0x01 - Newton's Third Law:  Static vs. Dynamic Abusers
0x01 - Newton's Third Law: Static vs. Dynamic Abusers
 
Getting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control TowerGetting started with Amazon Bedrock Studio and Control Tower
Getting started with Amazon Bedrock Studio and Control Tower
 
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdfBonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
Bonzo subscription_hjjjjjjjj5hhhhhhh_2024.pdf
 
Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...Announcement of 18th IEEE International Conference on Software Testing, Verif...
Announcement of 18th IEEE International Conference on Software Testing, Verif...
 
María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024María Carolina Martínez - eCommerce Day Colombia 2024
María Carolina Martínez - eCommerce Day Colombia 2024
 
Acorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutesAcorn Recovery: Restore IT infra within minutes
Acorn Recovery: Restore IT infra within minutes
 
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdfSupercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
Supercharge your AI - SSP Industry Breakout Session 2024-v2_1.pdf
 

MHA2018 - BDD is JIT - Jeff Langr

  • 1. BDD Is JIT Jeff Langr
 jeff@langrsoft.com
 @jlangr
  • 2. We are uncovering better ways of developing software
 by doing it and helping others do it. 
 Through this work we have come to value: Working software 
 over 
 comprehensive documentation
 
 Customer collaboration 
 over 
 contract negotiation source: http://agilemanifesto.org @jlangr
  • 3. Let me tell you a story... on-hold materials @jlangr
  • 4. The Conversation by Eli Kyeyune @jlangr
  • 5. Ron Jeffries' Three Cs Card
 Confirmation
 Conversation @jlangr
  • 6. What Do We Hold Onto? @jlangr
  • 7. Bill Wake's Story Criteria Image courtesy InvestmentTotal.com https://www.flickr.com/photos/investmenttotal/ License: https://creativecommons.org/licenses/by/2.0/ @jlangr
  • 8. A Binary Artifact Feature: Fines As a librarian, I want to assess fines for books returned late, So that we can encourage maximum book availability. Background: Given a library system with one book Scenario: Due date for book is 21 days after checkout When a patron checks out the book on 2017/3/1 Then the due date is 2017/3/22 Scenario: Book incurs no fine when returned on due date Given a patron checks out the book on 2017/4/1 When the book is returned on 2017/4/22 Then the patron's fine balance is 0
 
 Scenario: Book incurs fine when returned after due date ... @jlangr
  • 12. Gherkin is alluring. Feature: Fines As a librarian, I want to assess fines for books returned late, So that we can encourage maximum book availability. Background: Given a library system with one book Scenario: Due date for book is 21 days after checkout When a patron checks out the book on 2017/3/1 Then the due date is 2017/3/22 Scenario: Book incurs no fine when returned on due date Given a patron checks out the book on 2017/4/1 When the book is returned on 2017/4/22 Then the patron's fine balance is 0
 
 Scenario: Book incurs fine when returned after due date ... @jlangr
  • 13. We're
 "Designing
 Scenarios" Let's slice out that talk
 about Gherkin. "Bread & Butter pickles - Slicing cucumbers," courtesy Rebecca Siegel.
 https://www.flickr.com/photos/grongar/6019669203/
 License: https://creativecommons.org/licenses/by/2.0/ @jlangr
  • 14. Explore End Results / Goals Happy path Alternate paths Secondary actors Edge cases Error conditions Out-of-the-box notions @jlangr
  • 15. Scenarios
 (breadth: now) Happy
 path title2 title3 title4 ...title5 Narrative
 detail
 (depth: JIT) @jlangr
  • 17. Negotiate & Agree Image courtesy Nguyen Hung Vu https://www.flickr.com/photos/vuhung/
 License: https://creativecommons.org/licenses/by/2.0/@jlangr
  • 18. Clarify Scope with Scenarios Review scenario names holistically Determine initial scope / priority (Are there existing scenarios?) @jlangr
  • 19. 3 R's of Scenario Titles Re-read it. Refine the wording. Reconsider its name every revisit. @jlangr
  • 20. Exercise. Holistically look at your scenario names. Correct for consistency and conciseness. @jlangr
  • 21. How else might this help?
  • 22. Image courtesy Marcin Wichary https://www.flickr.com/photos/mwichary/ 
 License: https://creativecommons.org/licenses/by/2.0/ Document @jlangr
  • 23. Define Completion Criteria Image courtesy Oliver Tacke https://www.flickr.com/photos/otacke/
 License: https://creativecommons.org/licenses/by/2.0/ @jlangr
  • 25. Slice Apart Larger Stories Image courtesy MelisaTG https://www.flickr.com/photos/melisatg/
 License: https://creativecommons.org/licenses/by/2.0/ @jlangr
  • 26. Negotiate & Agree Image courtesy Nguyen Hung Vu https://www.flickr.com/photos/vuhung/
 License: https://creativecommons.org/licenses/by/2.0/@jlangr