SlideShare a Scribd company logo
1 of 7
Ping Pong Programming
Game Play
•   Player A serves by writing a test.

•   If the test passes, Player 1 faults and the serve goes to Player B.

•   If the test fails, Player B returns by implementing the code to
    make the test pass.

•   If refactoring is needed, Player A must perform the refactoring,
    taking the point.

•   If no refactoring is needed, Player B takes the point and Player
    A re-serves.
Red Green Refactor
   Serves

  Player 1               Player 2


      Write Test


              Implement Code


      Refactor
Red Green (no Refactor)
     Serves

     Player 1               Player 2


         Write Test


                 Implement Code
Green (no Red or Refactor)
      Serves

      Player 1         Player 2




          Write Test
Goals

• Maintains Developer Focus
• Learning Atmosphere
• Quick Fail & Refactor
• Fully Tested Code
Simple Task Manager

• Add Tasks
• Complete Tasks
• Assign priority
• Order by priority

More Related Content

What's hot

Qtp training session I
Qtp training session IQtp training session I
Qtp training session I
Aisha Mazhar
 
Software Development Team by Syed Hashir Ahmed
Software Development Team by Syed Hashir AhmedSoftware Development Team by Syed Hashir Ahmed
Software Development Team by Syed Hashir Ahmed
syed Ahmed
 
Testing & continuous delivery
Testing & continuous deliveryTesting & continuous delivery
Testing & continuous delivery
Nelson Melina
 

What's hot (20)

Scrum An: Agile Methodologies in Software Engineering
Scrum An: Agile Methodologies in Software EngineeringScrum An: Agile Methodologies in Software Engineering
Scrum An: Agile Methodologies in Software Engineering
 
Testing: Heaven or Hell
Testing: Heaven or HellTesting: Heaven or Hell
Testing: Heaven or Hell
 
Python Programming | JNTUA | UNIT 2 | Fruitful Functions |
Python Programming | JNTUA | UNIT 2 | Fruitful Functions | Python Programming | JNTUA | UNIT 2 | Fruitful Functions |
Python Programming | JNTUA | UNIT 2 | Fruitful Functions |
 
Promoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - PaperPromoting Agility with Running Tested Features - Paper
Promoting Agility with Running Tested Features - Paper
 
Agile testing
Agile testingAgile testing
Agile testing
 
Testing Best Practices
Testing Best PracticesTesting Best Practices
Testing Best Practices
 
Craftsmanship Workshop: Coding Kata
Craftsmanship Workshop: Coding KataCraftsmanship Workshop: Coding Kata
Craftsmanship Workshop: Coding Kata
 
Testing challenges in a continuous delivery world
Testing challenges in a continuous delivery worldTesting challenges in a continuous delivery world
Testing challenges in a continuous delivery world
 
Scrum
ScrumScrum
Scrum
 
The Agile Buffet table
The Agile Buffet tableThe Agile Buffet table
The Agile Buffet table
 
Agile scrum foundation tutorial.pptx
Agile scrum foundation tutorial.pptxAgile scrum foundation tutorial.pptx
Agile scrum foundation tutorial.pptx
 
Qtp training session I
Qtp training session IQtp training session I
Qtp training session I
 
Software Development Team by Syed Hashir Ahmed
Software Development Team by Syed Hashir AhmedSoftware Development Team by Syed Hashir Ahmed
Software Development Team by Syed Hashir Ahmed
 
Continuous Integrations & Deployments
Continuous Integrations & DeploymentsContinuous Integrations & Deployments
Continuous Integrations & Deployments
 
Sustainable agile testing
Sustainable agile testingSustainable agile testing
Sustainable agile testing
 
Git - A soft introduction
Git - A soft introductionGit - A soft introduction
Git - A soft introduction
 
Project management frameworks for software developing
Project management frameworks for software developingProject management frameworks for software developing
Project management frameworks for software developing
 
Testing & continuous delivery
Testing & continuous deliveryTesting & continuous delivery
Testing & continuous delivery
 
Resource1 spm
Resource1 spmResource1 spm
Resource1 spm
 
Testing & Scrum
Testing & ScrumTesting & Scrum
Testing & Scrum
 

Recently uploaded

Recently uploaded (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Ping-Pong Programming

  • 2. Game Play • Player A serves by writing a test. • If the test passes, Player 1 faults and the serve goes to Player B. • If the test fails, Player B returns by implementing the code to make the test pass. • If refactoring is needed, Player A must perform the refactoring, taking the point. • If no refactoring is needed, Player B takes the point and Player A re-serves.
  • 3. Red Green Refactor Serves Player 1 Player 2 Write Test Implement Code Refactor
  • 4. Red Green (no Refactor) Serves Player 1 Player 2 Write Test Implement Code
  • 5. Green (no Red or Refactor) Serves Player 1 Player 2 Write Test
  • 6. Goals • Maintains Developer Focus • Learning Atmosphere • Quick Fail & Refactor • Fully Tested Code
  • 7. Simple Task Manager • Add Tasks • Complete Tasks • Assign priority • Order by priority

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n