SlideShare una empresa de Scribd logo
1 de 26
Lean code
What is Lean?
Lean software
development
Eliminate Waste
Focus on Value
Deliver Fast
Decide Late
Can code be lean?
Introducing
the customer
Fresco plc
Iteration 0
10 minutes to choose a pair, and set up your
dev environment

We are writing a command line tool: accept
stdin, write stdout.

If you need a quick environment in Ruby:

$ git clone git://github.com/chrismdp/checkout-kata.git
$ git checkout lean_code_start
$ bin/checkout
Iteration 1
10 minutes to write a simple checkout scanner
• Apples cost £1, Bananas cost £1.50, Cherries cost £0.75
• Accept each of these words one per line on stdin
• Print the cart total in pence on stdout each time.
• Questions?
Acceptance Test:

• Apples => 100
• Cherries => 175
• Cherries => 250
Iteration 2
10 minutes to add a discount:
• Same input and output as before
• Two lots of Cherries get 20p off.
Acceptance test:
• Apples => 100
• Cherries => 175
• Cherries => 230
Iteration 3
10 minutes to add CSV format:

• Now need to accept the values as comma seperated
• Same prices as Iteration 2
Acceptance test:
• Apples, Cherries, Bananas => 325
• Cherries, Cherries => 130
Iteration 3a
No! Urgent requirement from business! Deadline the same.

• Fresco suppliers notified delay of new API requiring CSV
• Now input back to one per line
• Cherries have now got 30p discount
• Bananas are now Buy One Get One Free
Acceptance test:
• Cherries => 75
• Cherries => 120
• Bananas => 270
• Bananas => 270
Iteration 4
10 minutes to support localisation:
• Fresco suppliers still behind on CSV change
• Cherries are now back to 20p discount
• Should also support the words “Pommes” and “Mele” for
apples.

Acceptance test:
• Cherries => 75
• Pommes => 175
• Cherries => 230
• Bananas => 380
• Bananas => 380
• Apples => 480
Iteration 5
10 minutes to support seperate discounts for different names:
• Be advised CSV change is coming next iteration
• 3 x Pommes is discounted to £2
• 2 x Mela is discounted to £1.50
Acceptance test:
• Mele => 100
• Pommes => 200
• Pommes => 300
• Apples => 400
• Pommes => 400
• Mele => 450
• Cherries => 525
• Cherries => 580
Iteration 5a
10 minutes to support seperate discounts for different names:
• NEW TILLS DEPLOYED YOUR CODE IS BROKEN!
• 3 x Pommes is discounted to £2
• 2 x Mela is discounted to £1
Acceptance test:
• Mele, Pommes, Pommes, Apples, Pommes, Mele, Cherries,
Cherries, Bananas => 680
Iteration 6
10 minutes to work around supplier bug and apply super-
discount:
• Supplier bug: support entry of both CR seperated and CSV
• 2 x Mele is discounted to £1.50
• Buy 4 apples and get another £1 off the bill.
• Buy 5 pieces of Fruit a get a further £2 off the bill.
Acceptance test:
• Mele, Pommes, Pommes, Mele => 250
• Bananas => 200
Acceptance test:
• Mele, Pommes, Pommes, Apples, Mele => 150
Conclusions
Eliminate Waste
Focus on Value
Deliver Fast
Decide Late
“The quality of your software is inversely
proportional to how often you have to say no
             to your customer.”

                         -- Uncle Bob Martin
git clone git://github.com/chrismdp/checkout-kata.git
git checkout lean_code

Más contenido relacionado

La actualidad más candente

How to SRE when you have no SRE
How to SRE when you have no SREHow to SRE when you have no SRE
How to SRE when you have no SRESquadcast Inc
 
Extreme Programming (XP)
Extreme Programming (XP)Extreme Programming (XP)
Extreme Programming (XP)dcsunu
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patternsFadi Stephan
 
MVVM in iOS presentation
MVVM in iOS presentationMVVM in iOS presentation
MVVM in iOS presentationG ABHISEK
 
Tips n' Tricks - Sprint Review
Tips n' Tricks - Sprint ReviewTips n' Tricks - Sprint Review
Tips n' Tricks - Sprint ReviewSteve Greene
 
Scrum Book Of Knowledge - Reading Notes, Part#1
Scrum Book Of Knowledge - Reading Notes, Part#1Scrum Book Of Knowledge - Reading Notes, Part#1
Scrum Book Of Knowledge - Reading Notes, Part#1COMPETENSIS
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To MicroservicesLalit Kale
 
Agile metrics what is... riga-version
Agile metrics   what is... riga-versionAgile metrics   what is... riga-version
Agile metrics what is... riga-versionAlex Birke
 
PowerShell and Azure DevOps
PowerShell and Azure DevOpsPowerShell and Azure DevOps
PowerShell and Azure DevOpsMatteo Emili
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Storieskahgeh75
 
story points v2
story points v2story points v2
story points v2Jane Yip
 
