SlideShare a Scribd company logo
1 of 12
Download to read offline
Pair Programming
Environment
• 1 computer, 2 monitors, 2 mouses, 2 keyboards
• Rotate typer
• Remote
Design quality
• More attention on errors, less bugs
• More discussions on solutions
• Gambiarras not allowed
• Different perspectives and sources of information
Ownership
• Truck Factor > 1
• All team members know what’s going on
• No single point of failure
Productivity
• Pairs keep focus
• People are more afraid to interrupt
Team
• Everybody feels responsible
• We build together, we maintain together
• 95% more satisfaction
• Shared goals
Knowledge Sharing
• I know, I teach
• Develop patience
• Develop communication skills
• I don’t know, I learn: humbleness
When pair does not work
• Repetitive and non-thinking tasks
• Competitive environments
• People don’t want to share their knowledge
• Management does not encourage the practice
Variations
• expert-expert
• expert-novice
• novice-expert
Williams, L., Debunking the Nerd Stereotype with Pair Programming (Broadening Participation in Computing Series), IEEE Computer, to appear May 2006.
Ho, C., Raha, S., Gehringer, E,, Williams, L., Sangam: A Distributed Pair Programming Plug-in for Eclipse , Eclipse Technology Exchange (Workshop) at the Object-Oriented Programming, Systems, Languages, and
Applications (OOPSLA) 2004.
Katira, N., Williams, L., Osborne, J., Towards Increasing the Compatibility of Student Pair Programmers , International Conference on Software Engineering (ICSE) 2005.
Katira, Neha, Williams, Laurie, Wiebe, Eric, Miller, Carol, Balik, Suzanne, Gehringer, Ed, On Understanding Compatibility of Student Pair Programmers, ACM Technical Symposium on Computer Science Education,
SIGCSE 2004, pp. 7-11.
Srikanth, H., Williams, L., Wiebe, E., Miller, C., Balik, S., On Pair Rotation in the Computer Science Course , Conference on Software Engineering Education and Training 2004, pp. 144-149.
Williams, Laurie and Kessler, Robert. Pair Programming Illuminated, Addison Wesley, 2003.
Wiebe, E., Williams, L., Petlick, J., Nagappan, N., Balik, S., Miller, C., Ferzli, M. Pair Programming in Introductory Programming Labs , American Society for Engineering Education (ASEE) 2003.
Williams, L., McDowell, C., Fernald, J., Werner, L., Nagappan, N. Building Pair Programming Knowledge Through a Family of Experiments , IEEE International Symposium on Empirical Software Engineering (ISESE)
2003, pp. 143-152.
Stotts, D., Williams, L., Nagappan, N., Baheti, P., Jen, D., Jackson, A., Virtual Teaming: Experiments and Experiences with Distributed Pair Programming, Extreme Programming/Agile Universe 2003.
Nagappan, N., Williams, L., Wiebe, E., Miller, C., Balik, S., Ferzli, M., Petlick, M., Pair Learning: With an Eye Toward Future Success, Extreme Programming/Agile Universe 2003.
Nagappan, N., Williams, L., Ferzli, M., Weibe, E., Yang, K., Miller, C., Balik, S., Improving the CS1 Experience with Pair Programming, ACM Technical Symposium on Computer Science Education, SIGCSE 2003, pp.
359-362.
Williams, L., Wiebe, E., Yang, K., Ferzli, M., Miller, C., In Support of Pair Programming in the Introductory Computer Science CourseComputer Science Education, September 2002.
Williams, L., Yang, K., Wiebe, E., Ferzli, M., Miller, C., Pair Programming in an Introductory Computer Science Course:  Initial Results and Recommendations, OOPSLA Educator's Symposium 2002, November 2002.
Baheti, P., Williams, L., Gehringer, E., Stotts, D., Exploring Pair Programming in Distributed Object-Oriented Team Projects, OOPSLA Educator's Symposium 2002, November 2002.
Ferzli, M., Wiebe, E., Williams, L., Paired Programming Project: Focus Groups with Teaching Assistants and Students, NCSU Technical Report, TR-2002-16, November 25, 2002.
Baheti, P., Williams, L., Gehringer, E., Stotts, D., and Smith, J., Distributed Pair Programming: Empirical Studies and Supporting Environments, UNC-CH Technical Report TR02-010, March 15, 2002.
Williams, Laurie, Kessler, Robert R., Experimenting with Industry's "Pair-Programming" Model in the Computer Science Classroom, Computer Science Education, March 2001. 
Williams, Laurie.  Integrating Pair Programming into a Software Development Process,Conference of Software Engineering Education and Training 2001.  
Williams, Laurie and Upchurch, Richard.  In Support of Student Pair Programming, 2001 SIGCSE Conference on Computer Science Education, Charlotte, NC, pp. 327-331,February 2001.
Williams, Laurie and Kessler, Robert R. >  The Effects of “Pair-Pressure” and “Pair-Learning” on Software Engineering Education.  Conference of Software Engineering Education and Training 2000.  
Williams, Laurie and Kessler, Robert R., All I Really Need to Know about Pair Programming I Learned In Kindergarten, Communications of the ACM, May 2000.
Williams, L.,  The Collaborative Software Process.  PhD Dissertation, 2000.
https://collaboration.csc.ncsu.edu/laurie/pair.html
Pair Programming
Let’s do it?

