SlideShare a Scribd company logo
1 of 12
An Evaluation of Pair Programming
Contents
•Introduction
•Characteristics
•Variants of Pair Programming
•Strengths and Weaknesses
•Defect Prevention by Pair Programming
•Resistance to Pair Programming
•Related Metrics
•Conclusion
Pair Programming
•An eXtreme Programming practice
•Software development technique
•A defect prevention method
•Involves two programmers working side-by-side on a
common task
•P1: Driver
•P2: Navigator or Observer
•They switch roles periodically
Characteristics
•Two programmers
•Pressure of work is divided between two programmers.
•Partners help each other to concentrate on work.
•Partners brainstorm and distribute cognition while working
•Continuous reviews contribute better defect prevention
•Improves quality with minimum budget and resources
Variants of Pair Programming
Remote pair programming
•Also known as distributed pair programming or virtual pair
programming
•Two programmers situated at different locations team up as a pair
to work on same code and design using common shared text
editors and collaboration tools
Ping Pong pair programming
•Programmer 1: Writes a failing unit test (Ping)
•Programmer 2: Makes a test pass by writing necessary
implementation code (Pong)
•Programmer 2: Writes a new failing unit test (Ping)
•Programmer 1: Makes a test pass by writing necessary
implementation code (Pong)
•Go back to Step 1 (Follow this iteration for all pairing session).
Variants of Pair Programming (Contd.)
Cross Functional pair programming (CFPP)
•It addresses development of embedded systems.
•CFPP pair consists of a software engineer working together
with a hardware engineer to create a module or an entire
embedded system.
•CFPP usually involves programming, debugging,
simulations, emulations, etc.
Strengths of Pair Programming
•"Two persons can think more than one"
•It reduces risk of Repetitive Stress Injury (RSI)
•It helps in improving learning capabilities
•Knowledge passes easily between pair programmers.
•Decreased risk to management
•Improved quality
•Reduced cost of development
Weaknesses of Pair Programming
•Some programmers may prefer to work alone
•A programmer might get intimidated by other
•Personal conflicts
•Annoying personal habits
•Decisions like "Whom to pair?" is difficult to decide
Defect Prevention
•Pair Programming prevents code and design defects
•It is a type of continuous reviewing of work
•Continuous reviews help in defect prevention and defect
removal
Resistance to Pair Programming
•Lack of familiarity and knowledge over the technique
•People are unwilling to take up the new idea of pairing
seriously because many are accustomed to traditional solo
programming
•Many consider pairing as a waste of time, money, and
resources because the team requires time to learn
•It takes time to convince management
•No time for pair programming due to deadline pressure
Related Metrics
Productivity of a Single
Person
Number of Lines of Code
produced by a single
programmer during one month
period
Pair Speed Advantage
Ratio between time required by
a single programmer and time
required by pair programmers for
performing some task
Defect Density
The average number of defects
per a unit of LOC.
Pair Defect Advantage
Ratio between defect density of
pair programming and defect
density of traditional software
development
Product Size
Number of Lines of Code or
Function Points
Conclusion
•Pair programming is not applicable to every software project
•Success of pair programming depends on coordination and
cooperation between the partners
•Bad pairing may result in lower productivity and quality
•Do not use pair programming while working on complex
problems
•We suggest using pair programming - WHEN -
oTask complexity is low and schedule pressure is high
oTask complexity is high and schedule pressure is low

More Related Content

What's hot

Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming Fatemeh Karimi
 
Agile engineering practices – a short overview
Agile engineering practices – a short overviewAgile engineering practices – a short overview
Agile engineering practices – a short overviewSerhiy Yevtushenko
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesJon McNestrie
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should knowRichard Cheng
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAniruddha Chakrabarti
 
XP Explained
XP ExplainedXP Explained
XP Explainedvineet
 
eXtreme programming (XP) - An Overview
eXtreme programming (XP) - An OvervieweXtreme programming (XP) - An Overview
eXtreme programming (XP) - An OverviewGurtej Pal Singh
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme ProgrammingKnoldus Inc.
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile DeveloperBSGAfrica
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationMuaazZubairi
 
Why can't developers be testers discussion
Why can't developers be testers discussionWhy can't developers be testers discussion
Why can't developers be testers discussionDave Longman
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overviewAlex Pop
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 

What's hot (20)

Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
Agile engineering practices – a short overview
Agile engineering practices – a short overviewAgile engineering practices – a short overview
Agile engineering practices – a short overview
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
Extreme Programming ppt
Extreme Programming pptExtreme Programming ppt
Extreme Programming ppt
 
