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 overview
Serhiy Yevtushenko
 

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 2012
Epic Research Limited
 
Evaluation quest 1 film poster
Evaluation quest 1 film posterEvaluation quest 1 film poster
Evaluation quest 1 film poster
mattdaave123
 
150509 storm cv activeer je ambitie
150509 storm cv activeer je ambitie150509 storm cv activeer je ambitie
150509 storm cv activeer je ambitie
StormCv
 
Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...
Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...
Аппаратная реализация бортовой автономной системы улучшенного и синтезированн...
kulibin
 
Presentation for ajp final draft
Presentation for ajp final draftPresentation for ajp final draft
Presentation for ajp final draft
aviherring
 
Learning area-3-e28093-powerpoint-hndybook
Learning area-3-e28093-powerpoint-hndybookLearning area-3-e28093-powerpoint-hndybook
Learning area-3-e28093-powerpoint-hndybook
cikgushaharizan
 

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

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
AbcXyz302255
 
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfuppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
ppt_se.bdfhrfykjyftiktgdukhydiyiuoyu8otrfu
tubashaikh26
 

Ä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

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
QucHHunhnh
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
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
heathfieldcps1
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Kürzlich hochgeladen (20)

1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
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)
 
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
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
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
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
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
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
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Ữ Â...
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 

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