More Related Content

Similar to Pair programming

Carol Righi Resume
Carol Righi ResumeCarol Righi Resume
Carol Righi ResumeCarol Righi
 
CoCoDeS: Multi-device Support for Collocated Collaborative Learning Design @ ...
CoCoDeS: Multi-device Support for Collocated Collaborative Learning Design @ ...CoCoDeS: Multi-device Support for Collocated Collaborative Learning Design @ ...
CoCoDeS: Multi-device Support for Collocated Collaborative Learning Design @ ...Roberto Martínez
 
02 computer games created by middle school girls can they be used to measure ...
02 computer games created by middle school girls can they be used to measure ...02 computer games created by middle school girls can they be used to measure ...
02 computer games created by middle school girls can they be used to measure ...Fantar Witchaporn
 
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Margaret-Anne Storey
 
Garrett Gutierrez_ResumeOfficial
Garrett Gutierrez_ResumeOfficialGarrett Gutierrez_ResumeOfficial
Garrett Gutierrez_ResumeOfficialGarrett Gutierrez
 
Key Issues with a Global Studio
Key Issues with a Global StudioKey Issues with a Global Studio
Key Issues with a Global Studioerikbohemia
 
A customised cur_ve_cv (1)
A customised cur_ve_cv (1)A customised cur_ve_cv (1)
A customised cur_ve_cv (1)Anil Carie
 
Agile Development in Large-Scale: Challenges and Insight from Research
Agile Development in Large-Scale: Challenges and Insight from ResearchAgile Development in Large-Scale: Challenges and Insight from Research
Agile Development in Large-Scale: Challenges and Insight from ResearchTorgeir Dingsøyr
 
Crowdsourcing Documentation in Software Engineering
Crowdsourcing Documentation in Software EngineeringCrowdsourcing Documentation in Software Engineering
Crowdsourcing Documentation in Software EngineeringMargaret-Anne Storey
 
Tech 2003
Tech 2003Tech 2003
Tech 2003jkava
 
Learning design-daviniahl-nov2013
Learning design-daviniahl-nov2013Learning design-daviniahl-nov2013
Learning design-daviniahl-nov2013davinia.hl
 
The Challenges of Affect Detection in the Social Programmer Ecosystem
The Challenges of Affect Detection in the Social Programmer EcosystemThe Challenges of Affect Detection in the Social Programmer Ecosystem
The Challenges of Affect Detection in the Social Programmer EcosystemNicole Novielli
 
