You are on page 1of 8

A Systematic Review of Pair Programming Research –

Initial Results
Norsaremah Salleh
Department of Computer Science
University of Auckland
nsal017@ec.auckland.ac.nz

ABSTRACT technique and to understand how the practice can improve


This paper presents the initial results of our systematic review students’ learning outcomes. The stated benefits of pair
of pair programming studies. As an alternative to performing a programming were identified as follows:
literature review, we conducted a systematic review in order to • Improvement in students’ academic performance such
reveal the answers to our research questions pertaining to the as in final and mid term exams, quizzes,
issues of pair programming in an educational context. Our focus programming assignments and overall course grades
is to identify factors affecting the effectiveness of students who [22, 23, 24, 28, 25, 26].
pair programmed, particularly related to the psychosocial
factors such as compatibility, personality and gender issues. • Improvement in programming productivity in terms
Our systematic review follows the phases described in the of the time spent on coding and quality of the
procedures for performing systematic reviews outlined in [18]. software produced [29, 37, 11, 13, 21].
We have included 66 studies for the synthesis of evidence, of
which 10 studies were found relevant to answer the first • Increase in students’ retention rate and course
research question. The findings showed that personality type is completion rate [23, 24, 28].
the most common factor investigated. However, the results of • Increased students’ confidence level and enjoyment in
those studies were somewhat inconclusive. learning programming [36, 23, 24, 25, 26].
Categories and Subject Descriptors • Reduced staff workload [38, 7].
k.3.2 [Computer and Information Science Education]:
Computer Science Education • Increased efficiency in helping female students to
work in programming tasks [2, 35, 14].

