SlideShare uma empresa Scribd logo
1 de 24
Pair Programming


  Andy Gray and Paul Flewelling
Who are we?

‣ We're from Boost New Media
‣ We use Scrum




                        Andy Gray & Paul Flewelling |
Why are we here?

‣ We’ve started to use Pair Programming more
 and more.
‣ We want to share some of our experiences.




                         Andy Gray & Paul Flewelling |
What’s your experience?
5 = I think pair programming is great,
and would encourage my team to use it
4 = I’ve heard about pair programming
and am keen give it a try
3 = I don’t know very much about pair
programming
2 = I’m not convinced pair
programming adds value
1 = I’ve tried pair programming and
wouldn’t use it again
                      Andy Gray & Paul Flewelling |
What is Pair Programming?

‣ Two developers working together on one
  problem, on one computer

‣ One acts as the driver

‣ The other as the co-driver




                           Andy Gray & Paul Flewelling |
What is Pair Programming?

‣ The keyboard / roles are exchanged
  regularly
‣ Pairs change often
  ‣ each story
  ‣ each day




                        Andy Gray & Paul Flewelling |
What is Pair Programming?

‣ It’s biggest proponent is Extreme
    Programming.
    ‣     XP Coding Rule: All production code is
          pair programmed
‣       We don’t pair program everything




                              Andy Gray & Paul Flewelling |
What is Pair Programming?
It works well with other Agile Methodologies
like Scrum because:
‣   Teams are self organising
‣   Teams have collective ownership
‣   Scrum is an empirical process which allows
    teams to experiment




                         Andy Gray & Paul Flewelling |
What is Pair Programming?

It is problem solving which is
‣   Co-operative
‣   Social




                       Andy Gray & Paul Flewelling |
Setting the scene...




                Andy Gray & Paul Flewelling |
Barriers to Pair Programming
It isn’t for every team, members must be
‣   sociable
‣   be able to talk about what they’re doing
‣   prepared to co-operate
‣   able to accept collective ownership




                           Andy Gray & Paul Flewelling |
Barriers

Pair Programming for sustained periods can
be exhausting




                         Andy Gray & Paul Flewelling |
Barriers

Can be hard for management to accept
‣ Aren’t two developers working on one
  problem half as productive?




                         Andy Gray & Paul Flewelling |
Benefits of Pair Programming

Counter-intuitively, productivity isn’t halved
‣ Two heads are better than one at solving
  problems and spotting mistakes
‣ Pairs stay focused for longer
‣ Our velocity has stayed consistent, but with
  less re-work




                           Andy Gray & Paul Flewelling |
Benefits

Pairs produce higher quality code with
‣ fewer defects
‣ better design decisions




                            Andy Gray & Paul Flewelling |
“The benefits of getting a product out
faster, reducing maintenance expenses,
and improving customer satisfaction
with product quality outweigh the
minimal programmer hour increase
that was seen.”

             Strengthening the Case for Pair-Programming
                                        Laurie Williams et al




                          Andy Gray & Paul Flewelling |
Benefits
Pairs encourage each other to follow good
agile practices such as
‣ Test Driven Development
‣ Code Refactoring
‣ Collective Ownership




                         Andy Gray & Paul Flewelling |
Benefits
‣ Pairing encourages a sense of team
‣ The sense of vulnerability diminishes
 as the team becomes stronger, the
 team will tackle any task
‣ The team becomes increasingly
 cross-functional



                      Andy Gray & Paul Flewelling |
Benefits
‣ Pairs working together
  ‣ focus each other
  ‣ peer review each other
  ‣ boost courage to tackle problems
  ‣ share knowledge
  ‣ learn from each other




                        Andy Gray & Paul Flewelling |
Benefits
Pairing makes it easier to add
developers to a project.




                       Andy Gray & Paul Flewelling |
Summary

‣ Simple discipline of two developers
 working together on one machine
‣ Requires developers to be sociable
 and co-operative
‣ There are some barriers to it’s uptake




                      Andy Gray & Paul Flewelling |
Summary
The pros far outweigh the cons:
‣ High-level of focus
‣ Higher quality
‣ Knowledge sharing
‣ Higher team confidence




                        Andy Gray & Paul Flewelling |
Any Questions?




                 Andy Gray & Paul Flewelling |
References

Strengthening the Case for Pair Programming
Laurie Williams, Robert R. Kessler, Ward Cunningham, Ron Jeffries




                                                        Andy Gray & Paul Flewelling |