Group 1 Pro Technology Power Point
Group 1 Pro Technology Power PointGroup 1 Pro Technology Power Point
Group 1 Pro Technology Power PointRich Edelen
 
Basic principles of interaction for learning in web based environment
Basic principles of interaction for learning in web based environmentBasic principles of interaction for learning in web based environment
Basic principles of interaction for learning in web based environmentSu-Tuan Lulee
 
Instructional Design Project Management 2.0: A Model of Development & Practice
Instructional Design Project Management 2.0: A Model of Development & PracticeInstructional Design Project Management 2.0: A Model of Development & Practice
Instructional Design Project Management 2.0: A Model of Development & PracticeJennifer Staley, M.Ed., CPLP
 
Instructional Design Project Management (Presentation) Madison 2009
Instructional Design Project Management (Presentation) Madison 2009Instructional Design Project Management (Presentation) Madison 2009
Instructional Design Project Management (Presentation) Madison 2009Jennifer Staley
 

Similar to Pair programming (20)

Carol Righi Resume
Carol Righi ResumeCarol Righi Resume
Carol Righi Resume
 
CoCoDeS: Multi-device Support for Collocated Collaborative Learning Design @ ...
CoCoDeS: Multi-device Support for Collocated Collaborative Learning Design @ ...CoCoDeS: Multi-device Support for Collocated Collaborative Learning Design @ ...
CoCoDeS: Multi-device Support for Collocated Collaborative Learning Design @ ...
 
02 computer games created by middle school girls can they be used to measure ...
02 computer games created by middle school girls can they be used to measure ...02 computer games created by middle school girls can they be used to measure ...
02 computer games created by middle school girls can they be used to measure ...
 
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
 
Shiv
ShivShiv
Shiv
 
Garrett Gutierrez_ResumeOfficial
Garrett Gutierrez_ResumeOfficialGarrett Gutierrez_ResumeOfficial
Garrett Gutierrez_ResumeOfficial
 
Key Issues with a Global Studio
Key Issues with a Global StudioKey Issues with a Global Studio
Key Issues with a Global Studio
 
A customised cur_ve_cv (1)
A customised cur_ve_cv (1)A customised cur_ve_cv (1)
A customised cur_ve_cv (1)
 
Agile Development in Large-Scale: Challenges and Insight from Research
Agile Development in Large-Scale: Challenges and Insight from ResearchAgile Development in Large-Scale: Challenges and Insight from Research
Agile Development in Large-Scale: Challenges and Insight from Research
 
Crowdsourcing Documentation in Software Engineering
Crowdsourcing Documentation in Software EngineeringCrowdsourcing Documentation in Software Engineering
Crowdsourcing Documentation in Software Engineering
 
Tech 2003
Tech 2003Tech 2003
Tech 2003
 
Learning design-daviniahl-nov2013
Learning design-daviniahl-nov2013Learning design-daviniahl-nov2013
Learning design-daviniahl-nov2013
 
The Challenges of Affect Detection in the Social Programmer Ecosystem
The Challenges of Affect Detection in the Social Programmer EcosystemThe Challenges of Affect Detection in the Social Programmer Ecosystem
The Challenges of Affect Detection in the Social Programmer Ecosystem
 
Group 1 Pro Technology Power Point
Group 1 Pro Technology Power PointGroup 1 Pro Technology Power Point
Group 1 Pro Technology Power Point
 
Eportfolio
EportfolioEportfolio
Eportfolio
 
Basic principles of interaction for learning in web based environment
Basic principles of interaction for learning in web based environmentBasic principles of interaction for learning in web based environment
Basic principles of interaction for learning in web based environment
 
Working with wikis
Working with wikisWorking with wikis
Working with wikis
 
Working with wikis
Working with wikisWorking with wikis
Working with wikis
 
