SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxRemote DBA Services
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMKumar Satyam
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Dernier (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 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

Notes de l'éditeur

  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