Mais conteúdo relacionado

Mais procurados

YGLF - SOLID Teamwork - A Word About Effective Cooperation
YGLF - SOLID Teamwork - A Word About Effective CooperationYGLF - SOLID Teamwork - A Word About Effective Cooperation
YGLF - SOLID Teamwork - A Word About Effective CooperationKamil Ejsymont
 
Agile Principles, Agile People
Agile Principles, Agile PeopleAgile Principles, Agile People
Agile Principles, Agile PeopleGaetano Mazzanti
 
Why agile testing isn't working
Why agile testing isn't workingWhy agile testing isn't working
Why agile testing isn't workingXebia Nederland BV
 
Key Success Factors for Agile Testing 2016
Key Success Factors for Agile Testing 2016Key Success Factors for Agile Testing 2016
Key Success Factors for Agile Testing 2016Janet Gregory
 
Why Limit WIP?
Why Limit WIP?  Why Limit WIP?
Why Limit WIP? LeanKit
 
Beyond WIP Limits (Lean Kanban Tour Edition)
Beyond WIP Limits (Lean Kanban Tour Edition)Beyond WIP Limits (Lean Kanban Tour Edition)
Beyond WIP Limits (Lean Kanban Tour Edition)Pawel Brodzinski
 
Adjusting Google Design Sprint for VR
Adjusting Google Design Sprint for VR Adjusting Google Design Sprint for VR
Adjusting Google Design Sprint for VR Kari Peltola
 
The Three Things
The Three ThingsThe Three Things
The Three ThingsAgileDenver
 
Jan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wantsJan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wantsAgile Lietuva
 
Cloud foundry, Lessons Learned at The Home Depot
Cloud foundry, Lessons Learned at The Home Depot Cloud foundry, Lessons Learned at The Home Depot
Cloud foundry, Lessons Learned at The Home Depot James Watters
 
Getting to Better Problems (AgileShift conference)
Getting to Better Problems (AgileShift conference)Getting to Better Problems (AgileShift conference)
Getting to Better Problems (AgileShift conference)Allison Pollard
 
Lean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps MindsetLean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps MindsetFadi Stephan
 
From 0 to 1000 Apps: The First Year of Cloud Foundry at the Home Depot
From 0 to 1000 Apps: The First Year of Cloud Foundry at the Home DepotFrom 0 to 1000 Apps: The First Year of Cloud Foundry at the Home Depot
From 0 to 1000 Apps: The First Year of Cloud Foundry at the Home DepotVMware Tanzu
 
Adopting the Scaled Agile Framework: The Theory and the Practice - Dallas ALN...
Adopting the Scaled Agile Framework: The Theory and the Practice - Dallas ALN...Adopting the Scaled Agile Framework: The Theory and the Practice - Dallas ALN...
Adopting the Scaled Agile Framework: The Theory and the Practice - Dallas ALN...Em Campbell-Pretty
 
Lean/Agile/DevOps 2016 part 1
Lean/Agile/DevOps 2016  part 1Lean/Agile/DevOps 2016  part 1
Lean/Agile/DevOps 2016 part 1Diego Pacheco
 
Titas Lapinskas - Technical Team Leader in Agile
Titas Lapinskas - Technical Team Leader in AgileTitas Lapinskas - Technical Team Leader in Agile
Titas Lapinskas - Technical Team Leader in AgileAgile Lietuva
 
Home Depot - From Platform Ops to Dev Enablement
Home Depot - From Platform Ops to Dev EnablementHome Depot - From Platform Ops to Dev Enablement
Home Depot - From Platform Ops to Dev EnablementAnthony McCulley
 

Mais procurados (20)

YGLF - SOLID Teamwork - A Word About Effective Cooperation
YGLF - SOLID Teamwork - A Word About Effective CooperationYGLF - SOLID Teamwork - A Word About Effective Cooperation
YGLF - SOLID Teamwork - A Word About Effective Cooperation
 
Agile Principles, Agile People
Agile Principles, Agile PeopleAgile Principles, Agile People
Agile Principles, Agile People
 
Why agile testing isn't working
Why agile testing isn't workingWhy agile testing isn't working
Why agile testing isn't working
 
What is Agile?
What is Agile?What is Agile?
What is Agile?
 
