Vous êtes sur la page 1sur 4

Analyzing Pair-Programmers Satisfaction with the Method, the Result, and the Partner

Uuno Puus1 , Asko Seeba2 , Priit Salumaa3 , and Sven Heiberg4


Post-graduate student, University of Tartu Head of Laboratory, Cybernetica +372 5142594, Uuno.Puus@cyber.ee 2 Post-graduate student, Helsinki University of Technology Software Development Manager, Cybernetica +372 5105744, Asko.Seeba@hut.fi MSc student, Software Systems Engineering, RWTH Aachen +372 55571484, Priit.Salumaa@ut.ee 4 Research Engineer, Cybernetica +372 5059627, Sven.Heiberg@cyber.ee
1

Abstract. This paper gives an overview of a programmer satisfaction survey in pair-programming experiment. The experiment took place at Institute of Computer Science, University of Tartu (UT), Estonia. The paper includes the problem statement, description of the questionnaire, and the survey results.

Introduction

Pair-programming is programming technique according to which two programmers are working together on the same task at one computer [10]. Pair-programming satisfaction is important aspect discovered in most surveys and experiments as a reason of success of pair-programmers. In experiments usually the programmers were lling the questionnaires about working process and explain theirs satisfaction (or dissatisfaction). This satisfaction shows how the people enjoy working (paired or non-paired) process. Although in most cases pair-programming (as working method) was preferred [1], [5], [8], [9], implementing the actual pairprogramming is sometimes dicult. For example one of the obstacles occured in Norwegian XP projects [6]. It was the resistance to work together as a pair. Authors of current paper analyzed the structure of satisfaction with pairprogramming as a part of pair-programming experiment in University of Tartu. The main goal of the experiment was to measure, how pair-programming aects the programmers productivity. The result about productivity are described in [4]. The goal of this paper is to describe the results of the satisfaction survey. The satisfaction survey objective was to explain more precisely the structure of satisfaction.

J. Eckstein and H. Baumeister (Eds.): XP 2004, LNCS 3092, pp. 246249, 2004. c Springer-Verlag Berlin Heidelberg 2004

Analyzing Pair-Programmers Satisfaction with the Method

247

2
2.1

Satisfaction Survey
Three Types of Satisfaction

Pair-programming satisfaction has dierent meanings in dierent investigations. Usually satisfaction is considered as satisfaction with working method (organisational aspect). In [10] it is declared that programmers are satised with pair-programming, because pair-programming collaborators keep each other on the disciplined track. In [7] satisfaction helps with increased communications between developers, speed of communication of design changes, and organization of meetings. In [3] satisfaction is also explained as satisfaction with method (how satised are you with the way you and yours partner worked together on this assignment?) and with work (how you spent your time in this assignment?). The second important aspect is satisfaction with result (with program or assignment). Its rst of all motivational apsect and shows how condent are the programmers in their solution. So is it declared in [9] and [1]. Increased condence in results is giving more satisfaction with pair-programming result. Satisfaction with partner is not specially surveyed. Some results are described in [5]. There were discovered no correlation between partners gender and satisfaction. Only men reported signicantly higher enjoyment than the women regardless of whether they partnered with a woman or a man. Nevertheless satisfacton with partner is an important social aspect in pair-programming. Disagreeable pair-programming partners may drive all the pair-programming benets to zero. So, it is reasonable to distinguish three dierent types of satisfaction: satisfaction with method organisational aspect; satisfaction with result motivational aspect; satisfaction with partner social aspect. 2.2 Satisfaction Questionnaire and Data Analysis

In addition to analyzing the pair-programming productivity in a pair-programming experiment as described in [4] the programmers satisfaction was also analyzed in the same experiment. There were two phases with dierent assignments1 . At end of the each phase programmers (OO Programming course students in University of Tartu) lled in the satisfaction questionnaire. The satisfaction questionnaire contains 36 questions. For each type of satisfaction the positive and negative questions were designed to neutralize the eect of temptation to answer questions positively. For example a positive question about satisfaction with partner is Partner aected my result positively, and negative question is I didnt communicate much with my partner. After Phase1 of the experiment satisfaction questionnaire was lled by 97, and after Phase2 by 82 students. Total amount of questionnaires analyzed was 176 (data of 3 students was incomplete).
1

Detailed design of the experiment is described in paper [4]

248

U. Puus et al.

