SlideShare a Scribd company logo
Pair Programming
Who am I?
@_pedro_torres | pedrogustavotorres.com
Pedro Gustavo Torres
Or even this?
A little bit of background
What is Pair Programming?
• code is produced by two people programming:
– on one task
– on one workstation
• Two keyboards (optional)
• Two mice (optional)
• Two monitors mirroring (ideally)
Driver…
…navigator
Change roles multiple times a day
Change roles multiple times a day
Change roles multiple times a day
¡Quiz time!
In which scenarios are the developers properly pairing?
A B
C D
Setup #1
Setup #2
Setup #3
Setup #4
All the times in front of…
…except in…
…and in!
Task BTask B
Task ATask A
Rotation between pairs
Monday Wednesday
Pair rotation lader
Rachel Davies, Agile Coaching
Collective code ownership…
…bus factor…
…beginners mind
Engagement / Commitment…
…valuable stand-ups…
…better integration of new team
members…
…limit WIP…
… to skip code reviews?
Less bugs…
…more fun…
…less distractions…
…less interruptions…
…less slacking…
…and comfort zone wise…
…bigger comfort zone!
Two heads think better than one
“Common” habits…
…no music / social “stuff”
So is Pair Programming for everyone?
It should not be imposed
Remotely works?
Are estimations affected?
What about size or length of tasks?
Is it €xp£n$ive?
Is it only for mature teams?
Does it scale?
Companies that use it?
Scholars and hands-on fans?
Maybe slow…
…or all in!
Thank you
Next time I’ll pair present! 

More Related Content

Similar to Pair Programming :: Blip 2014

2014 05-14-pythoncodingdojo
2014 05-14-pythoncodingdojo2014 05-14-pythoncodingdojo
2014 05-14-pythoncodingdojo
aschlapsi
 
Python Coding Dojo - 2014-03-19
Python Coding Dojo - 2014-03-19Python Coding Dojo - 2014-03-19
Python Coding Dojo - 2014-03-19
aschlapsi
 

Similar to Pair Programming :: Blip 2014 (20)

Pair Programming :: Conferencia Agile Spain 2014
Pair Programming :: Conferencia Agile Spain 2014Pair Programming :: Conferencia Agile Spain 2014
Pair Programming :: Conferencia Agile Spain 2014
 
Mob Programming for Continuous Learning
Mob Programming for Continuous LearningMob Programming for Continuous Learning
Mob Programming for Continuous Learning
 
Code quality as a built-in process
Code quality as a built-in processCode quality as a built-in process
Code quality as a built-in process
 
Pair programming- Mariusz Kozieł
Pair programming- Mariusz KoziełPair programming- Mariusz Kozieł
Pair programming- Mariusz Kozieł
 
2014 05-14-pythoncodingdojo
2014 05-14-pythoncodingdojo2014 05-14-pythoncodingdojo
2014 05-14-pythoncodingdojo
 
Distributed teams - it takes two to tango
Distributed teams - it takes two to tangoDistributed teams - it takes two to tango
Distributed teams - it takes two to tango
 
Python Coding Dojo - 2014-03-19
Python Coding Dojo - 2014-03-19Python Coding Dojo - 2014-03-19
Python Coding Dojo - 2014-03-19
 
Married to the Mob (programming)
Married to the Mob (programming)Married to the Mob (programming)
Married to the Mob (programming)
 
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
Mob Programming : How To Never Stop Producing Value - Scrum Gathering Talk 03...
 
L'illusione dell'ortogonalità
L'illusione dell'ortogonalitàL'illusione dell'ortogonalità
L'illusione dell'ortogonalità
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
 
TDD - Seriously, try it - Codemotion (May '24)
TDD - Seriously, try it - Codemotion (May '24)TDD - Seriously, try it - Codemotion (May '24)
TDD - Seriously, try it - Codemotion (May '24)
 
Code Retreat
Code RetreatCode Retreat
Code Retreat
 
Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)Redesigning everything (avanscoperta meeutp edition)
Redesigning everything (avanscoperta meeutp edition)
 
The Elements of Style
The Elements of StyleThe Elements of Style
The Elements of Style
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming Live
 
It Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingIt Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair Programming
 
Stepping Outside
Stepping OutsideStepping Outside
Stepping Outside
 
Software as a craft (February, 2018)
Software as a craft (February, 2018)Software as a craft (February, 2018)
Software as a craft (February, 2018)
 
Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)Day1 - TDD (Lecture SS 2015)
Day1 - TDD (Lecture SS 2015)
 

More from Pedro Gustavo Torres

More from Pedro Gustavo Torres (20)