Succeed with Scrum - Part 1
Succeed with Scrum - Part 1Succeed with Scrum - Part 1
Succeed with Scrum - Part 1
 
Key Success Factors for Agile Testing 2016
Key Success Factors for Agile Testing 2016Key Success Factors for Agile Testing 2016
Key Success Factors for Agile Testing 2016
 
Why Limit WIP?
Why Limit WIP?  Why Limit WIP?
Why Limit WIP?
 
Beyond WIP Limits (Lean Kanban Tour Edition)
Beyond WIP Limits (Lean Kanban Tour Edition)Beyond WIP Limits (Lean Kanban Tour Edition)
Beyond WIP Limits (Lean Kanban Tour Edition)
 
Adjusting Google Design Sprint for VR
Adjusting Google Design Sprint for VR Adjusting Google Design Sprint for VR
Adjusting Google Design Sprint for VR
 
The Three Things
The Three ThingsThe Three Things
The Three Things
 
Jan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wantsJan de Vries - How to convince your boss that it is DevOps that he wants
Jan de Vries - How to convince your boss that it is DevOps that he wants
 
Cloud foundry, Lessons Learned at The Home Depot
Cloud foundry, Lessons Learned at The Home Depot Cloud foundry, Lessons Learned at The Home Depot
Cloud foundry, Lessons Learned at The Home Depot
 
Getting to Better Problems (AgileShift conference)
Getting to Better Problems (AgileShift conference)Getting to Better Problems (AgileShift conference)
Getting to Better Problems (AgileShift conference)
 
Lean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps MindsetLean Discovery, Agile Delivery & the DevOps Mindset
Lean Discovery, Agile Delivery & the DevOps Mindset
 
From 0 to 1000 Apps: The First Year of Cloud Foundry at the Home Depot
From 0 to 1000 Apps: The First Year of Cloud Foundry at the Home DepotFrom 0 to 1000 Apps: The First Year of Cloud Foundry at the Home Depot
From 0 to 1000 Apps: The First Year of Cloud Foundry at the Home Depot
 
Adopting the Scaled Agile Framework: The Theory and the Practice - Dallas ALN...
Adopting the Scaled Agile Framework: The Theory and the Practice - Dallas ALN...Adopting the Scaled Agile Framework: The Theory and the Practice - Dallas ALN...
Adopting the Scaled Agile Framework: The Theory and the Practice - Dallas ALN...
 
Lean/Agile/DevOps 2016 part 1
Lean/Agile/DevOps 2016  part 1Lean/Agile/DevOps 2016  part 1
Lean/Agile/DevOps 2016 part 1
 
Titas Lapinskas - Technical Team Leader in Agile
Titas Lapinskas - Technical Team Leader in AgileTitas Lapinskas - Technical Team Leader in Agile
Titas Lapinskas - Technical Team Leader in Agile
 
Efficient or Just Busy?
Efficient or Just Busy?Efficient or Just Busy?
Efficient or Just Busy?
 
Home Depot - From Platform Ops to Dev Enablement
Home Depot - From Platform Ops to Dev EnablementHome Depot - From Platform Ops to Dev Enablement
Home Depot - From Platform Ops to Dev Enablement
 

Destaque

The changing views of women in main stream
The changing views of women in main streamThe changing views of women in main stream
The changing views of women in main streamAli Malik Al-Azzawi
 
Creativitat edutic part 1 slideshare
Creativitat edutic part 1 slideshareCreativitat edutic part 1 slideshare
Creativitat edutic part 1 slidesharepresentablees
 
วิธีการลอกภาพ
วิธีการลอกภาพวิธีการลอกภาพ
วิธีการลอกภาพpongwijit
 
Creativitat edutic part 2 slideshare
Creativitat edutic part 2 slideshareCreativitat edutic part 2 slideshare
Creativitat edutic part 2 slidesharepresentablees
 
Екипът на Cashbox кредити
Екипът на Cashbox кредитиЕкипът на Cashbox кредити
Екипът на Cashbox кредитиCashbox
 

Destaque (8)

The changing views of women in main stream
The changing views of women in main streamThe changing views of women in main stream
The changing views of women in main stream
 
Creativitat edutic part 1 slideshare
Creativitat edutic part 1 slideshareCreativitat edutic part 1 slideshare
Creativitat edutic part 1 slideshare
 
Pechacucha
PechacuchaPechacucha
Pechacucha
 