Factor analysis [2] was used to analyze the collected data. Factor analysis is a method of statistics to reduce the number of variables. In our case we try to reduce the 36 answered questions to 3 types of satisfaction. Factor analysis divides the questionnaire into three parts according to three types of satisfaction described above. According to factor analysis the three-types of satisfaction aect the medium result by 18.4% of total variety of results.

Discussion

Average satisfaction with result was statistically signicantly dierent for pair and non-pair programmers: -0.16 and 0.22 accordingly (the range of types of satisfaction is from -3.7 to 3.72 ). It means that, contrary to some other investigations ([10],[1]), pair-programmers are less satised with their result than non-pair-programmers. Assignment for Phase 2 of the experiment was more complicated. Average satisfaction with result was statistically signicantly dierent for Phase 1 and Phase 2 0.27 and -0.35 accordingly. More complicated assignment resulted with lower satisfaction with result. Other authors also [3] discovered inuence of assignment to the satisfaction. In this case also the complicated assignment drives to lower satisfaction (in pair-programming) the satisfaction was not statistically signicantly dierent between pair and non-pair programmers. Satisfaction with partner (non-pair programmers had a partner also, but they worked at two dierent computers as an ordinary two person teams) between pair and non-pair programmers wasnt statistically signicantly dierent. Satisfaction with method between pair and non-pair programmers also wasnt statistically signicantly dierent. But the complexity of assignments aected the satisfaction with method similarly as in satisfaction with result. Average satisfaction with method was 0.051 (for Phase 1) and -0.35 (for Phase 2, more complex assignment).

Conclusions

To analyze the satisfaction in (pair-)programming it is reasonable to have exact imagination what type of satisfactions we consider. In this paper authors analyzed the satisfaction that consists of three types satisfaction with result, satisfaction with partner and satisfaction with method. In other studies [3], [10] satisfaction with pair-programming usually means satisfaction with method. Authors of the paper have not found any works analyzing specically the satisfaction with partner. Signicant dierencies were discovered in satisfaction with result (pair programmers were less satised with result than nonpair-programmers). Satisfaction
2

Answers to negative questions contributed to negative values, and positive questions contributed to positive values

Analyzing Pair-Programmers Satisfaction with the Method

249

with result is usually called as condence in other works ([5], [10], [3]). If assignments are more complicated the pair-programming method doesnt give more satisfaction. It conrms the same result from [5].

Future Work

While the satisfaction with result gave us statistically signicant results in this experiment, it is not clear whether the relationship between programming method and satisfaction with result remains intact when changing complexity of the assignment. The complexity of the assignment aects the satisfaction with result, but it is not clear whether the impact diers for dierent programming methods. Acknowledgements. Authors of the paper would like to thank all the people who helped to reach the point so far and the students of OOP lecture who acted as the selection.

References
1. Cockburn, Alistair; Williams, Laurie; The Costs and Benets of Pair Programming, XP2000, 2000. 2. Gorsuch, R. L. Factor Analysis, Hillsdale, New York:Erlbaum, 1983 3. Hanks, Brian; McDowell, Charlie; Program Quality with Pair Programming in CS1, www.cse.ucsc.edu/ brianh/papers/ ProgQualHanksMcDowell.pdf 4. Heiberg, Sven; Puus, Uuno; Salumaa Priit; Seeba Asko; Pair-Programming Eect on Developers Productivity; Proceedings XP 2003 5. McDowell, Charlie; Werner Linda; Bullock, Heather E.; Fernald Julian; The Impact of Pair Programming on Student Perfomance, Perception and Persistence, www.cse.ucsc.edu/ charlie/pubs/icse2003.pdf 6. Sharifabdi, Kamran; Grot, Claudia; Team Development and Pair Programming - tasks and challenges of the XP coach, www.agilealliance.com/articles/articles/ Sharifabdi-GrotTeamDevelopmentandPairProgramming.pdf 7. Succi, Giancarlo; Marchesi, Michele; Pedrycz Witold; Williams Laurie; Preliminary Analysis of the Eects of Pair Programming on Job Satisfaction, collaboration.csc.ncsu.edu/laurie/Papers/Succi-Pedrycz PreliminaryAnalysisoftheEectsofPairProgramming.pdf 8. Williams, Laurie; Kessler, R. Robert; All I Really Need to Know about Pair Programming I Learned in Kindergarten, Communications of the ACM, 2000. 9. Williams, Laurie; Kessler, Robert R.; Cunningham, Ward; Jeries, Ron; Strengthening the Case for Pair Programming, IEEE Software, 2000. 10. Williams, Laurie; The Collaborative Software Process, University of Utah, 2000.

Vous aimerez peut-être aussi