Introduction to story points
Introduction to story pointsIntroduction to story points
Introduction to story pointsAnil Kulkarni CSM
 
Lean Kanban Central Europe 2014: Beyond VSM: Understanding and Mapping Your P...
Lean Kanban Central Europe 2014: Beyond VSM: Understanding and Mapping Your P...Lean Kanban Central Europe 2014: Beyond VSM: Understanding and Mapping Your P...
Lean Kanban Central Europe 2014: Beyond VSM: Understanding and Mapping Your P...azheglov
 
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7NUS-ISS
 

La actualidad más candente (20)

How to SRE when you have no SRE
How to SRE when you have no SREHow to SRE when you have no SRE
How to SRE when you have no SRE
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Extreme Programming (XP)
Extreme Programming (XP)Extreme Programming (XP)
Extreme Programming (XP)
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 
The gordian knot
The gordian knotThe gordian knot
The gordian knot
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
User Story Smells & Anti-patterns
User Story Smells & Anti-patternsUser Story Smells & Anti-patterns
User Story Smells & Anti-patterns
 
MVVM in iOS presentation
MVVM in iOS presentationMVVM in iOS presentation
MVVM in iOS presentation
 
DSOMM
DSOMMDSOMM
DSOMM
 
Tips n' Tricks - Sprint Review
Tips n' Tricks - Sprint ReviewTips n' Tricks - Sprint Review
Tips n' Tricks - Sprint Review
 
Scrum Book Of Knowledge - Reading Notes, Part#1
Scrum Book Of Knowledge - Reading Notes, Part#1Scrum Book Of Knowledge - Reading Notes, Part#1
Scrum Book Of Knowledge - Reading Notes, Part#1
 
Introduction To Microservices
Introduction To MicroservicesIntroduction To Microservices
Introduction To Microservices
 
Agile metrics what is... riga-version
Agile metrics   what is... riga-versionAgile metrics   what is... riga-version
Agile metrics what is... riga-version
 
PowerShell and Azure DevOps
PowerShell and Azure DevOpsPowerShell and Azure DevOps
PowerShell and Azure DevOps
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
story points v2
story points v2story points v2
story points v2
 
Transactions redefined
Transactions redefinedTransactions redefined
Transactions redefined
 
Introduction to story points
Introduction to story pointsIntroduction to story points
Introduction to story points
 
Lean Kanban Central Europe 2014: Beyond VSM: Understanding and Mapping Your P...
Lean Kanban Central Europe 2014: Beyond VSM: Understanding and Mapping Your P...Lean Kanban Central Europe 2014: Beyond VSM: Understanding and Mapping Your P...
Lean Kanban Central Europe 2014: Beyond VSM: Understanding and Mapping Your P...
 
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7Site Reliability Engineer (SRE), We Keep The Lights On 24/7
Site Reliability Engineer (SRE), We Keep The Lights On 24/7
 

Similar a Lean code

Lean code kata en PHPMad
Lean code kata  en PHPMadLean code kata  en PHPMad
Lean code kata en PHPMadCodium
 
New e-Discovery Reference Model Pricing
New e-Discovery Reference Model PricingNew e-Discovery Reference Model Pricing
New e-Discovery Reference Model PricingRon Romero
 
Kristin’s Cookie Company Production process and analysis case study
Kristin’s Cookie Company Production process and analysis case studyKristin’s Cookie Company Production process and analysis case study
Kristin’s Cookie Company Production process and analysis case studyArfan Afzal
 
Project six sigma
Project  six sigmaProject  six sigma
Project six sigmaUrooj Iqbal
 
Six sigma on burning brownie
Six sigma on burning brownieSix sigma on burning brownie
Six sigma on burning brownieYamna Rashid
 
7 email marketing programs to automate silverpop dma14
7 email marketing programs to automate silverpop dma147 email marketing programs to automate silverpop dma14
7 email marketing programs to automate silverpop dma14Silverpop
 
Cmt pos solution presentation
Cmt pos solution presentationCmt pos solution presentation
Cmt pos solution presentationCMT SOLUTION
 
Lean Supply Chain Management--by JULIAN KALAC
Lean Supply Chain Management--by JULIAN KALACLean Supply Chain Management--by JULIAN KALAC
Lean Supply Chain Management--by JULIAN KALACJulian Kalac P.Eng
 
App Store Subscriptions - Condensed Edition
App Store Subscriptions - Condensed EditionApp Store Subscriptions - Condensed Edition
App Store Subscriptions - Condensed EditionMark Pavlidis
 

Similar a Lean code (15)

Lean code en
Lean code   enLean code   en
Lean code en
 
Lean code kata en PHPMad
Lean code kata  en PHPMadLean code kata  en PHPMad
Lean code kata en PHPMad
 
C2 c finalpresentation
C2 c finalpresentationC2 c finalpresentation
C2 c finalpresentation
 