วิธีการลอกภาพ
วิธีการลอกภาพวิธีการลอกภาพ
วิธีการลอกภาพ
 
Creativitat edutic part 2 slideshare
Creativitat edutic part 2 slideshareCreativitat edutic part 2 slideshare
Creativitat edutic part 2 slideshare
 
Touchscreen driver
Touchscreen driverTouchscreen driver
Touchscreen driver
 
Екипът на Cashbox кредити
Екипът на Cashbox кредитиЕкипът на Cashbox кредити
Екипът на Cashbox кредити
 
Minus one
Minus oneMinus one
Minus one
 

Semelhante a Pair programming

Maximising teamwork in delivering software products
Maximising teamwork in delivering software productsMaximising teamwork in delivering software products
Maximising teamwork in delivering software productsRyan Dawson
 
Evaluating Collaboration Tools for Your Small Business
Evaluating Collaboration Tools for Your Small BusinessEvaluating Collaboration Tools for Your Small Business
Evaluating Collaboration Tools for Your Small BusinessSamepage
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile FundamentalsGraham Dick
 
Balancing the tension between Lean and Agile
Balancing the tension between Lean and AgileBalancing the tension between Lean and Agile
Balancing the tension between Lean and AgileJames Coplien
 
Empowering Agile Teams
Empowering Agile TeamsEmpowering Agile Teams
Empowering Agile TeamsAgileDad
 
Agile2019 Conference Top 10 Takeaways
Agile2019 Conference Top 10 TakeawaysAgile2019 Conference Top 10 Takeaways
Agile2019 Conference Top 10 TakeawaysSynerzip
 
Scrum Gathering Cape Town - Lean vs Scrum 2013 - Pavel Dabrytski
Scrum Gathering Cape Town - Lean vs Scrum 2013 - Pavel DabrytskiScrum Gathering Cape Town - Lean vs Scrum 2013 - Pavel Dabrytski
Scrum Gathering Cape Town - Lean vs Scrum 2013 - Pavel DabrytskiIQ Business - agility@IQ
 
Post agile confessions
Post agile confessionsPost agile confessions
Post agile confessionsStojan Peshov
 
Pair Programming - a pratical guide
Pair Programming - a pratical guidePair Programming - a pratical guide
Pair Programming - a pratical guideGiuseppe Sorrentino
 
Product Development using Agile Teams: What? Why? How?
Product Development using Agile Teams: What? Why? How?Product Development using Agile Teams: What? Why? How?
Product Development using Agile Teams: What? Why? How?Brad J. Neiman, MS, CSPO, CSM
 
Professional Graduation Project
Professional Graduation ProjectProfessional Graduation Project
Professional Graduation ProjectPiTechnologies
 
Agile Development
Agile DevelopmentAgile Development
Agile Developmentabdpse
 
Agile Auckland agile 101 back to basics
Agile Auckland   agile 101 back to basicsAgile Auckland   agile 101 back to basics
Agile Auckland agile 101 back to basicsEdwin Dando
 
Website optimization through quality experimentation (2)
Website optimization through quality experimentation (2)Website optimization through quality experimentation (2)
Website optimization through quality experimentation (2)wcto2017
 
Agile the Squads Way
Agile the Squads WayAgile the Squads Way
Agile the Squads WayDaan Assen
 
Remote Teams: 5 Things I am Doing Wrong and Maybe You Should Too.
Remote Teams: 5 Things I am Doing Wrong and Maybe You Should Too.Remote Teams: 5 Things I am Doing Wrong and Maybe You Should Too.
Remote Teams: 5 Things I am Doing Wrong and Maybe You Should Too.Ted Tencza
 
GAC - Agile and Scrum Training
GAC - Agile and Scrum TrainingGAC - Agile and Scrum Training
GAC - Agile and Scrum TrainingRasmus Runberg
 
Agile product development
Agile product developmentAgile product development
Agile product developmentBrenn Hill
 
Bryan Berger on Distraction Free Design Sprints at Design Driven NYC
Bryan Berger on Distraction Free Design Sprints at Design Driven NYCBryan Berger on Distraction Free Design Sprints at Design Driven NYC
Bryan Berger on Distraction Free Design Sprints at Design Driven NYCBryan Berger
 

Semelhante a Pair programming (20)

Maximising teamwork in delivering software products
Maximising teamwork in delivering software productsMaximising teamwork in delivering software products
Maximising teamwork in delivering software products
 