Your Scale, Your Rules! :: Mercedes-Benz.io 2022
Your Scale, Your Rules! :: Mercedes-Benz.io 2022Your Scale, Your Rules! :: Mercedes-Benz.io 2022
Your Scale, Your Rules! :: Mercedes-Benz.io 2022
 
How to (screw up) learn safely in Production :: Talkdesk R&D Learning Fest 2022
How to (screw up) learn safely in Production :: Talkdesk R&D Learning Fest 2022How to (screw up) learn safely in Production :: Talkdesk R&D Learning Fest 2022
How to (screw up) learn safely in Production :: Talkdesk R&D Learning Fest 2022
 
From Zero to Unicorn - Scaling Engineering Teams :: DevDaysEurope 2022
From Zero to Unicorn - Scaling Engineering Teams :: DevDaysEurope 2022From Zero to Unicorn - Scaling Engineering Teams :: DevDaysEurope 2022
From Zero to Unicorn - Scaling Engineering Teams :: DevDaysEurope 2022
 
Having an Efficient Dev Team :: ISEP 2020
Having an Efficient Dev Team :: ISEP 2020Having an Efficient Dev Team :: ISEP 2020
Having an Efficient Dev Team :: ISEP 2020
 
Onboarding Greater :: People 4 People 2020
Onboarding Greater :: People 4 People 2020Onboarding Greater :: People 4 People 2020
Onboarding Greater :: People 4 People 2020
 
A letter to my past self (a career perspective) :: Sinf FEUP 2020
A letter to my past self (a career perspective) :: Sinf FEUP 2020A letter to my past self (a career perspective) :: Sinf FEUP 2020
A letter to my past self (a career perspective) :: Sinf FEUP 2020
 
The Autobiography of a Retired Scrum Master :: Agile Connect Day 2020
The Autobiography of a Retired Scrum Master :: Agile Connect Day 2020The Autobiography of a Retired Scrum Master :: Agile Connect Day 2020
The Autobiography of a Retired Scrum Master :: Agile Connect Day 2020
 
Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)
Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)
Agile is still dead :: Portugal - Brasil 2020 (Café com Rey)
 
Gestão de Projeto vs Gestão de Produto :: FCUP 2019
Gestão de Projeto vs Gestão de Produto :: FCUP 2019Gestão de Projeto vs Gestão de Produto :: FCUP 2019
Gestão de Projeto vs Gestão de Produto :: FCUP 2019
 
Loose thoughts on Porto’s startup ecosystem :: BUZZTalks, FEP 2019
Loose thoughts on Porto’s startup ecosystem :: BUZZTalks, FEP 2019Loose thoughts on Porto’s startup ecosystem :: BUZZTalks, FEP 2019
Loose thoughts on Porto’s startup ecosystem :: BUZZTalks, FEP 2019
 
Unicorn on-call :: Landing Festival Lisbon 2019
Unicorn on-call :: Landing Festival Lisbon 2019Unicorn on-call :: Landing Festival Lisbon 2019
Unicorn on-call :: Landing Festival Lisbon 2019
 
Unicorn on-call :: Tech in Porto, Porto, 2019
Unicorn on-call :: Tech in Porto, Porto, 2019 Unicorn on-call :: Tech in Porto, Porto, 2019
Unicorn on-call :: Tech in Porto, Porto, 2019
 
Unicorn on-call :: DevOpsDays Portugal, Lisbon, 2019
Unicorn on-call :: DevOpsDays Portugal, Lisbon, 2019 Unicorn on-call :: DevOpsDays Portugal, Lisbon, 2019
Unicorn on-call :: DevOpsDays Portugal, Lisbon, 2019
 
When Product meets Engineering :: Netponto, Porto, 2019
When Product meets Engineering :: Netponto, Porto, 2019When Product meets Engineering :: Netponto, Porto, 2019
When Product meets Engineering :: Netponto, Porto, 2019
 
When Product meets Engineering :: Landing Festival Berlin 2019
When Product meets Engineering :: Landing Festival Berlin 2019When Product meets Engineering :: Landing Festival Berlin 2019
When Product meets Engineering :: Landing Festival Berlin 2019
 
Scrum: From the Classroom to the Workplace :: FCUP 2018
Scrum: From the Classroom to the Workplace :: FCUP 2018Scrum: From the Classroom to the Workplace :: FCUP 2018
Scrum: From the Classroom to the Workplace :: FCUP 2018
 
Comunicação em equipas Ágeis: Desafios e Conquistas :: PM4ALL 2018
Comunicação em equipas Ágeis: Desafios e Conquistas :: PM4ALL 2018Comunicação em equipas Ágeis: Desafios e Conquistas :: PM4ALL 2018
Comunicação em equipas Ágeis: Desafios e Conquistas :: PM4ALL 2018
 
