SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersChitralekhaTherkar
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 

Kürzlich hochgeladen (20)

_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Micromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of PowdersMicromeritics - Fundamental and Derived Properties of Powders
Micromeritics - Fundamental and Derived Properties of Powders
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 

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