Author: | Barnes, Kyle Atikus |
Title: | Collaborative programming : pair vs. pair-solo |
Degree: | M.Sc. |
Year: | 2010 |
Subject: | Hong Kong Polytechnic University -- Dissertations Computer programming -- Management |
Department: | Department of Computing |
Pages: | x, 90 leaves : ill. ; 30 cm. |
Language: | English |
Abstract: | The world of software development is constantly changing. Traditional models and approaches to software engineering such as the Waterfall Model, ISO 9000, etc. are no longer sufficient for meeting the demands of clients and system users. Thus, the rise of Agile Software Development and its practices have steadily become popular over the past decade. Agile software development involves many new practices and variations of traditional methods, all of which are controversial on one level or another, but of all the practices, pair programming is the most controversial. The initial introduction of pair programming invited much skepticism; however, since its introduction pair programming has been implemented by individuals and companies alike. The traditional implementation of pair programming may not work for everyone or every situation, thus other alternatives such as mutual programming and side-by-side programming have emerged creating a family of collaborative programming approaches. Empirical studies in pair programming have shown us many of the positive aspects of the practice, but none of these works have yet to prove the validity of the practice. In this dissertation we are interested in an alternative approach to pair programming, known as pair-solo programming. Instead of programmers constantly working together on one computer, the approach of pair-solo programming allows each programmer to work individually while still reaping the benefits provided by pairing. Throughout the process of a large software development project it can be challenging to find a group of programmers that are all fully proficient in the project's required programming language. Past empirical studies have revealed that alternative pair programming approaches are only effective with experienced programmers. Therefore, we are interested in the implementation of pair-solo programming where both programmers are experienced in programming but are not fully proficient in the programming language that is to be implemented. Thus, we will have a better understanding of an exact situation that can occur in the real world of software development. In order to determine the best collaborative approach to use for programmers that are unfamiliar with a project's implementation language we have conducted the following experiment. Subjects have been divided into groups of pairs, half using pair programming and the other half using pair-solo programming, where each group of subjects is asked to complete a simple development task using Java. The results of the experiment are determined by comparing the elapsed times, code quality, and individual comments of both collaborative programming approaches. Our results reveal that pair-solo programming incurs shorter total elapsed times as well as shorter average elapsed times in comparison with traditional pair programming. In terms of code quality, the code produced by pair-solo programmers is consistent with pair programmers. Finally, after completing the experiment, approximately 70% of the groups prefer pair-solo programming to pair programming alone. |
Rights: | All rights reserved |
Access: | restricted access |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
b23526452.pdf | For All Users (off-campus access for PolyU Staff & Students only) | 2.58 MB | Adobe PDF | View/Open |
Copyright Undertaking
As a bona fide Library user, I declare that:
- I will abide by the rules and legal ordinances governing copyright regarding the use of the Database.
- I will use the Database for the purpose of my research or private study only and not for circulation or further reproduction or any other purpose.
- I agree to indemnify and hold the University harmless from and against any loss, damage, cost, liability or expenses arising from copyright infringement or unauthorized usage.
By downloading any item(s) listed above, you acknowledge that you have read and understood the copyright undertaking as stated above, and agree to be bound by all of its terms.
Please use this identifier to cite or link to this item:
https://theses.lib.polyu.edu.hk/handle/200/5644