Although pair programming is becoming more prevalent in software development, and a number of reports have been written about it [10] [13], few have addressed the manner in which pairing actually takes place [12]. Eve...
详细信息
ISBN:
(纸本)9781586036041
Although pair programming is becoming more prevalent in software development, and a number of reports have been written about it [10] [13], few have addressed the manner in which pairing actually takes place [12]. Even fewer consider the methods used to manage issues such as role change or the communication of complex issues. This paper highlights the way resources designed for individuals are re-appropriated and augmented by pair programmers to facilitate collaboration. It also illustrates that pair verbalisations can augment the benefits of the collocated team, providing examples from ethnographic studies of pair programmers 'in the wild'.
pair programming is a practice in which two programmers work collaboratively at one computer on the same design, algorithm, or code. Prior research on pair programming has primarily focused on its evaluation in academ...
详细信息
ISBN:
(纸本)9781595939715
pair programming is a practice in which two programmers work collaboratively at one computer on the same design, algorithm, or code. Prior research on pair programming has primarily focused on its evaluation in academic settings. There has been limited evidence on the use, problems and benefits, partner selection, and the general perceptions towards pair programming in industrial settings. In this paper we report on a longitudinal evaluation of pair programming at Microsoft. From the results of a survey sent to a randomly selected 10% of engineers at Microsoft, we find that 22% pair program or have pair programmed in the past. Using qualitative analysis, we performed a large-scale card sort to group the various benefits and problems of pair programming. The largest perceived benefits of pair programming were the introduction of fewer bugs, spreading code understanding, and producing overall higher quality code. The top problems were cost-efficiency, (work time) scheduling problems, and personality conflicts. Most engineers preferred a partner who had complementary skills to their own, who was flexible and had good communication skills.
Evidence from our systematic literature review revealed numerous inconsistencies in findings from the pair programming (PP) literature regarding the effects of personality on PP's effectiveness as a pedagogical to...
详细信息
Evidence from our systematic literature review revealed numerous inconsistencies in findings from the pair programming (PP) literature regarding the effects of personality on PP's effectiveness as a pedagogical tool. In particular: i) the effect of differing personality traits of pairs on the successful implementation of pair-programming (PP) within a higher education setting is still unclear, and ii) the personality instrument most often used had been Myers-Briggs Type Indicator (MBTI), despite being an indicator criticized by personality psychologists as unreliable in measuring an individual's personality traits. These issues motivated the research described in this paper. We conducted a series of five formal experiments (one of which was a replicated experiment), between 2009 and 2010, at the University of Auckland, to investigate the effects of personality composition on PP's effectiveness. Each experiment looked at a particular personality trait of the Five-Factor personality framework. This framework comprises five broad traits (Openness to experience, Conscientiousness, Extraversion, Agreeableness, and Neuroticism), and our experiments focused on three of these - Conscientiousness, Neuroticism, and Openness. A total of 594 undergraduate students participated as subjects. Overall, our findings for all five experiments, including the replication, showed that Conscientiousness and Neuroticism did not present a statistically significant effect upon paired students' academic performance. However, Openness played a significant role in differentiating paired students' academic performance. Participants' survey results also indicated that PP not only caused an increase in satisfaction and confidence levels but also brought enjoyment to the tutorial classes and enhanced students' motivation.
The objective of this paper is to present the current evidence relative to the effectiveness of pair programming (PP) as a pedagogical tool in higher education CS/SE courses. We performed a systematic literature revie...
详细信息
The objective of this paper is to present the current evidence relative to the effectiveness of pair programming (PP) as a pedagogical tool in higher education CS/SE courses. We performed a systematic literature review (SLR) of empirical studies that investigated factors affecting the effectiveness of PP for CS/SE students and studies that measured the effectiveness of PP for CS/SE students. Seventy-four papers were used in our synthesis of evidence, and 14 compatibility factors that can potentially affect PP's effectiveness as a pedagogical tool were identified. Results showed that students' skill level was the factor that affected PP's effectiveness the most. The most common measure used to gauge PP's effectiveness was time spent on programming. In addition, students' satisfaction when using PP was overall higher than when working solo. Our meta-analyses showed that PP was effective in improving students' grades on assignments. Finally, in the studies that used quality as a measure of effectiveness, the number of test cases succeeded, academic performance, and expert opinion were the quality measures mostly applied. The results of this SLR show two clear gaps in this research field: 1) a lack of studies focusing on pair compatibility factors aimed at making PP an effective pedagogical tool and 2) a lack of studies investigating PP for software design/modeling tasks in conjunction with programming tasks.
Recent experiments demonstrated the effectiveness of pair programming in terms of quality and productivity. Growing interest towards global software development is fostering the design of suitable methods and tools fo...
详细信息
Recent experiments demonstrated the effectiveness of pair programming in terms of quality and productivity. Growing interest towards global software development is fostering the design of suitable methods and tools for distributing software processes, at any level of detail, from entire subprocesses up to a single activity. Consequently, people placed in different locations could also share programming tasks and related practices, such as pair programming. Unfortunately, distribution might seriously compromise the success of pair programming, due to communication and collaboration issues. We have performed an experiment in order to investigate the impact of distribution on pair programming when performing maintenance tasks. An interesting conjecture stems from the experiment: under certain conditions, distributed pair's components tend to dismiss from each other, stopping the collaborative work. This can be a very expensive risk factor to keep into account when planning tasks of distributed pair programming.
In this paper, pair programming is empirically investigated from the perspective of developer personalities and temperaments and how they affect pair effectiveness. A controlled experiment was conducted to investigate...
详细信息
In this paper, pair programming is empirically investigated from the perspective of developer personalities and temperaments and how they affect pair effectiveness. A controlled experiment was conducted to investigate the impact of developer personalities and temperaments on communication, pair performance and pair viability-collaboration. The experiment involved 70 undergraduate students and the objective was to compare pairs of heterogeneous developer personalities and temperaments with pairs of homogeneous personalities and temperaments, in terms of pair effectiveness. pair effectiveness is expressed in terms of pair performance, measured by communication, velocity, design correctness and passed acceptance tests, and pair collaboration-viability measured by developers' satisfaction, knowledge acquisition and participation. The results have shown that there is important difference between the two groups, indicating better communication, pair performance and pair collaboration-viability for the pairs with heterogeneous personalities and temperaments. In order to provide an objective assessment of the differences between the two groups of pairs, a number of statistical tests and stepwise Discriminant Analysis were used.
Contribution: This paper provides evidence for the benefits of pair programming early in the curriculum on student performance later in the curriculum. It also confirms the short term benefits of partnerships at scale...
详细信息
Contribution: This paper provides evidence for the benefits of pair programming early in the curriculum on student performance later in the curriculum. It also confirms the short term benefits of partnerships at scale. Background: Engineers often work in teams, both in industry and in academia. Previous work has shown that partnered programming yields higher student performance during the course in which students partner. Research Questions: This paper investigates the long term effects of early curriculum pair programming on student performance in a following course. Specifically, do student partnerships impact long-term student performance in a later course? Are previously observed effects of partner programming robust to a larger sample size? Methodology: This quantitative analysis examines 2468 students in an introductory computer science sequence at a large, public research institution. The data set comprises two academic years and includes partnership participation, project and exam scores, withdraw rates, time between courses, GPA, and gender. Findings: A positive relationship is observed between partnering in an introductory course, and higher project scores in a future course, where all students worked alone (N=1003). Students with the lowest GPAs experienced the greatest benefits. Additionally, results with a large population of students confirm the observations of previous research, showing that partnerships are associated with an overall positive grade impact during the course in which the partnership takes place (N=2468).
Agile software development has been widespread adopted. One well-known agile approach is eXtreme programming (XP) where pair programming (PP) is a relevant practice. Although various aspects of PP have been studied, w...
详细信息
Agile software development has been widespread adopted. One well-known agile approach is eXtreme programming (XP) where pair programming (PP) is a relevant practice. Although various aspects of PP have been studied, we have not found, under a traditional model of PP, studies that examine the impact of using an IDE (Integrated Development Environment) as tool support. In an attempt to obtain a better understanding of the impact of using an IDE, we present the results of a controlled experiment that expose the influence on quality, measured as the number of defects injected per hour, of pair and solo programmers with and without the use of an IDE. Our findings suggest that the use of an IDE results in significantly higher defect injection rates (for both pairs and solos) when the programming task is not very complicated. Nevertheless, defect injection rates seem to decrease when pairs work on more complicated programming assignments irrespective of the tool support used. Quality is affected in a similar manner when either pair or solo programming is used.
This paper reports on two controlled experiments comparing pair programming with single developers who are assisted by an additional anonymous peer code review phase. The experiments were conducted in the summer semes...
详细信息
This paper reports on two controlled experiments comparing pair programming with single developers who are assisted by an additional anonymous peer code review phase. The experiments were conducted in the summer semester 2002 and 2003 at the University of Karlsruhe with 38 computer science students. Instead of comparing pair programming to solo programming this study aims at finding a technique by which a single developer produces similar program quality as programmer pairs do but with moderate cost. The study has one major finding concerning the cost of the two development methods. Single developers are as costly as programmer pairs, if both programmer pairs and single developers with an additional review phase are forced to produce programs of similar level of correctness. In conclusion, programmer pairs and single developers become interchangeable in terms of development cost. As this paper reports on the results of small development tasks the comparison could not take into account long time benefits of either technique. (c) 2005 Elsevier Inc. All rights reserved.
pair programming has generated considerable controversy: some developers are enthusiastic about it, almost evangelical; others are dubious, even hostile. However, a large factor in this controversy is that programmers...
详细信息
pair programming has generated considerable controversy: some developers are enthusiastic about it, almost evangelical; others are dubious, even hostile. However, a large factor in this controversy is that programmers label a wide variety of practices under the \"pair programming\" umbrella. Thus, before our community can sensibly discuss how pair programming works, we first need to establish exactly what it is.
暂无评论