Evaluating Collaboration Tools for Your Small Business
Evaluating Collaboration Tools for Your Small BusinessEvaluating Collaboration Tools for Your Small Business
Evaluating Collaboration Tools for Your Small Business
 
Lean vs scrum
Lean vs scrumLean vs scrum
Lean vs scrum
 
Agile Fundamentals
Agile FundamentalsAgile Fundamentals
Agile Fundamentals
 
Balancing the tension between Lean and Agile
Balancing the tension between Lean and AgileBalancing the tension between Lean and Agile
Balancing the tension between Lean and Agile
 
Empowering Agile Teams
Empowering Agile TeamsEmpowering Agile Teams
Empowering Agile Teams
 
Agile2019 Conference Top 10 Takeaways
Agile2019 Conference Top 10 TakeawaysAgile2019 Conference Top 10 Takeaways
Agile2019 Conference Top 10 Takeaways
 
Scrum Gathering Cape Town - Lean vs Scrum 2013 - Pavel Dabrytski
Scrum Gathering Cape Town - Lean vs Scrum 2013 - Pavel DabrytskiScrum Gathering Cape Town - Lean vs Scrum 2013 - Pavel Dabrytski
Scrum Gathering Cape Town - Lean vs Scrum 2013 - Pavel Dabrytski
 
Post agile confessions
Post agile confessionsPost agile confessions
Post agile confessions
 
Pair Programming - a pratical guide
Pair Programming - a pratical guidePair Programming - a pratical guide
Pair Programming - a pratical guide
 
Product Development using Agile Teams: What? Why? How?
Product Development using Agile Teams: What? Why? How?Product Development using Agile Teams: What? Why? How?
Product Development using Agile Teams: What? Why? How?
 
Professional Graduation Project
Professional Graduation ProjectProfessional Graduation Project
Professional Graduation Project
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Agile Auckland agile 101 back to basics
Agile Auckland   agile 101 back to basicsAgile Auckland   agile 101 back to basics
Agile Auckland agile 101 back to basics
 
Website optimization through quality experimentation (2)
Website optimization through quality experimentation (2)Website optimization through quality experimentation (2)
Website optimization through quality experimentation (2)
 
Agile the Squads Way
Agile the Squads WayAgile the Squads Way
Agile the Squads Way
 
Remote Teams: 5 Things I am Doing Wrong and Maybe You Should Too.
Remote Teams: 5 Things I am Doing Wrong and Maybe You Should Too.Remote Teams: 5 Things I am Doing Wrong and Maybe You Should Too.
Remote Teams: 5 Things I am Doing Wrong and Maybe You Should Too.
 
GAC - Agile and Scrum Training
GAC - Agile and Scrum TrainingGAC - Agile and Scrum Training
GAC - Agile and Scrum Training
 
Agile product development
Agile product developmentAgile product development
Agile product development
 
Bryan Berger on Distraction Free Design Sprints at Design Driven NYC
Bryan Berger on Distraction Free Design Sprints at Design Driven NYCBryan Berger on Distraction Free Design Sprints at Design Driven NYC
Bryan Berger on Distraction Free Design Sprints at Design Driven NYC
 

Último

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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 Scriptwesley chun
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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...DianaGray10
 
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...Miguel Araújo
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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 2024The Digital Insurer
 

