Pair programming unearthed | | Posted on:2008-09-26 | Degree:M.Sc | Type:Thesis | | University:University of Manitoba (Canada) | Candidate:Gevaert, Hudson | Full Text:PDF | | GTID:2448390005950039 | Subject:Computer Science | | Abstract/Summary: | PDF Full Text Request | | Extreme Programming (XP) is an emerging development methodology. To get a better understanding of XP, the practices which constitute this process need to be critically analyzed. In particular, the practice of pair programming is analyzed as it is both an interesting practice and one that provides a large area of research.; The goal of this thesis, therefore, is to analyze pair programming in an effort to determine how this practice relates to solo (traditional) programming, the personality characteristics of the developers and the XP practice of refactoring. By undertaking a thorough examination of pair programming, a deeper understanding of this important XP practice can be gained and a deeper understanding of XP can also be gained.; To accomplish this goal, two experiments were designed and implemented using fourth year computer science students at the University of Manitoba. The first experiment compared solo programming with pair programming while using personality characteristics, as determined by Eysenck Personality Questionnaire (EPQ-R), as factors. The second experiment compared solo programming and pair programming in terms of what kind of refactorings the subjects carried out while working individually as opposed to in pairs.re (EPQ-R), as factors. The second experiment compared solo programming and pair programming in terms of what kind of refactorings the subjects carried out while working individually as opposed to in pairs.; These experiments were designed in an attempt to confirm or deny five hypotheses. These hypotheses are as follows: (1) H1: (H1null) Pair programmers are not more efficient at software development than solo programmers. (H1a) Pair programmers are more efficient at software development than solo programmers. (2) H2: (H2null) Personality characteristics play no role in how efficiently an individual develops code when working in a pair programming situation. (H2a) Personality characteristics do play a role in how efficiently an individual develops code when working in a pair programming situation. (3) H3: (H3null) The individual efficiency of each partner in a pairing has no effect on how well the two individuals pair program. (H3a) Pair programming efficiency can be seen as a function of the solo programming efficiency of each of the individuals in the pairing. (4) H4: (H4null) Individuals and pairs undertake refactorings at the same difficulty level. (H4a) Pair programmers undertake refactorings at higher difficulty levels than individuals. (5) H5: (H5null) Pair programming satisfaction is unrelated to the personality characteristics and software development skill levels of the developers. (H5a) Pair programming satisfaction is linked to the personality characteristics of developers and their software development skill level.; The findings were such that the null hypothesis was demonstrated for H1 and H2, although some interesting statistics were still recorded. In particular, it is thought that with a larger sample size, the alternate H2 could be shown to be true. H1 yielded data which could suggest that pairs develop higher quality code while individuals develop code more quickly. In both cases, however, no statistically significant correlations were found.; For H3 and H5, the alternate hypotheses were adopted. In the case of H3, the higher the individual ability of the subjects, the higher the pair programming efficiency. For H5, it was clear that the more extroverted an individual tends to be, the more satisfied that individual tends to be with the pair programming experience.; The data for H3 was a little harder to analyze. While there was no statistical difference in the difficulty levels of refactorings individuals chose as opposed to pairs, there was a negative correlation in that a subject who undertook difficult refactorings individually would undertake less difficult refactorings when paired and vice versa.; In general, I believe this thesis was successful in broadening and deepening... | | Keywords/Search Tags: | Programming, Pair, Refactorings, Personality characteristics, Development, Practice | PDF Full Text Request | Related items |
| |
|