Instructional Design Project Management 2.0: A Model of Development & Practice
Instructional Design Project Management 2.0: A Model of Development & PracticeInstructional Design Project Management 2.0: A Model of Development & Practice
Instructional Design Project Management 2.0: A Model of Development & Practice
 
Instructional Design Project Management (Presentation) Madison 2009
Instructional Design Project Management (Presentation) Madison 2009Instructional Design Project Management (Presentation) Madison 2009
Instructional Design Project Management (Presentation) Madison 2009
 

More from Daniel Cukier

Solidity: Zero to Hero Corporate Training
Solidity: Zero to Hero Corporate TrainingSolidity: Zero to Hero Corporate Training
Solidity: Zero to Hero Corporate TrainingDaniel Cukier
 
Spring e Injeção de Dependência
Spring e Injeção de DependênciaSpring e Injeção de Dependência
Spring e Injeção de DependênciaDaniel Cukier
 
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...Daniel Cukier
 
Startup Communities: From Nascence to Maturity
Startup Communities: From Nascence to MaturityStartup Communities: From Nascence to Maturity
Startup Communities: From Nascence to MaturityDaniel Cukier
 
Technology Startups Ecosystem in China - Lessons to other ecosystems
Technology Startups  Ecosystem in China - Lessons to other ecosystemsTechnology Startups  Ecosystem in China - Lessons to other ecosystems
Technology Startups Ecosystem in China - Lessons to other ecosystemsDaniel Cukier
 
Software Startup Ecosystems Evolution - The New York City Case Study
Software Startup Ecosystems Evolution - The New York City Case StudySoftware Startup Ecosystems Evolution - The New York City Case Study
Software Startup Ecosystems Evolution - The New York City Case StudyDaniel Cukier
 
Maturity model for Startup Ecosystems
Maturity model for Startup EcosystemsMaturity model for Startup Ecosystems
Maturity model for Startup EcosystemsDaniel Cukier
 
Why Google Cloud is so special? Stories from a cloud user
Why Google Cloud is so special?  Stories from a cloud userWhy Google Cloud is so special?  Stories from a cloud user
Why Google Cloud is so special? Stories from a cloud userDaniel Cukier
 
Software Architectures for a Single Person Team
Software Architectures for a Single Person TeamSoftware Architectures for a Single Person Team
Software Architectures for a Single Person TeamDaniel Cukier
 
Introduction to Functional Programming with Scala
Introduction to Functional Programming with ScalaIntroduction to Functional Programming with Scala
Introduction to Functional Programming with ScalaDaniel Cukier
 
O dia a dia de uma Startup
O dia a dia de uma StartupO dia a dia de uma Startup
O dia a dia de uma StartupDaniel Cukier
 
Injeção de Dependência e Testes com Dublês
Injeção de Dependência e Testes com DublêsInjeção de Dependência e Testes com Dublês
Injeção de Dependência e Testes com DublêsDaniel Cukier
 
Selecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software EngineeringSelecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software EngineeringDaniel Cukier
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?Daniel Cukier
 
Better Science Through Art
Better Science Through ArtBetter Science Through Art
Better Science Through ArtDaniel Cukier
 
Designed as Designer
Designed as DesignerDesigned as Designer
Designed as DesignerDaniel Cukier
 
When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesDaniel Cukier
 

More from Daniel Cukier (20)

Solidity: Zero to Hero Corporate Training
Solidity: Zero to Hero Corporate TrainingSolidity: Zero to Hero Corporate Training
Solidity: Zero to Hero Corporate Training
 
Spring e Injeção de Dependência
Spring e Injeção de DependênciaSpring e Injeção de Dependência
Spring e Injeção de Dependência
 
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
Eficiency and Low Cost: Pro Tips for you to save 50% of your money with Googl...
 
Startup Communities: From Nascence to Maturity
Startup Communities: From Nascence to MaturityStartup Communities: From Nascence to Maturity
Startup Communities: From Nascence to Maturity
 
