SlideShare a Scribd company logo
1 of 23
An ATDD Case Study
So what’s the problem?
Acceptance Criteria
Given I am a logged in user

When I go to the final checkout page

Then I should see the total cost of the order
broken down by product cost, tax, and shipping
charges
     And I should see the total cost of the order
The 3 Amigos
The 3 Amigos
     “…it’s like delivering a baby.”
Feature: Process an order
Given I am a logged in user
When I go to the final checkout page
Then I should see the total cost of the order broken down by product
cost, tax, and shipping charges
And I should see the total cost of the order

• Order total = total cost of products on the order + tax + shipping
  charges
• Tax:
    – Ohio = 7%
    – Michigan = 6.5%
    – Other states = 0%
• Shipping:
    – If total cost of products (before tax >= $25), shipping is free, otherwise
      $5
Definition of Done
The Board
“Before
                     ”




What happens when testing isn’t included in your
definition of done
“After
                      ”




What happens when testing IS included in your
definition of done
Who Writes the Tests
Co-location
“The Pod”
Open workspace
Continuous Integration
Reasonably Thorough
            Requirements
"Walking on water and developing software from a
specification are easy if both are frozen." ~ Edward V.
Berard
Project Management
•   Self-directed teams
•   Everyone is responsible
•   PMs lay out the roadmap
•   Shared risk with the business
•   Risk based testing
An Incremental Process
Why work incrementally towards
  continuous improvement?
We’re not there yet…
• Continuous improvement across teams
• Better involvement with business sponsors
• More visibility of continuous integration
  build
• 75% of test cases automated in 2012
Thanks!
• Paul Bahler
  – pbahler@igsenergy.com
  – @PaulBahler
• Kevin Chivington
  – kchivington@igsenergy.com
• Jon Kruger
  – jon@jonkruger.com
  – @JonKruger

More Related Content

Viewers also liked

The Business of You: 10 Steps To Run Your Career Like a Business
The Business of You: 10 Steps To Run Your Career Like a BusinessThe Business of You: 10 Steps To Run Your Career Like a Business
The Business of You: 10 Steps To Run Your Career Like a BusinessJon Kruger
 
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...Codemotion
 
Developing an Automated Testing Strategy
Developing an Automated Testing StrategyDeveloping an Automated Testing Strategy
Developing an Automated Testing StrategyJon Kruger
 
Solid Software Design Principles
Solid Software Design PrinciplesSolid Software Design Principles
Solid Software Design PrinciplesJon Kruger
 
Agile planning & estimating joshua partogi
Agile planning & estimating joshua partogiAgile planning & estimating joshua partogi
Agile planning & estimating joshua partogiSangcheol Hwang
 

Viewers also liked (6)

The Business of You: 10 Steps To Run Your Career Like a Business
The Business of You: 10 Steps To Run Your Career Like a BusinessThe Business of You: 10 Steps To Run Your Career Like a Business
The Business of You: 10 Steps To Run Your Career Like a Business
 
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
Real World AngularJS recipes: beyond TodoMVC - Carlo Bonamico, Sonia Pini - C...
 
Developing an Automated Testing Strategy
Developing an Automated Testing StrategyDeveloping an Automated Testing Strategy
Developing an Automated Testing Strategy
 
Cucumber & gherkin language
Cucumber & gherkin languageCucumber & gherkin language
Cucumber & gherkin language
 
Solid Software Design Principles
Solid Software Design PrinciplesSolid Software Design Principles
Solid Software Design Principles
 
Agile planning & estimating joshua partogi
Agile planning & estimating joshua partogiAgile planning & estimating joshua partogi
Agile planning & estimating joshua partogi
 

Similar to An ATDD Case Study

A Whole Team Approach To Testing
A Whole Team Approach To TestingA Whole Team Approach To Testing
A Whole Team Approach To TestingJon Kruger
 
Developing an Automated Testing Strategy
Developing an Automated Testing StrategyDeveloping an Automated Testing Strategy
Developing an Automated Testing StrategyJon Kruger
 
Fail and Win: Why a Failed Test Isn’t a Bad Thing
Fail and Win: Why a Failed Test Isn’t a Bad ThingFail and Win: Why a Failed Test Isn’t a Bad Thing
Fail and Win: Why a Failed Test Isn’t a Bad ThingOptimizely
 