Agile is Dead :: Viana Tech Meetups 2018
Agile is Dead :: Viana Tech Meetups 2018Agile is Dead :: Viana Tech Meetups 2018
Agile is Dead :: Viana Tech Meetups 2018
 
Agile is Dead :: Agile Connect Lisbon 2018
Agile is Dead :: Agile Connect Lisbon 2018 Agile is Dead :: Agile Connect Lisbon 2018
Agile is Dead :: Agile Connect Lisbon 2018
 
Agile is Dead :: Aginext London 2018
Agile is Dead :: Aginext London 2018Agile is Dead :: Aginext London 2018
Agile is Dead :: Aginext London 2018
 

Recently uploaded

Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptx
abhinandnam9997
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
lolsDocherty
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
aagad
 

Recently uploaded (13)

The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
Pvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdfPvtaan Social media marketing proposal.pdf
Pvtaan Social media marketing proposal.pdf
 
Article writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptxArticle writing on excessive use of internet.pptx
Article writing on excessive use of internet.pptx
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
ER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAEER(Entity Relationship) Diagram for online shopping - TAE
ER(Entity Relationship) Diagram for online shopping - TAE
 
How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?How Do I Begin the Linksys Velop Setup Process?
How Do I Begin the Linksys Velop Setup Process?
 
The Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case StudyThe Use of AI in Indonesia Election 2024: A Case Study
The Use of AI in Indonesia Election 2024: A Case Study
 
Bug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's GuideBug Bounty Blueprint : A Beginner's Guide
Bug Bounty Blueprint : A Beginner's Guide
 
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkkaudience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
audience research (emma) 1.pptxkkkkkkkkkkkkkkkkk
 
The Best AI Powered Software - Intellivid AI Studio
The Best AI Powered Software - Intellivid AI StudioThe Best AI Powered Software - Intellivid AI Studio
The Best AI Powered Software - Intellivid AI Studio
 
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
一比一原版UTS毕业证悉尼科技大学毕业证成绩单如何办理
 
Case study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptxCase study on merger of Vodafone and Idea (VI).pptx
Case study on merger of Vodafone and Idea (VI).pptx
 
The AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdfThe AI Powered Organization-Intro to AI-LAN.pdf
The AI Powered Organization-Intro to AI-LAN.pdf
 

Pair Programming :: Blip 2014

Editor's Notes

  1. NCIS 2 IDIOTS 1 KEYBOARD video
  2. eXtreme Programming (XP) Software development methodology
  3. code is produced by two people programming: on one task on one workstation Two keyboards (optional) Two mice (optional) Two monitors mirroring (ideally)
  4. How should the driver and navigator seat? Which hardware should they have to pair programme effectively?
  5. All the times: In front of a working station Except in: meetings (finishing each other sentences) Bathroom (taking a leak)
  6. Collective code ownership… everybody gets a chance to know and “own” all the code Bus factor Beginners mind
  7. Collective code ownership… everybody gets a chance to know and “own” all the code Bus factor Beginners mind
  8. Engagement / Commitment Valuable Stand ups Better integration of new team members
  9. Should I stay or should I go? It really depends how obsessed you are with reviews…but I would say no. One of the members of the pair is already reviewing With proper rotation everybody gets a chance to review the code
  10. Less bugs More fun Less distractions Less interruptions from “outsiders” (changed from stopping one dev to stopping two) Less slacking on important stuff (testing, coding properly, adding comments, etc...)
  11. Because you are pairing: you have better ideas stay in the zone for longer More courage to take “risky”/”unconfortable” tasks Opportunity to learn and to teach
  12. [Image] Dude coding and listening to music [Image] Dude coding on workstation and having facebook on the laptop
  13. No music (at least headphones) No youtube No facebook No twitter No instagram No tumblr … Basically No social crap (your manager is going to love this part)
  14. * Nop! * You must: Be willing to give it a try Be social Be confident Embrace/deal with partners feedback Manage conflict Accept differences (not everything will be like you want) * It’s quite exausting It’s not rainbows and unicorns You will have a learning curve ahead
  15. BUT... It should be highly recommended! (Story at sky where the team stick to pp because of not wanting to do code review.)
  16. The non believers think so: Twice the salary / cost? Half the speed? So what about: Bugs? Technical debt? Bus factor? Team spirit? Morale? WIP limit? It wont be expensive on the mid/long term
  17. BSkyB 2degrees network NotOnTheHighStreet.com Virgin Media Orange O2 eBay Hashrocket Pivotal Labs Facebook Square Twitter Groupon SaludOnNet Feelunique.com CustoJusto.pt
  18. * Couple of days a week * Just one team * Just one pair (in a team) …