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 (Presentation) Madison 2009
Instructional Design Project Management (Presentation) Madison 2009Instructional Design Project Management (Presentation) Madison 2009
Instructional Design Project Management (Presentation) Madison 2009Jennifer Staley
 
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
 

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 (Presentation) Madison 2009
Instructional Design Project Management (Presentation) Madison 2009Instructional Design Project Management (Presentation) Madison 2009
Instructional Design Project Management (Presentation) Madison 2009
 
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
 

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

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

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