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

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

Recently uploaded (9)

DAY 0 8 A Revelation 05-19-2024 PPT.pptx
DAY 0 8 A Revelation 05-19-2024 PPT.pptxDAY 0 8 A Revelation 05-19-2024 PPT.pptx
DAY 0 8 A Revelation 05-19-2024 PPT.pptx
 
The Influence and Evolution of Mogul Press in Contemporary Public Relations.docx
The Influence and Evolution of Mogul Press in Contemporary Public Relations.docxThe Influence and Evolution of Mogul Press in Contemporary Public Relations.docx
The Influence and Evolution of Mogul Press in Contemporary Public Relations.docx
 
Understanding Poverty: A Community Questionnaire
Understanding Poverty: A Community QuestionnaireUnderstanding Poverty: A Community Questionnaire
Understanding Poverty: A Community Questionnaire
 
Deciding The Topic of our Magazine.pptx.
Deciding The Topic of our Magazine.pptx.Deciding The Topic of our Magazine.pptx.
Deciding The Topic of our Magazine.pptx.
 
ACM CHT Best Inspection Practices Kinben Innovation MIC Slideshare.pdf
ACM CHT Best Inspection Practices Kinben Innovation MIC Slideshare.pdfACM CHT Best Inspection Practices Kinben Innovation MIC Slideshare.pdf
ACM CHT Best Inspection Practices Kinben Innovation MIC Slideshare.pdf
 
ServiceNow CIS-Discovery Exam Dumps 2024
ServiceNow CIS-Discovery Exam Dumps 2024ServiceNow CIS-Discovery Exam Dumps 2024
ServiceNow CIS-Discovery Exam Dumps 2024
 
Breathing in New Life_ Part 3 05 22 2024.pptx
Breathing in New Life_ Part 3 05 22 2024.pptxBreathing in New Life_ Part 3 05 22 2024.pptx
Breathing in New Life_ Part 3 05 22 2024.pptx
 
Oracle Database Administration I (1Z0-082) Exam Dumps 2024.pdf
Oracle Database Administration I (1Z0-082) Exam Dumps 2024.pdfOracle Database Administration I (1Z0-082) Exam Dumps 2024.pdf
Oracle Database Administration I (1Z0-082) Exam Dumps 2024.pdf
 
Microsoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdf
Microsoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdfMicrosoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.pdf
Microsoft Fabric Analytics Engineer (DP-600) Exam Dumps 2024.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