New e-Discovery Reference Model Pricing
New e-Discovery Reference Model PricingNew e-Discovery Reference Model Pricing
New e-Discovery Reference Model Pricing
 
Kristin’s Cookie Company Production process and analysis case study
Kristin’s Cookie Company Production process and analysis case studyKristin’s Cookie Company Production process and analysis case study
Kristin’s Cookie Company Production process and analysis case study
 
Project six sigma
Project  six sigmaProject  six sigma
Project six sigma
 
Six sigma on burning brownie
Six sigma on burning brownieSix sigma on burning brownie
Six sigma on burning brownie
 
Proposal Presentation
Proposal PresentationProposal Presentation
Proposal Presentation
 
7 email marketing programs to automate silverpop dma14
7 email marketing programs to automate silverpop dma147 email marketing programs to automate silverpop dma14
7 email marketing programs to automate silverpop dma14
 
Pricing strategies 2017 nz
Pricing strategies 2017 nzPricing strategies 2017 nz
Pricing strategies 2017 nz
 
Hidden Grounds Proposal
Hidden Grounds ProposalHidden Grounds Proposal
Hidden Grounds Proposal
 
Cmt pos solution presentation
Cmt pos solution presentationCmt pos solution presentation
Cmt pos solution presentation
 
Lean Supply Chain Management--by JULIAN KALAC
Lean Supply Chain Management--by JULIAN KALACLean Supply Chain Management--by JULIAN KALAC
Lean Supply Chain Management--by JULIAN KALAC
 
App Store Subscriptions - Condensed Edition
App Store Subscriptions - Condensed EditionApp Store Subscriptions - Condensed Edition
App Store Subscriptions - Condensed Edition
 
Apriori algorithm
Apriori algorithmApriori algorithm
Apriori algorithm
 

Último

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
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
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
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
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
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
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
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 

Último (20)

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
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
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 ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
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
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
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
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
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
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

Lean code

  • 8. Can code be lean?
  • 11. Iteration 0 10 minutes to choose a pair, and set up your dev environment We are writing a command line tool: accept stdin, write stdout. If you need a quick environment in Ruby: $ git clone git://github.com/chrismdp/checkout-kata.git $ git checkout lean_code_start $ bin/checkout
  • 12. Iteration 1 10 minutes to write a simple checkout scanner • Apples cost £1, Bananas cost £1.50, Cherries cost £0.75 • Accept each of these words one per line on stdin • Print the cart total in pence on stdout each time. • Questions? Acceptance Test: • Apples => 100 • Cherries => 175 • Cherries => 250
  • 13. Iteration 2 10 minutes to add a discount: • Same input and output as before • Two lots of Cherries get 20p off. Acceptance test: • Apples => 100 • Cherries => 175 • Cherries => 230
  • 14. Iteration 3 10 minutes to add CSV format: • Now need to accept the values as comma seperated • Same prices as Iteration 2 Acceptance test: • Apples, Cherries, Bananas => 325 • Cherries, Cherries => 130
  • 15. Iteration 3a No! Urgent requirement from business! Deadline the same. • Fresco suppliers notified delay of new API requiring CSV • Now input back to one per line • Cherries have now got 30p discount • Bananas are now Buy One Get One Free Acceptance test: • Cherries => 75 • Cherries => 120 • Bananas => 270 • Bananas => 270
  • 16. Iteration 4 10 minutes to support localisation: • Fresco suppliers still behind on CSV change • Cherries are now back to 20p discount • Should also support the words “Pommes” and “Mele” for apples. Acceptance test: • Cherries => 75 • Pommes => 175 • Cherries => 230 • Bananas => 380 • Bananas => 380 • Apples => 480
  • 17. Iteration 5 10 minutes to support seperate discounts for different names: • Be advised CSV change is coming next iteration • 3 x Pommes is discounted to £2 • 2 x Mela is discounted to £1.50 Acceptance test: • Mele => 100 • Pommes => 200 • Pommes => 300 • Apples => 400 • Pommes => 400 • Mele => 450 • Cherries => 525 • Cherries => 580
  • 18. Iteration 5a 10 minutes to support seperate discounts for different names: • NEW TILLS DEPLOYED YOUR CODE IS BROKEN! • 3 x Pommes is discounted to £2 • 2 x Mela is discounted to £1 Acceptance test: • Mele, Pommes, Pommes, Apples, Pommes, Mele, Cherries, Cherries, Bananas => 680
  • 19. Iteration 6 10 minutes to work around supplier bug and apply super- discount: • Supplier bug: support entry of both CR seperated and CSV • 2 x Mele is discounted to £1.50 • Buy 4 apples and get another £1 off the bill. • Buy 5 pieces of Fruit a get a further £2 off the bill. Acceptance test: • Mele, Pommes, Pommes, Mele => 250 • Bananas => 200 Acceptance test: • Mele, Pommes, Pommes, Apples, Mele => 150
  • 25. “The quality of your software is inversely proportional to how often you have to say no to your customer.” -- Uncle Bob Martin