XP Explained
XP ExplainedXP Explained
XP Explained
 
XP In 10 slides
XP In 10 slidesXP In 10 slides
XP In 10 slides
 
eXtreme programming (XP) - An Overview
eXtreme programming (XP) - An OvervieweXtreme programming (XP) - An Overview
eXtreme programming (XP) - An Overview
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Extreme Programming
Extreme ProgrammingExtreme Programming
Extreme Programming
 
Enter the mind of an Agile Developer
Enter the mind of an Agile DeveloperEnter the mind of an Agile Developer
Enter the mind of an Agile Developer
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentation
 
Xp Slideshow
Xp SlideshowXp Slideshow
Xp Slideshow
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Why can't developers be testers discussion
Why can't developers be testers discussionWhy can't developers be testers discussion
Why can't developers be testers discussion
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Automated testing overview
Automated testing overviewAutomated testing overview
Automated testing overview
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Introduction
IntroductionIntroduction
Introduction
 

Viewers also liked

DAILY AGRI REPORT BY EPIC RESEARCH-19 NOVEMBER 2012
DAILY AGRI REPORT BY EPIC RESEARCH-19 NOVEMBER 2012DAILY AGRI REPORT BY EPIC RESEARCH-19 NOVEMBER 2012
DAILY AGRI REPORT BY EPIC RESEARCH-19 NOVEMBER 2012Epic Research Limited
 
Evaluation quest 1 film poster
Evaluation quest 1 film posterEvaluation quest 1 film poster
Evaluation quest 1 film postermattdaave123
 
Levona travel presentation english
Levona travel presentation englishLevona travel presentation english
Levona travel presentation englishLevona Travel
 
150509 storm cv activeer je ambitie
150509 storm cv activeer je ambitie150509 storm cv activeer je ambitie
150509 storm cv activeer je ambitieStormCv
 
Hubspot marketing-3q15-v6-final
Hubspot marketing-3q15-v6-finalHubspot marketing-3q15-v6-final
Hubspot marketing-3q15-v6-finalIR_HubSpot
 
Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...
Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...
Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...kulibin
 
8 2-30-slideshare-citasyreferenciasbibliograficas-valentina riveraortiz
8 2-30-slideshare-citasyreferenciasbibliograficas-valentina riveraortiz8 2-30-slideshare-citasyreferenciasbibliograficas-valentina riveraortiz
8 2-30-slideshare-citasyreferenciasbibliograficas-valentina riveraortizValentinarivera05
 
Cool Cars
Cool CarsCool Cars
Cool CarsPeety G
 
Presentation for ajp final draft
Presentation for ajp final draftPresentation for ajp final draft
Presentation for ajp final draftaviherring
 
Recrutare pe social media
Recrutare pe social mediaRecrutare pe social media
Recrutare pe social mediaCristiariton
 
Digital Zen with Productivity & Timesaving Apps
Digital Zen with Productivity & Timesaving AppsDigital Zen with Productivity & Timesaving Apps
Digital Zen with Productivity & Timesaving AppsShelly Sanchez Terrell
 
Nigeria social progress index 2014
Nigeria social progress index 2014Nigeria social progress index 2014
Nigeria social progress index 2014statisense
 
#NoProjects - Beyond Projects
#NoProjects - Beyond Projects#NoProjects - Beyond Projects
#NoProjects - Beyond Projectsallan kelly
 
The Wakefield Monster
The Wakefield MonsterThe Wakefield Monster
The Wakefield MonsterJango11
 
UX Camp 2016 Copenhagen - Friction In Design
UX Camp 2016 Copenhagen - Friction In DesignUX Camp 2016 Copenhagen - Friction In Design
UX Camp 2016 Copenhagen - Friction In DesignMikkel Køster
 
Educación argentina financiamiento 2016
Educación argentina financiamiento 2016Educación argentina financiamiento 2016
Educación argentina financiamiento 2016Laura Marrone
 
Learning area-3-e28093-powerpoint-hndybook
Learning area-3-e28093-powerpoint-hndybookLearning area-3-e28093-powerpoint-hndybook
Learning area-3-e28093-powerpoint-hndybookcikgushaharizan
 

Viewers also liked (18)

DAILY AGRI REPORT BY EPIC RESEARCH-19 NOVEMBER 2012
DAILY AGRI REPORT BY EPIC RESEARCH-19 NOVEMBER 2012DAILY AGRI REPORT BY EPIC RESEARCH-19 NOVEMBER 2012
DAILY AGRI REPORT BY EPIC RESEARCH-19 NOVEMBER 2012
 