General Terms: Management, Human Factors In this paper, we describe the technique that we have adopted in
conducting the literature review of pair programming research
in an academic setting. We have employed the systematic
Keywords: pair programming, systematic review, review approach to systematically and comprehensively assess
empirical studies the relevant literature or studies in pair programming following
the guidelines in [18]. The result of this review can be used to
understand the current “state of the art” of research in pair
1. INTRODUCTION programming when applied to an educational context.
The term “pair programming” was first used in 1999 as one of
the core practices in the Extreme Programming (XP) software The remaining of this paper is organized as follows: Section 2
development methodology in industry. As defined by Williams describes the background of pair programming followed by an
et al. [37] pair programming refers to a practice in which two explanation of the systematic review’s approach in Section 3.
programmers sitting side by side using only one computer to Section 4 reports our initial results and finally we conclude and
work collaboratively on the design, algorithm, code or test. One suggest our future work in Section 5.
of them is the “driver”, who is responsible for typing the code
and has control over the resources such as computer, mouse and 2. BACKGROUND ON PAIR
keyboard, whereas the partner known as “navigator” or PROGRAMMING
“observer” has the responsibility of observing how the driver The success stories of pair programming in the industry have
works. In every single task, the navigator is expected to detect been reported by Haungs [12], where the practice has been
errors made by the driver and offer ideas in solving the successfully implemented in the C3 projects payroll
problem. computations for hundred of thousands of employees. As a
result of its successful implementation, pair programming was
The practice of pair programming has been widely implemented reported to efficiently increase the improvement of
in the industry as well as in educational settings (Domino et al programming productivity and also increase the knowledge
[8], Chong et al. [6]. A vast amount of research on pair transfer among software developers.
programming has been conducted to observe the benefits of the
A study by Nosek [29], which involved 15 programmers,
This paper was published in the proceedings of the New Zealand showed that all groups (paired teams) outperformed individual
Computer Science Research Student Conference 2008. Copyright is held programmers. In his study, pair programmers produced a more
by the author/owner(s).
readable and functional code compared to solo programmers.
They also found that pair programmers enjoyed more the
collaborative problem solving and were more confident in their
solutions. The benefits of pair programming in industry
NZCSRSC 2008, April 2008, Christchurch, New Zealand. motivated many academics and researchers to apply the
152 N. Salleh

technique in higher educational institutions particularly in the using extensive and comprehensive strategies based on several
field of Software Engineering (SE) and Computer Science (CS). defined stages (see Figure 1). Our systematic review followed
the steps outline below, some of which with iteration:
Anecdotal and empirical evidence shows that the pair
programming technique has brought significant contributions to • Identification of the need of the review and develop
the performance of learning introductory programming courses the review protocol
in CS curriculum [7]. In 1999, Williams et al. [36] conducted a • Formulation of the research questions
study among senior Software Engineering students to validate • Identification of relevant literature by conducting a
the effectiveness of pair programming. In terms of the time comprehensive and exhaustive search
spent on programming, initially the pair programmers took 60 • Selection of primary studies based on
more hours to complete the assignment, but it reduced by 15% inclusive/exclusive criteria
after the adjustment period (ie. “pair jelling”). They found that, • Data extraction together with the quality assessment
compared to solo students, paired students completed their • Synthesis of evidence
assignments 40% to 50% faster. In terms of students’ • Interpretation of results and report writing
satisfaction, many studies reported that the majority of students
enjoyed the experience of using pair programming and showed
positive attitudes towards the practice [36, 9, 23, 34, 25, 26]. Start

Despite the importance of studying the effectiveness or impact


of pair programming practice towards educational benefits,
investigating factors that contribute to the success of pairing Identify relevant literature
work has never been neglected. In [5], Chaparro et al. found
that matching skill levels and programming tasks have a strong
influence on pairs’ collaboration. In another study, Katira et al.
[15] suggested that compatibility of pair programmers has a
significant impact on work productivity. Her team has identified Selection of studies
personality type, actual skill level, perceived technical
competence and self esteem as potential factors that determine
the compatibility of pair programmers. Their studies on 564
undergraduate and graduate students showed that pair
programmers were highly compatible and successful if paired Data extraction
randomly, without necessarily considering personality type,
skill level or self-esteem. The most significant finding from
their study was that students preferred to pair with someone
they perceived to be of similar technical competence, regardless
of their personality type [15, 40]. Assessment on quality of studies

Research results, however, are found to be contradictory as


highlighted by Gallis et al. [10]. For example, a study by
Freeman et al. [9], found that there was no significant
difference between pair and solo students in terms of student’s
academic performances (quizzes, final exams, and course Evidence synthesis + write up

grades) and the time spent on the project. However, the findings
in McDowell et al. [22], showed that the performance of paired
Systematic Review
students was significantly higher than the solo students both in Report
the final exams and course grades. Canfora et al. [3] also
reported a decrease in time spent on programming for pair
programmers instead of solo programmers, thus refuting the End
claim made by Freeman.
Figure 1: Stages in Systematic Review Process
Considering the importance of assessing the pair programming
research, we performed the systematic review in order to
comprehensively review all related studies. Our major focus is The development of a review protocol is important as a
to review all empirical studies within the domain of CS/SE framework for the systematic review. It describes the strategies
teaching and learning for the purpose of gaining understanding to be executed when the real conduct of review is carried out.
on the social aspects of pair programming such as gender Most importantly, the protocol defines the research questions to
issues, personality type and compatibility and other relevant be answered towards the end of the review, describes how the
factors. literature will be searched and stored and the methods to
synthesize the evidence in order to answer the research
questions [18].
3. SYSTEMATIC REVIEW METHOD
3.2 Research Questions
3.1 Introduction Within the perspective of our systematic review, our focus is to
understand the factors that influence the effectiveness of pair
A systematic review refers to a process of identifying, assessing
programming practice within an educational setting, particularly
and interpreting all available research evidence with the
in relation to the behavioral aspects. As suggested by Petticrew
purpose to provide answers of a particular research question
& Robert [30], the formulation of research questions which aim
[18]. It provides means or ways to conduct a literature review
to answer a research question about effectiveness, should
A Systematic Review of Pair Programming Research - Initial Results 153

comprise of 5 elements known as PICOC: Population, assessment) AND (Effectiveness OR efficient OR successful)
intervention, comparison, outcomes and context. AND (Quality OR excellence)
The identification of primary sources from online databases,
The population comprises specific target groups of people that journals, conferences and grey literature is important to ensure
the study will cover. In our systematic review, our population of the wide coverage of potential sources. The searching of
interest consists of both undergraduate and graduate Computer literature covered the study published within the period of ten
Science and Software Engineering students in higher years between 1997 and 2007.
educational institutions. Thus, we excluded those studies
focusing on industrial contexts. Table 1 shows the PICOC The initial phase of our search process involved the use of the
structure of our questions. following online databases to search for candidate primary
sources:
Table 1: Summary of PICOC
• ACM Digital library
Population CS/SE students
• Current Contents
Intervention & Pair programming, compatibility factor • EBSCOhost
Comparison (intervention) • IEEExplore
Solo programming (comparison) • ISI Web of Science
Outcomes Measurement metrics of pair programming • INSPEC
effectiveness and measurement metrics of • ISI Proceedings
quality • ProQuest
Study Design Review(s) of all empirical studies • Sage Full Text Collections
• ScienceDirect
Context Within the domain of CS/SE education • SpringerLink
• Scopus.
Our systematic review intends to answer the following research
questions: In our preliminary search, we retrieved a very small number of
articles when using the complete search string defined in the
Question 1: What evidence is there about compatibility factors protocol. For instance, when we used IEEEXplore, Inspec, and
that affect the effectiveness of pair programming? ProQuest, each retrieved only one article. On the other hand, we
retrieved in total 320 relevant articles of pair programming
Question 2: What are the metrics that have been used to when the search string was more general. In particular, we ran
measure the effectiveness of pair programming? the search using the keyword “pair programming” OR “pair-
programming” and our systematic review relied on the results
Question 3: How is quality measured in the studies that used of these general search strings. In relation to this, we also
quality as a measure of effectiveness? sought the opinion from our subject librarian regarding the
appropriate use of the search string and we received the advice
Question 4: Which pairing configurations are considered as that more results would appear if the strings defined were a bit
most effective looking at the compatibility factors obtained looser rather than strictly adhered to search term defined in the
from Question 1? protocol. Our experience supports the suggestion made by
Kitchenham et al. [18], which states that “the simpler search
string might have been just as effective”.