Technology Startups Ecosystem in China - Lessons to other ecosystems
Technology Startups  Ecosystem in China - Lessons to other ecosystemsTechnology Startups  Ecosystem in China - Lessons to other ecosystems
Technology Startups Ecosystem in China - Lessons to other ecosystems
 
Software Startup Ecosystems Evolution - The New York City Case Study
Software Startup Ecosystems Evolution - The New York City Case StudySoftware Startup Ecosystems Evolution - The New York City Case Study
Software Startup Ecosystems Evolution - The New York City Case Study
 
Maturity model for Startup Ecosystems
Maturity model for Startup EcosystemsMaturity model for Startup Ecosystems
Maturity model for Startup Ecosystems
 
Why Google Cloud is so special? Stories from a cloud user
Why Google Cloud is so special?  Stories from a cloud userWhy Google Cloud is so special?  Stories from a cloud user
Why Google Cloud is so special? Stories from a cloud user
 
Software Architectures for a Single Person Team
Software Architectures for a Single Person TeamSoftware Architectures for a Single Person Team
Software Architectures for a Single Person Team
 
Startup Communities
Startup CommunitiesStartup Communities
Startup Communities
 
Introduction to Functional Programming with Scala
Introduction to Functional Programming with ScalaIntroduction to Functional Programming with Scala
Introduction to Functional Programming with Scala
 
Play vs Rails
Play vs RailsPlay vs Rails
Play vs Rails
 
O dia a dia de uma Startup
O dia a dia de uma StartupO dia a dia de uma Startup
O dia a dia de uma Startup
 
Injeção de Dependência e Testes com Dublês
Injeção de Dependência e Testes com DublêsInjeção de Dependência e Testes com Dublês
Injeção de Dependência e Testes com Dublês
 
Selecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software EngineeringSelecting Empirical Methods for Software Engineering
Selecting Empirical Methods for Software Engineering
 
Is Computer Science Science?
Is Computer Science Science?Is Computer Science Science?
Is Computer Science Science?
 
Ruby Robots
Ruby RobotsRuby Robots
Ruby Robots
 
Better Science Through Art
Better Science Through ArtBetter Science Through Art
Better Science Through Art
 
Designed as Designer
Designed as DesignerDesigned as Designer
Designed as Designer
 
When Should You Consider Meta Architectures
When Should You Consider Meta ArchitecturesWhen Should You Consider Meta Architectures
When Should You Consider Meta Architectures
 

Recently uploaded

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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 AutomationSafe Software
 
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
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
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
 
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
 
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
 
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 Takeoffsammart93
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Recently uploaded (20)