How Truly Effective CRO Requires Great UX
How Truly Effective CRO Requires Great UXHow Truly Effective CRO Requires Great UX
How Truly Effective CRO Requires Great UXGiles Thomas
 
Anton Muzhailo - Practical Test Process Improvement using ISTQB
Anton Muzhailo - Practical Test Process Improvement using ISTQBAnton Muzhailo - Practical Test Process Improvement using ISTQB
Anton Muzhailo - Practical Test Process Improvement using ISTQBIevgenii Katsan
 
6 Guidelines for A/B Testing
6 Guidelines for A/B Testing6 Guidelines for A/B Testing
6 Guidelines for A/B TestingEmily Robinson
 
What is Kaizen
What is KaizenWhat is Kaizen
What is KaizenKira Greer
 
Building a Quality Software Shop
Building a Quality Software ShopBuilding a Quality Software Shop
Building a Quality Software ShopStephen Anderson
 
Iakiv Kramarenko: “Quality Driven Development”
Iakiv Kramarenko: “Quality Driven Development” Iakiv Kramarenko: “Quality Driven Development”
Iakiv Kramarenko: “Quality Driven Development” Dakiry
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Adrian Carr
 
Lean Thinking in Higher Education
Lean Thinking in Higher EducationLean Thinking in Higher Education
Lean Thinking in Higher EducationJMH Consulting
 
The Truth Behind Detecting Fraud Using Data Analytics
The Truth Behind Detecting Fraud Using Data AnalyticsThe Truth Behind Detecting Fraud Using Data Analytics
The Truth Behind Detecting Fraud Using Data AnalyticsJim Kaplan CIA CFE
 
It’s Good Let’s make it better 972003
It’s Good Let’s make it better 972003It’s Good Let’s make it better 972003
It’s Good Let’s make it better 972003Robert Bode
 
The Only Two Possible Outcomes of Analysis
The Only Two Possible Outcomes of AnalysisThe Only Two Possible Outcomes of Analysis
The Only Two Possible Outcomes of AnalysisTeacup Analytics
 
Informatics of Decision Making by Expedia Group PM
Informatics of Decision Making by Expedia Group PMInformatics of Decision Making by Expedia Group PM
Informatics of Decision Making by Expedia Group PMProduct School
 
Continuous Improvement Program Workshop
Continuous Improvement Program WorkshopContinuous Improvement Program Workshop
Continuous Improvement Program WorkshopBarcoding, Inc.
 
Quality Clinic - Lean Six Sigma Fundamentals Training - Sample
Quality Clinic - Lean Six Sigma Fundamentals Training - SampleQuality Clinic - Lean Six Sigma Fundamentals Training - Sample
Quality Clinic - Lean Six Sigma Fundamentals Training - SampleMark H. Davis
 
Delivery industry research
Delivery industry research Delivery industry research
Delivery industry research NataliNesterenko
 

Similar to An ATDD Case Study (20)

A Whole Team Approach To Testing
A Whole Team Approach To TestingA Whole Team Approach To Testing
A Whole Team Approach To Testing
 
Developing an Automated Testing Strategy
Developing an Automated Testing StrategyDeveloping an Automated Testing Strategy
Developing an Automated Testing Strategy
 
Behavior Driven Development
Behavior Driven DevelopmentBehavior Driven Development
Behavior Driven Development
 
Fail and Win: Why a Failed Test Isn’t a Bad Thing
Fail and Win: Why a Failed Test Isn’t a Bad ThingFail and Win: Why a Failed Test Isn’t a Bad Thing
Fail and Win: Why a Failed Test Isn’t a Bad Thing
 
How Truly Effective CRO Requires Great UX
How Truly Effective CRO Requires Great UXHow Truly Effective CRO Requires Great UX
How Truly Effective CRO Requires Great UX
 
Anton Muzhailo - Practical Test Process Improvement using ISTQB
Anton Muzhailo - Practical Test Process Improvement using ISTQBAnton Muzhailo - Practical Test Process Improvement using ISTQB
Anton Muzhailo - Practical Test Process Improvement using ISTQB
 
6 Guidelines for A/B Testing
6 Guidelines for A/B Testing6 Guidelines for A/B Testing
6 Guidelines for A/B Testing
 
What is Kaizen
What is KaizenWhat is Kaizen
What is Kaizen
 
Building a Quality Software Shop
Building a Quality Software ShopBuilding a Quality Software Shop
Building a Quality Software Shop
 