Spanish cinema
Spanish cinemaSpanish cinema
Spanish cinema
 
Evaluation quest 1 film poster
Evaluation quest 1 film posterEvaluation quest 1 film poster
Evaluation quest 1 film poster
 
Levona travel presentation english
Levona travel presentation englishLevona travel presentation english
Levona travel presentation english
 
150509 storm cv activeer je ambitie
150509 storm cv activeer je ambitie150509 storm cv activeer je ambitie
150509 storm cv activeer je ambitie
 
Hubspot marketing-3q15-v6-final
Hubspot marketing-3q15-v6-finalHubspot marketing-3q15-v6-final
Hubspot marketing-3q15-v6-final
 
Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...
Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...
Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...
 
8 2-30-slideshare-citasyreferenciasbibliograficas-valentina riveraortiz
8 2-30-slideshare-citasyreferenciasbibliograficas-valentina riveraortiz8 2-30-slideshare-citasyreferenciasbibliograficas-valentina riveraortiz
8 2-30-slideshare-citasyreferenciasbibliograficas-valentina riveraortiz
 
Cool Cars
Cool CarsCool Cars
Cool Cars
 
Presentation for ajp final draft
Presentation for ajp final draftPresentation for ajp final draft
Presentation for ajp final draft
 
Recrutare pe social media
Recrutare pe social mediaRecrutare pe social media
Recrutare pe social media
 
Digital Zen with Productivity & Timesaving Apps
Digital Zen with Productivity & Timesaving AppsDigital Zen with Productivity & Timesaving Apps
Digital Zen with Productivity & Timesaving Apps
 
Nigeria social progress index 2014
Nigeria social progress index 2014Nigeria social progress index 2014
Nigeria social progress index 2014
 
#NoProjects - Beyond Projects
#NoProjects - Beyond Projects#NoProjects - Beyond Projects
#NoProjects - Beyond Projects
 
The Wakefield Monster
The Wakefield MonsterThe Wakefield Monster
The Wakefield Monster
 
UX Camp 2016 Copenhagen - Friction In Design
UX Camp 2016 Copenhagen - Friction In DesignUX Camp 2016 Copenhagen - Friction In Design
UX Camp 2016 Copenhagen - Friction In Design
 
Educación argentina financiamiento 2016
Educación argentina financiamiento 2016Educación argentina financiamiento 2016
Educación argentina financiamiento 2016
 
Learning area-3-e28093-powerpoint-hndybook
Learning area-3-e28093-powerpoint-hndybookLearning area-3-e28093-powerpoint-hndybook
Learning area-3-e28093-powerpoint-hndybook
 

Similar to An Evaluation of Pair Programming Practice

Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Maven Logix
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimationssuserb7c8b8
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxAbcXyz302255
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfutubashaikh26
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
Introduction to computer programming.pdf
Introduction to computer programming.pdfIntroduction to computer programming.pdf
Introduction to computer programming.pdfHasankaNayanjith
 
Pair Programming in software engineering.pptx
Pair Programming in software engineering.pptxPair Programming in software engineering.pptx
Pair Programming in software engineering.pptxJafarMulla4
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionJosh Gough
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)Hayim Makabee
 
Client Side Unit Testing
Client Side Unit TestingClient Side Unit Testing
Client Side Unit Testingcloud chen
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issueJigisha Pandya
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationBlue Elephant Consulting
 

Similar to An Evaluation of Pair Programming Practice (20)

Lecture 25
Lecture 25Lecture 25
Lecture 25
 
Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening Capability Building for Cyber Defense: Software Walk through and Screening
Capability Building for Cyber Defense: Software Walk through and Screening
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
 
Introduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptxIntroduction Software Engineering Basics-Module(01).pptx
Introduction Software Engineering Basics-Module(01).pptx
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
 
ppt_se.pdf
ppt_se.pdfppt_se.pdf
ppt_se.pdf
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Coding - SDLC Model
Coding - SDLC ModelCoding - SDLC Model
Coding - SDLC Model
 
Introduction to computer programming.pdf
Introduction to computer programming.pdfIntroduction to computer programming.pdf
Introduction to computer programming.pdf
 
Pair Programming in software engineering.pptx
Pair Programming in software engineering.pptxPair Programming in software engineering.pptx
Pair Programming in software engineering.pptx
 