08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
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...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
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
 
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
 
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
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Pair programming

  • 2.
  • 3. Environment • 1 computer, 2 monitors, 2 mouses, 2 keyboards • Rotate typer • Remote
  • 4. Design quality • More attention on errors, less bugs • More discussions on solutions • Gambiarras not allowed • Different perspectives and sources of information
  • 5. Ownership • Truck Factor > 1 • All team members know what’s going on • No single point of failure
  • 6. Productivity • Pairs keep focus • People are more afraid to interrupt
  • 7. Team • Everybody feels responsible • We build together, we maintain together • 95% more satisfaction • Shared goals
  • 8. Knowledge Sharing • I know, I teach • Develop patience • Develop communication skills • I don’t know, I learn: humbleness
  • 9. When pair does not work • Repetitive and non-thinking tasks • Competitive environments • People don’t want to share their knowledge • Management does not encourage the practice
  • 11. Williams, L., Debunking the Nerd Stereotype with Pair Programming (Broadening Participation in Computing Series), IEEE Computer, to appear May 2006. Ho, C., Raha, S., Gehringer, E,, Williams, L., Sangam: A Distributed Pair Programming Plug-in for Eclipse , Eclipse Technology Exchange (Workshop) at the Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) 2004. Katira, N., Williams, L., Osborne, J., Towards Increasing the Compatibility of Student Pair Programmers , International Conference on Software Engineering (ICSE) 2005. Katira, Neha, Williams, Laurie, Wiebe, Eric, Miller, Carol, Balik, Suzanne, Gehringer, Ed, On Understanding Compatibility of Student Pair Programmers, ACM Technical Symposium on Computer Science Education, SIGCSE 2004, pp. 7-11. Srikanth, H., Williams, L., Wiebe, E., Miller, C., Balik, S., On Pair Rotation in the Computer Science Course , Conference on Software Engineering Education and Training 2004, pp. 144-149. Williams, Laurie and Kessler, Robert. Pair Programming Illuminated, Addison Wesley, 2003. Wiebe, E., Williams, L., Petlick, J., Nagappan, N., Balik, S., Miller, C., Ferzli, M. Pair Programming in Introductory Programming Labs , American Society for Engineering Education (ASEE) 2003. Williams, L., McDowell, C., Fernald, J., Werner, L., Nagappan, N. Building Pair Programming Knowledge Through a Family of Experiments , IEEE International Symposium on Empirical Software Engineering (ISESE) 2003, pp. 143-152. Stotts, D., Williams, L., Nagappan, N., Baheti, P., Jen, D., Jackson, A., Virtual Teaming: Experiments and Experiences with Distributed Pair Programming, Extreme Programming/Agile Universe 2003. Nagappan, N., Williams, L., Wiebe, E., Miller, C., Balik, S., Ferzli, M., Petlick, M., Pair Learning: With an Eye Toward Future Success, Extreme Programming/Agile Universe 2003. Nagappan, N., Williams, L., Ferzli, M., Weibe, E., Yang, K., Miller, C., Balik, S., Improving the CS1 Experience with Pair Programming, ACM Technical Symposium on Computer Science Education, SIGCSE 2003, pp. 359-362. Williams, L., Wiebe, E., Yang, K., Ferzli, M., Miller, C., In Support of Pair Programming in the Introductory Computer Science CourseComputer Science Education, September 2002. Williams, L., Yang, K., Wiebe, E., Ferzli, M., Miller, C., Pair Programming in an Introductory Computer Science Course:  Initial Results and Recommendations, OOPSLA Educator's Symposium 2002, November 2002. Baheti, P., Williams, L., Gehringer, E., Stotts, D., Exploring Pair Programming in Distributed Object-Oriented Team Projects, OOPSLA Educator's Symposium 2002, November 2002. Ferzli, M., Wiebe, E., Williams, L., Paired Programming Project: Focus Groups with Teaching Assistants and Students, NCSU Technical Report, TR-2002-16, November 25, 2002. Baheti, P., Williams, L., Gehringer, E., Stotts, D., and Smith, J., Distributed Pair Programming: Empirical Studies and Supporting Environments, UNC-CH Technical Report TR02-010, March 15, 2002. Williams, Laurie, Kessler, Robert R., Experimenting with Industry's "Pair-Programming" Model in the Computer Science Classroom, Computer Science Education, March 2001.  Williams, Laurie.  Integrating Pair Programming into a Software Development Process,Conference of Software Engineering Education and Training 2001.   Williams, Laurie and Upchurch, Richard.  In Support of Student Pair Programming, 2001 SIGCSE Conference on Computer Science Education, Charlotte, NC, pp. 327-331,February 2001. Williams, Laurie and Kessler, Robert R. >  The Effects of “Pair-Pressure” and “Pair-Learning” on Software Engineering Education.  Conference of Software Engineering Education and Training 2000.   Williams, Laurie and Kessler, Robert R., All I Really Need to Know about Pair Programming I Learned In Kindergarten, Communications of the ACM, May 2000. Williams, L.,  The Collaborative Software Process.  PhD Dissertation, 2000. https://collaboration.csc.ncsu.edu/laurie/pair.html