Iakiv Kramarenko: “Quality Driven Development”
Iakiv Kramarenko: “Quality Driven Development” Iakiv Kramarenko: “Quality Driven Development”
Iakiv Kramarenko: “Quality Driven Development”
 
Better Billing for Lawyers
Better Billing for LawyersBetter Billing for Lawyers
Better Billing for Lawyers
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009
 
Lean Thinking in Higher Education
Lean Thinking in Higher EducationLean Thinking in Higher Education
Lean Thinking in Higher Education
 
The Truth Behind Detecting Fraud Using Data Analytics
The Truth Behind Detecting Fraud Using Data AnalyticsThe Truth Behind Detecting Fraud Using Data Analytics
The Truth Behind Detecting Fraud Using Data Analytics
 
It’s Good Let’s make it better 972003
It’s Good Let’s make it better 972003It’s Good Let’s make it better 972003
It’s Good Let’s make it better 972003
 
The Only Two Possible Outcomes of Analysis
The Only Two Possible Outcomes of AnalysisThe Only Two Possible Outcomes of Analysis
The Only Two Possible Outcomes of Analysis
 
Informatics of Decision Making by Expedia Group PM
Informatics of Decision Making by Expedia Group PMInformatics of Decision Making by Expedia Group PM
Informatics of Decision Making by Expedia Group PM
 
Continuous Improvement Program Workshop
Continuous Improvement Program WorkshopContinuous Improvement Program Workshop
Continuous Improvement Program Workshop
 
Quality Clinic - Lean Six Sigma Fundamentals Training - Sample
Quality Clinic - Lean Six Sigma Fundamentals Training - SampleQuality Clinic - Lean Six Sigma Fundamentals Training - Sample
Quality Clinic - Lean Six Sigma Fundamentals Training - Sample
 
Delivery industry research
Delivery industry research Delivery industry research
Delivery industry research
 

Recently uploaded

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

An ATDD Case Study

  • 1. An ATDD Case Study
  • 2. So what’s the problem?
  • 3. Acceptance Criteria Given I am a logged in user When I go to the final checkout page Then I should see the total cost of the order broken down by product cost, tax, and shipping charges And I should see the total cost of the order
  • 5.
  • 6. The 3 Amigos “…it’s like delivering a baby.”
  • 7. Feature: Process an order Given I am a logged in user When I go to the final checkout page Then I should see the total cost of the order broken down by product cost, tax, and shipping charges And I should see the total cost of the order • Order total = total cost of products on the order + tax + shipping charges • Tax: – Ohio = 7% – Michigan = 6.5% – Other states = 0% • Shipping: – If total cost of products (before tax >= $25), shipping is free, otherwise $5
  • 10. “Before ” What happens when testing isn’t included in your definition of done
  • 11. “After ” What happens when testing IS included in your definition of done
  • 12. Who Writes the Tests
  • 17. Reasonably Thorough Requirements "Walking on water and developing software from a specification are easy if both are frozen." ~ Edward V. Berard
  • 18. Project Management • Self-directed teams • Everyone is responsible • PMs lay out the roadmap • Shared risk with the business • Risk based testing
  • 20. Why work incrementally towards continuous improvement?
  • 21. We’re not there yet… • Continuous improvement across teams • Better involvement with business sponsors • More visibility of continuous integration build • 75% of test cases automated in 2012
  • 22.
  • 23. Thanks! • Paul Bahler – pbahler@igsenergy.com – @PaulBahler • Kevin Chivington – kchivington@igsenergy.com • Jon Kruger – jon@jonkruger.com – @JonKruger

Editor's Notes

  1. Need to break down features enough so that you can discuss them at a granular levelRegardless of estimation method, this is a good time to right-size stories (estimating, re-estimating, or breaking down the story further)
  2. Need to break down features enough so that you can discuss them at a granular levelRegardless of estimation method, this is a good time to right-size stories (estimating, re-estimating, or breaking down the story further)
  3. An “on-going conversation” throughout the life of the user story / card.If BA finds something, developer and tester are informed.If Dev finds something, BA and QA are informed.If QA finds something, BA and Dev are informed.“Close the loop” and keep all domains aware of any changes / gaps / problems / decisions.
  4. “Insanity: doing the same thing over and over again and expecting different results.” ~Albert Einstein