SE Unit 1
SE Unit 1SE Unit 1
SE Unit 1
 
Java Code Quality Tools
Java Code Quality ToolsJava Code Quality Tools
Java Code Quality Tools
 
Enterprise PHP
Enterprise PHPEnterprise PHP
Enterprise PHP
 
Software Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous InspectionSoftware Defect Prevention via Continuous Inspection
Software Defect Prevention via Continuous Inspection
 
The Role of the Software Architect (short version)
The Role of the Software Architect (short version)The Role of the Software Architect (short version)
The Role of the Software Architect (short version)
 
Client Side Unit Testing
Client Side Unit TestingClient Side Unit Testing
Client Side Unit Testing
 
White box testing
White box testingWhite box testing
White box testing
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issue
 
An Introduction To Software Development - Implementation
An Introduction To Software Development - ImplementationAn Introduction To Software Development - Implementation
An Introduction To Software Development - Implementation
 
Manual Software testing - software development life cycle
Manual Software testing - software development life cycleManual Software testing - software development life cycle
Manual Software testing - software development life cycle
 

Recently uploaded

Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxDenish Jangid
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxPooja Bhuva
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17Celine George
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17Celine George
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxPooja Bhuva
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 

Recently uploaded (20)

Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 

An Evaluation of Pair Programming Practice

  • 1. An Evaluation of Pair Programming
  • 2. Contents •Introduction •Characteristics •Variants of Pair Programming •Strengths and Weaknesses •Defect Prevention by Pair Programming •Resistance to Pair Programming •Related Metrics •Conclusion
  • 3. Pair Programming •An eXtreme Programming practice •Software development technique •A defect prevention method •Involves two programmers working side-by-side on a common task •P1: Driver •P2: Navigator or Observer •They switch roles periodically
  • 4. Characteristics •Two programmers •Pressure of work is divided between two programmers. •Partners help each other to concentrate on work. •Partners brainstorm and distribute cognition while working •Continuous reviews contribute better defect prevention •Improves quality with minimum budget and resources
  • 5. Variants of Pair Programming Remote pair programming •Also known as distributed pair programming or virtual pair programming •Two programmers situated at different locations team up as a pair to work on same code and design using common shared text editors and collaboration tools Ping Pong pair programming •Programmer 1: Writes a failing unit test (Ping) •Programmer 2: Makes a test pass by writing necessary implementation code (Pong) •Programmer 2: Writes a new failing unit test (Ping) •Programmer 1: Makes a test pass by writing necessary implementation code (Pong) •Go back to Step 1 (Follow this iteration for all pairing session).
  • 6. Variants of Pair Programming (Contd.) Cross Functional pair programming (CFPP) •It addresses development of embedded systems. •CFPP pair consists of a software engineer working together with a hardware engineer to create a module or an entire embedded system. •CFPP usually involves programming, debugging, simulations, emulations, etc.
  • 7. Strengths of Pair Programming •"Two persons can think more than one" •It reduces risk of Repetitive Stress Injury (RSI) •It helps in improving learning capabilities •Knowledge passes easily between pair programmers. •Decreased risk to management •Improved quality •Reduced cost of development
  • 8. Weaknesses of Pair Programming •Some programmers may prefer to work alone •A programmer might get intimidated by other •Personal conflicts •Annoying personal habits •Decisions like "Whom to pair?" is difficult to decide
  • 9. Defect Prevention •Pair Programming prevents code and design defects •It is a type of continuous reviewing of work •Continuous reviews help in defect prevention and defect removal
  • 10. Resistance to Pair Programming •Lack of familiarity and knowledge over the technique •People are unwilling to take up the new idea of pairing seriously because many are accustomed to traditional solo programming •Many consider pairing as a waste of time, money, and resources because the team requires time to learn •It takes time to convince management •No time for pair programming due to deadline pressure
  • 11. Related Metrics Productivity of a Single Person Number of Lines of Code produced by a single programmer during one month period Pair Speed Advantage Ratio between time required by a single programmer and time required by pair programmers for performing some task Defect Density The average number of defects per a unit of LOC. Pair Defect Advantage Ratio between defect density of pair programming and defect density of traditional software development Product Size Number of Lines of Code or Function Points
  • 12. Conclusion •Pair programming is not applicable to every software project •Success of pair programming depends on coordination and cooperation between the partners •Bad pairing may result in lower productivity and quality •Do not use pair programming while working on complex problems •We suggest using pair programming - WHEN - oTask complexity is low and schedule pressure is high oTask complexity is high and schedule pressure is low