Último (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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...
 
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...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 

Pair programming

  • 1. Pair Programming Andy Gray and Paul Flewelling
  • 2. Who are we? ‣ We're from Boost New Media ‣ We use Scrum Andy Gray & Paul Flewelling |
  • 3. Why are we here? ‣ We’ve started to use Pair Programming more and more. ‣ We want to share some of our experiences. Andy Gray & Paul Flewelling |
  • 4. What’s your experience? 5 = I think pair programming is great, and would encourage my team to use it 4 = I’ve heard about pair programming and am keen give it a try 3 = I don’t know very much about pair programming 2 = I’m not convinced pair programming adds value 1 = I’ve tried pair programming and wouldn’t use it again Andy Gray & Paul Flewelling |
  • 5. What is Pair Programming? ‣ Two developers working together on one problem, on one computer ‣ One acts as the driver ‣ The other as the co-driver Andy Gray & Paul Flewelling |
  • 6. What is Pair Programming? ‣ The keyboard / roles are exchanged regularly ‣ Pairs change often ‣ each story ‣ each day Andy Gray & Paul Flewelling |
  • 7. What is Pair Programming? ‣ It’s biggest proponent is Extreme Programming. ‣ XP Coding Rule: All production code is pair programmed ‣ We don’t pair program everything Andy Gray & Paul Flewelling |
  • 8. What is Pair Programming? It works well with other Agile Methodologies like Scrum because: ‣ Teams are self organising ‣ Teams have collective ownership ‣ Scrum is an empirical process which allows teams to experiment Andy Gray & Paul Flewelling |
  • 9. What is Pair Programming? It is problem solving which is ‣ Co-operative ‣ Social Andy Gray & Paul Flewelling |
  • 10. Setting the scene... Andy Gray & Paul Flewelling |
  • 11. Barriers to Pair Programming It isn’t for every team, members must be ‣ sociable ‣ be able to talk about what they’re doing ‣ prepared to co-operate ‣ able to accept collective ownership Andy Gray & Paul Flewelling |
  • 12. Barriers Pair Programming for sustained periods can be exhausting Andy Gray & Paul Flewelling |
  • 13. Barriers Can be hard for management to accept ‣ Aren’t two developers working on one problem half as productive? Andy Gray & Paul Flewelling |
  • 14. Benefits of Pair Programming Counter-intuitively, productivity isn’t halved ‣ Two heads are better than one at solving problems and spotting mistakes ‣ Pairs stay focused for longer ‣ Our velocity has stayed consistent, but with less re-work Andy Gray & Paul Flewelling |
  • 15. Benefits Pairs produce higher quality code with ‣ fewer defects ‣ better design decisions Andy Gray & Paul Flewelling |
  • 16. “The benefits of getting a product out faster, reducing maintenance expenses, and improving customer satisfaction with product quality outweigh the minimal programmer hour increase that was seen.” Strengthening the Case for Pair-Programming Laurie Williams et al Andy Gray & Paul Flewelling |
  • 17. Benefits Pairs encourage each other to follow good agile practices such as ‣ Test Driven Development ‣ Code Refactoring ‣ Collective Ownership Andy Gray & Paul Flewelling |
  • 18. Benefits ‣ Pairing encourages a sense of team ‣ The sense of vulnerability diminishes as the team becomes stronger, the team will tackle any task ‣ The team becomes increasingly cross-functional Andy Gray & Paul Flewelling |
  • 19. Benefits ‣ Pairs working together ‣ focus each other ‣ peer review each other ‣ boost courage to tackle problems ‣ share knowledge ‣ learn from each other Andy Gray & Paul Flewelling |
  • 20. Benefits Pairing makes it easier to add developers to a project. Andy Gray & Paul Flewelling |
  • 21. Summary ‣ Simple discipline of two developers working together on one machine ‣ Requires developers to be sociable and co-operative ‣ There are some barriers to it’s uptake Andy Gray & Paul Flewelling |
  • 22. Summary The pros far outweigh the cons: ‣ High-level of focus ‣ Higher quality ‣ Knowledge sharing ‣ Higher team confidence Andy Gray & Paul Flewelling |
  • 23. Any Questions? Andy Gray & Paul Flewelling |
  • 24. References Strengthening the Case for Pair Programming Laurie Williams, Robert R. Kessler, Ward Cunningham, Ron Jeffries Andy Gray & Paul Flewelling |

Notas do Editor

  1. \n
  2. Paul\n
  3. Paul\n
  4. Paul\n
  5. Andy\n
  6. Andy\n
  7. Andy\n
  8. Andy\n
  9. Andy\n
  10. Paul: Lets talk about a typical pair programming session\n
  11. Paul: The best pair programmers know when to say "let's try your idea first."\n
  12. Paul: We’ve found 3 hours to be the upper limit, pair programming sessions that have lasted all day often end up in going home exhausted. That said, endurance does increase the more often you use it.\n
  13. Paul\n
  14. Paul\n
  15. Andy\n
  16. Paul: They’re study showed pair programmers solved a problem in 60 to 80% of time with better quality \n
  17. Andy: The study “Strengthening the case for pair programming” also showed that pairs increased test coverage, up to 10% higher than their individual counterparts.\n
  18. Andy\n
  19. Paul, share knowledge around the team, knowledge of the domain, the business.\n\nWe also learn from each other in terms of coding and processess\n
  20. Paul\n
  21. Paul - Andy - Paul\n
  22. Andy\n
  23. \n
  24. \n