3.3 Identifying Relevant Literature The results of our search are stored using the EndNote software.
The first task in identifying the literature is to develop the After screening the titles and abstracts, and excluding all
search strings that will be used to search for the relevant irrelevant and duplicate studies, finally we selected 66 studies
articles. The strategy we used to construct the search terms is as to be included in the review. We discuss our selection criteria of
follows: the studies in the following section.

a) Derive major terms used in the review questions (i.e. 3.4 Selection of Primary Studies
based on the population, intervention, comparison, As inclusion criteria, we only considered empirical studies of
outcome and context) pair programming that involved students as the population of
b) List down keywords mentioned in the articles. interest. Therefore, other types of studies that involve scientific
c) Search for the synonyms or alternative words. We have or engineering methods, such as simulation studies or
also consulted our subject librarian to seek further advice generations of economics and mathematics models were
in the proper use of the terms. excluded. We excluded the following studies from our
d) Use the Boolean OR to incorporate alternative spellings selection:
and synonyms
e) Use the Boolean AND to link the major terms from • Papers presenting the opinion of the
population, intervention and outcome. researcher(s) without evidence to support the
claim.
The complete search string we initially used for the searching of • Papers about Agile/XP describing development
online literature is as follows: practices other than pair programming such as
test-first programming, refactoring etc.
(student* OR undergraduate) AND (pair programming OR • Papers that described tools (software or
pair-programming) AND (compatibility OR Personality type hardware) to support the pair programming
OR Ethnic OR Self-esteem OR Confidence OR Gender OR practice.
skill*) AND (Experiment* OR Measurement OR evaluation OR • Papers not written in English.
154 N. Salleh

3.5 Quality Assessment and Data Extraction


Other (Qualitative
In assessing the quality of studies, we developed a checklist studies) 5%
outlining the major important quality criteria expected from the
Experiment
primary study. We built the list based on the quality criteria Mixed-method 16%
Survey
adapted from Leedy et al. [20], Kitchenhem et al. [18], and Case studies
Spencer [33]. Mixed-method
Case studies 3% Other (Qualitative studies)
Based on the studies included in the review, data extraction was
carried out on all papers that passed the screening process. The
data from each of the studies were recorded using a data Survey 13% Experiment 63%
extraction form and saved in an individual word document file.
For validation purposes, 15 of the 66 primary studies were
randomly selected and had their data extracted by both authors.
The extracted data was later compared in a review meeting
attended by both authors and any disagreements were resolved
during the meeting.
Figure 3 Studies by Research approach
4 INITIAL RESULTS
In this Section we present the initial outcomes and analysis of Our analysis on the type of research approach used in these
the systematic review. Our intention is to synthesize the studies is shown in Figure 3. The classification of research
evidence based on the data extracted described in the previous approach was done based on classification used by Wohlin et al.
Section. The synthesis aims to answer the research questions [41]. Formal experiments were found to be the most popular
stated in Section 3.2. research approach used, when compared to other approaches
such as Surveys, Case Studies, Mixed-methods, and pure
The process of identifying relevant literature produces 320 qualitative studies.
empirical studies, of which only 140 studies were found to be
potentially relevant and useful (See Figure 2). However, after In this paper, we will only report the results of the first research
the screening of titles and abstracts, and removing all duplicate question. The synthesis of the other research questions (i.e.
studies, only 66 studies1 were included for the synthesis of Question 2, 3 and 4) is still in progress.
evidence. This figure represents 49% of all primary studies Question 1: “What evidence is there about compatibility
included based on screening of titles and abstracts. There were factors that affect the effectiveness of pair programming?”
64 empirical studies conducted in an academic setting and 2
studies were done in a mixed setting (academic and industry). The compatibility factors are factors that are believed to
influence the compatibility of students when programming in
Total studies retriev ed pairs. These include psychosocial factors, communication, and
n1 = 320 education background of the students who pair programmed.
from online databases
Table 2 shows the summary of evidence found from the review
of studies investigating pair compatibility.
From our analysis, we found only three studies [15, 16, 40] that
Exclude irrelev ant specifically addressed the compatibility of pair programmers as
studies n = 180 part of their research questions. The results of compatibility are
found to vary among different treatment groups in the study
conducted by Williams et al. [40]. For instance, their
experiment results of CS1 and SE courses were contradictory
Aftter screening titles
when students with different personality types, similar actual
n2 = 140 skill level, and similar self-esteem were paired together. The
& abstracts
samples used in those studies were from undergraduate and
graduate students; thus experience and academic background
might be the reasons why these results varied.
In addition to the abovementioned studies, another three studies
Exclude irrelev ant
n = 74 [13,19,32] looked at personality type, but not as part of their
or duplicate studies
research question(s). We found that Myers-Briggs personality
test (MBTI) was the most commonly used instrument to
measure personality type [15,16,19,32,40]. Other than MBTI,
NEO-PI had been used in [13] to measure the personality type.
After detail assessment They discovered that the personality of a single programmer
n3 =66 does not affect the results of using pair programming in general,
of full text
but it might not be the case for the combination of personalities
in a single pair. The only study that used the Keirsey
Figure 2: Identifying Relevant Literature Temperament Sorter test (KST) was [32]. The KST was used to
measure the temperament types of developers.

1
The list of studies can be found at
http://www.cs.auckland.ac.nz/~emilia/esem08/
A Systematic Review of Pair Programming Research - Initial Results 155

Table 2: Summary on study related to compatibility factor


Author(s) Type of Compatibility Outcomes on pair compatibility Course(s)/ Sample
study factor students size
involved
Chao et al. Survey & Pair programming success (code quality and pair CS1 (UG)
Personality
(2006) Formal Exp. compatibility) is not influenced by differences in 58
traits
personality traits.
Chaparro Skill level, type Skill level and the type of tasks are the most influential OOP (PG)
et al Field Study of role (driver factors affecting the perceived effectiveness of pair
58
(2005) (Exploratory) or navigator), programming. Skill level gap between the partners should
type of tasks not be too broad.
Formal Exp. The individual personality traits do not have significant OO (UG)
Heiberg et Personality
& consequences to pair programming performance. 82
al. (2003) type
Exploratory
Students were compatible if being paired randomly.
Personality
Students have a preference to pair with a student they
type, actual
perceived to be of similar technical competence. They CS1 (UG)
skill level, 589 (2
Katira et also prefer to work with partners with different MBTI SE (UG)
Formal Exp. perceived academic
al. (2004) (Myers Briggs Type Indicator) skills. Graduate students OO (G)
technical Semester)
prefer to collaborate with partners of similar actual skill
competence,
level. Pair compatibility does not affected by the
and self-esteem
students’ self-esteem.
Compatibility was significantly influenced by the
Personality perceived skill and actual skill. Personality types and
types, actual self-esteem are not critical for pair compatibility.
361 (3
Katira et and perceived Compatibility can be achieved if the pair consists of: SE (UG)
Formal Exp. academic
al. (2005) skills, self- - similar perceived skills level OO (G)
Semester)
esteem, gender - similar actual skills level
and ethnicity - female students
- minority students
Students who dislike pairing were those who experienced
having incompatible partner. Students who possess
Personality sensing-intuitive learning style showed higher preference
type, learning to work in pairs similar to those extraverts of MBTI skill.
119 (2
Layman style, work Students in the group who disliked collaborating were
Survey SE (UG) academic
(2006) ethic, time reflective learners, introverts and strong coders. Students’
semester)
management preference whether to pair or not was highly affected by
ability the compatibility of the pair. Personality and learning
style had little influence towards perception of
collaboration.
Pair performance is correlated with the “feelgood” factor
of the pair. However, the study cannot determine whether
Muller & 38 (2
“Feelgood” the performance is originally due to the “feelgood” factor
Padberg Formal Exp. XP (UG) academic
factor or because the developers have the impression that they
(2004) semester)
are performing well.

Personality Pairs of mixed-personalities and temperaments showed


Sfetsos et type and better performance and collaboration-viability. They
Formal Exp. achieved better points on assignments and shorter time to SE (UG) 84
al (2006) temperament
type complete the tasks.
Students who identified themselves as “warrior”
preferred to work alone and enjoyed pair programming
Thomas et Confidence 60
Formal Exp. less. Paired students of similar confidence level can cause CS1 (UG)
al. (2003) level approx.
greater performance.

Compatibility can be achieved if students were paired


Personality randomly. The study identified the three factors
types, learning contribute to compatibility: perceived skill, work ethic, 1350
styles, skill and learning style. Students were compatible with partner CS1 (UG) (two-
Williams
levels, self- they perceived of similar or higher skill level, similar SE (UG) phased
et al Formal Exp.
esteem, work work ethic, and different learning styles. OO (G) study
(2006)
ethic and time Other variables that were studied such as personality 2002 –
management types, actual skill level, self-esteem and time 2005)
skills management skills are not significant contributors.
156 N. Salleh

UG – Undergraduate student
G – Graduate student

SE – Software Engineering
OO – Object Oriented Programming
CS1 – Introduction to Programming

initial results from the systematic review also suggest that there
Based on the review, we could see that personality type was the is a lack of research concerning the social factors such as
most common factor investigated. However, only [15] and [32] gender and ethnicity in understanding their influence on the pair
showed that there is a significant difference between pairs of programming practice. Our future work involves performing the
mixed developer personalities and temperaments, and pairs of analysis of Question 2 until Question 4 investigating issues on
the same personalities and temperaments. Their results showed measuring pair programming effectiveness and its associated
that the former communicate and collaborate better than the quality measurement. The results would help researchers in
latter. There were no significant findings in the other studies in identifying gaps in the current pair programming research in
terms of influence of personality type on pair compatibility. improving the implementation of the practice in higher
Our systematic review also discovered that students should be education institutions.
paired with a partner of a similar or higher perceived skill in
order to achieve greater pair performance. The experiments 7. ACKNOWLEDGMENTS
demonstrated that pairs work well when both students have The author would like to thank the University of Auckland for
similar ability and motivation to succeed in the course providing the funding to present this work at NZCSRSC08. We
[15,16,40]. In terms of gender issues, we found only one study would also like to thank Emilia Mendes for her valuable
[16] that investigated gender compatibility as one of the factors comments and editing of this paper, and finally the ELSAC for
likely to determine effective pairing organization. Other gender proofreading the paper.
related studies [2,14,23] were more concerned with assessing
the usefulness of pair programming in increasing participation 8. REFERENCES
and retention of female students in CS/SE courses. Similarly, [1] K. Beck, Extreme Programming Explained: Embrace
[16] is the only study that investigated ethnicity by classifying Change, Reading, PA: Addison-Wesley, 1999
students as either belonging to majority or minority group. [2] S. B. Berenson, K. M. Slaten, L. Williams, C. Ho,
Their results showed that minority students were in favor of Voices of women in a software engineering course:
pairing. However, they did not investigate the effects on pairing Reflections on collaboration, ACM Journal of
compatibility when students within the same ethnicity were Educational Resources in Computing, 4(1), 2004, pages
paired. 1-18.
From the synthesis of evidence in answering the first research [3] G. Canfora, A. Cimitile, C. A. Visaggio, Empirical
question, we foresee that further research related to achieving study on the productivity of the pair programming,
pair compatibility particularly related to gender differences and Extreme Programming and Agile Processes in Software
ethnicities is important to investigate success in pair Engineering (6th International Conference, XP 2005),
programming practice. Investigating the personality types is Proceedings (Lecture Notes in Computer Science),
also essential in order to confirm the earlier research findings. Springer-Verlag, Vol. 3556, pages 92-95, 2005.
6. CONCLUSIONS AND FUTURE WORK [4] J. Chao, and G. Atli, Critical Personality Traits in
This paper presented the initial results of a systematic review of Successful Pair Programming. AGILE’06, IEEE
pair programming empirical studies aimed at investigating the Computer Society, 2006.
factors affecting the pair compatibility and how the
[5] E.A. Chaparro, A. Yuksel, P. Romero, and S. Bryant,
effectiveness in pair programming were measured. From the 66
Factors affecting the perceived effectiveness of pair
studies included in the review, only 10 studies were found
programming in higher education, Proceedings 17th
relevant to answer the first research question.
Workshop of the Psychology of Programming Interest
In our initial findings, there were only three studies Group, June 2005, pages 5 – 18, 2005.
investigating the compatibility issues of pair programmers
[6] J. Chong, T. Hurlbutt, The social dynamics of pair
[15,16,40]. However, the findings of those studies were
programming, ICSE 2007 29th International Conference
somewhat inconclusive. Overall, 12 compatibility factors
on Software Engineering, IEEE Computer Society,
investigated were personality type, skill level, self-esteem,
2007.
gender, ethnicity, learning style, work ethic, time management
ability, “feel good” factor, confidence level, type of role and the [7] D.C. Cliburn, Experiences with pair programming at a
type of tasks. Even though personality type was investigated in small college, Journal of Computing Sciences in
many studies, only two studies [15,32] yielded positive results Colleges, October 2003, 19(1), 2003.
suggesting different or mixed personality types will lead to pair
compatibility, while the remaining studies did not produce any [8] Domino, M. A., R. Webb Collins & Hevner, A.R.
significant results. (2007). Controlled experimentation on adaptations of
pair programming. Springer.
Our major finding from the review shows that pairing students
of similar or higher perceived skills will lead to pair [9] S. F. Freeman, Jaeger B. K., J.C. Brougham, Pair
compatibility, thus achieving greater pair performance. The programming: More learning and less anxiety in a first
programming course, ASEE Annual Conference
A Systematic Review of Pair Programming Research - Initial Results 157

Proceedings, 2003. [23] C. McDowell, L. Werner, H.F. Bullock, J. Fernald, The


impact of pair programming on student performance
[10] H. Gallis, E. Arisholm, and T. Dyba, An initial perception and persistence, Proceedings 25th
framework for research on pair programming, International Conference on Software Engineering, 3 –
Proceedings International Symposium on Empirical 10 May 2003, pages 602 – 607, 2003.
Software Engineering, 30 Sept. – 1 Oct. 2003, pages 132
– 142, 2003. [24] C. McDowell, L. Werner, H.F. Bullock, J. Fernald, Pair
programming improves student retention, confidence,
[11] E.F. Gehringer, A Pair-Programming experiment in a and program quality, Communications of the ACM, Vol.
non-programming courses, OOPSLA'03, ACM Press, 49, No. 8, pages 90-95, 2006.
2003.
[25] E. Mendes, L. B. Al Fakhri, A. Luxton-Reilly,
[12] J. Haungs, Pair programming on the C3 project. Investigating Pair Programming in a 2nd year Software
Computer, Vol. 34(2), pages 118-119, 2001. Development and Design Computer Science Course,
[13] S. Heiberg, Puus U., P. Salumaa, A. Seeba, Pair- Proceedings of ITiCSE’05, June 2005, pages 296-300,
programming effect on developers productivity, XP 2005.
2003 Extreme Programming and Agile Processes in [26] E. Mendes, L. B. Al Fakhri, A. Luxton-Reilly, A
Software Engineering Conference, Proceedings (Lecture Replicated Experiment of Pair-Programming in a 2nd
Notes in Computer Science), Springer-Verlag, year Software Development and Design Computer
Vol.2675, pages 215-24, 2003. Science Course, Proceedings of ITiCSE’06, 2006.
[14] C. Ho.; Slaten, K.; Williams, L.; and Berenson, S., [27] M. M. Muller, & F. Padberg, An empirical study about
Examining the Impact of Pair Programming on Female the feelgood factor in pair programming. Proceedings.
Students, NCSU Technical Report, TR-2004-20, June 10th International Symposium on Software Metrics .
17, 2004. IEEE Computer. Society, pages 151-8, 2004.
[15] N. Katira, L. Williams, E. Wiebe, C. Miller, S. Balik, [28] N. Nagappan, L. Williams. M. Ferzli, E. Wiebe, K.
and E. Gehringer, On understanding Compatibility of Yang, C. Miller, S. Balik, Improving the CS1
Student Pair Programmers, Proceedings of the 35th Experience with Pair Programming, Proceedings of the
SIGCSE technical symposium on Computer Science 34th SIGCSE Technical Symposium on Computer
Education, March 2004, 2004. Science Education, ACM SIGCSE Bulletin, 35 (1),
[16] N. Katira, L. Williams, and J. Osborne, Towards pages 359 – 362, 2003.
Increasing the Compatibility of Student Pair [29] J. T. Nosek, The Case for Collaborative Programming,
Programmers, Proceedings of the 27th International Communications of the ACM, Vol. 41, No. 3, pages
Conference on Software Engineering, May 15 – 21, 105-108, 1998.
2005, 2005.
[30] M. Petticrew, H. Roberts, Systematic Reviews in the
[17] K. S. Khan, R. Kunz, J. Kleijnen, G. Antes, Systematic Social Sciences A Practical Guide, Blackwell
Reviews to Support Evidence-based Medicine, London: Publishing, 2006.
The Royal Society of Medicine Press Ltd, 2003.
[31] L.M. Pickard, B.A. Kitchenham, P.W. Jones,
[18] B. A. Kitchenham, S. Charters, Procedures for Combining empirical results in software engineering,
Performing Systematic Literature Reviews in Software Information and Software Technology, Vol. 40, pages
Engineering, EBSE Technical Report, Software 811-821, 1998.
Engineering Group, School of Computer Science and
Mathematics, Keele University, UK and Department of [32] P. Sfetsos, I. Stamelos, & I. Deligiannis, Investigating
Computer Science, University of Durham, UK, 2007. the impact of personality types on communication and
collaboration-viability in pair programming - an
[19] L. Layman, Changing students' perceptions: an analysis empirical study. Extreme Programming and Agile
of the supplementary benefits of collaborative software Processes in Software Engineering. 7th International
development, Proceedings. 19th Conference on Software Conference, XP 2006. Proceeding (Lecture Notes in
Engineering Education & Training, IEEE Computer Computer Science Vol.4044). Springer-Verlag, pages
Society, 2006: 8. 43-52, 2006.
[20] P. D. Leedy, J. E. Ormrod, Practical Research Planning [33] L. Spencer, J. Ritchie, J. Lewis, L. Dillon, Quality in
and Design, Pearson Merril Prentice Hall, 2005. qualitative evaluation: A framework for assessing
[21] L. Madeyski, Preliminary analysis of the effects of pair research evidence. London: Government Chief Social
programming and test-driven development on the Researcher’s Office, 2003.
external code Quality. CiteSeer. 31 Aug. 2007. [34] L. Thomas, M. Ratcliffe, & A. Robertson, Code warriors
<http://citeseer.ist.psu.edu/madeyski05preliminary.html and code-a-phobes: a study in attitude and pair
> programming, ACM. SIGCSE Bulletin, 35(1), 363-367,
[22] C. McDowell, L. Werner, H.F. Bullock, J. Fernald, The 2003.
effects of Pair-Progrramming on Performance in an [35] L. L. Werner, B. Hanks, C. McDowell, Pair-
Introductory Programming Course, Proceedings 33rd Programming helps female computer science students,
SIGCSE Technical Symposium on Computer Science ACM Journal of Educational Resources in Computing,
Education, ACM Press, 2002. Vol. 4, No. 1, March 2004, 2004.
158 N. Salleh

[36] L. Williams, and R.R Kessler, The effects of “pair- [39] L. Williams, C. McDowell, N. Nagappan, J. Fernald,
pressure” and “pair-learning” on software engineering and J. Werner, Building pair programming knowledge
education, Proceedings 13th Conference on Software through a family of experiments, Proceedings
Engineering Education & Training, 6 – 8th March 2000, International Symposium Empirical Software
pages 59 – 65, 2000. Engineering, 30 Sept. – 1 Oct. 2003, pages 143 – 152,
2003.
[37] L. Williams, R.R. Kessler, W. Cunningham, and R.
Jeffries, Strengthening the case for pair programming, [40] L. Williams, L. Layman, J. Osborne, and N. Katira,
IEEE Software, 17(4), July – Aug. 2000, pages 19 – 25, Examining the compatibility of Student Pair
2000. Programmers, the Agile 2006 International Conference,
2006.
[38] L. Williams, K. Yang, E. Wiebe, M. Ferzli, C. Miller,
Pair Programming in an Introductory Computer Science [41] C. Wohlin, P. Runeson, M. Host, M.C. Ohlsson, B.
Course: Initial Results and Recommendations, Regnell, and A. Wesslen, Experimentation in Software
Proceedings of OOPSLA, 4th Nov. – 8th Nov. 2002. Engineering: An Introduction, Boston: Kluwer
Academic Publisher, 2000.

You might also like