Full metadata record
DC FieldValueLanguage
dc.contributorDepartment of Computingen_US
dc.creatorLui, Kim-man-
dc.identifier.urihttps://theses.lib.polyu.edu.hk/handle/200/2731-
dc.languageEnglishen_US
dc.publisherHong Kong Polytechnic University-
dc.rightsAll rights reserveden_US
dc.titlePair programming for software development and for the management of inexperienced programmersen_US
dcterms.abstractAs Agile Software Development (ASD) has grown in influence in both academia and industry, Pair Programming, which is an important theme in ASD has become a controversial focus of interest. Pair Programming is a form of team collaboration. It is concerned with two programmers working side by side on design, coding and testing. Many researchers still remain skeptical of claims for the productivity of Pair Programming. This thesis aims to advance the use of findings from empirical software engineering on Pair Programming and to find ways, based on the findings, to help inexperienced programmers of small in-house software teams to increase their productivity. The fundamental problem of Pair Programming is to measure the productivity gain it has over solo programming. As the programming abilities of each developer varies widely, having programmers divided into solo and pair groups in order to measure time productivity of Pair Programming and to justify the quality of their work requires a large set of samples. Otherwise, this kind of experiment, despite its straightforwardness, may not eliminate personal factors from subjects of pairs. The variations of programming language skills among the subject pairs could unpredictably affect the experiment. Taking a different approach, this thesis intends to observe a single group of industrial programmers carrying out two sorts of task: (1) completing an algorithm-style aptitude test in pairs and individually; (2) two aptitude tests completed by subjects who alternately work in pairs and individually. The results show that algorithm design at all levels in Pair Programming is more productive. We have also designed and carried out a set of controlled experiments, called Repeat Programming, to assess the productivity of the same pairs and individuals, from novice to experienced, solving the same problem. The use of Repeat Programming enhances understanding of previous Pair Programming control experiments to explain why different conclusions seem to have been reached when the productivity of Pair Programming is evaluated. In addition to the above, this thesis proposes an application of Pair Programming based on the findings of five control experiments that can help manage inexperienced programmers in China. Rather than having all production code written by pairs in the context of extreme Programming, the proposed paradigm encourages programmers to design and implement design patterns of their own in pairs and build sub-modules through the use of patterns individually. Through our experiments, we discovered that the more time team members work alone, the more number of design patterns they have developed in pairs for reuse. With these results, we propose a model on the adoption of Pair Programming. This model can be used to manage less experienced programmers when Pair Programming are adopted. This is confirmed with case studies in software development projects managed in China.en_US
dcterms.extent100 leaves : ill. ; 30 cmen_US
dcterms.isPartOfPolyU Electronic Thesesen_US
dcterms.issued2006en_US
dcterms.educationalLevelAll Doctorateen_US
dcterms.educationalLevelPh.D.en_US
dcterms.LCSHHong Kong Polytechnic University -- Dissertationsen_US
dcterms.LCSHComputer software -- Developmenten_US
dcterms.LCSHComputer programmers -- Training ofen_US
dcterms.accessRightsopen accessen_US

Files in This Item:
File Description SizeFormat 
b20697417.pdfFor All Users8.76 MBAdobe PDFView/Open


Copyright Undertaking

As a bona fide Library user, I declare that:

  1. I will abide by the rules and legal ordinances governing copyright regarding the use of the Database.
  2. 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.
  3. 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.

Show simple item record

Please use this identifier to cite or link to this item: https://theses.lib.polyu.edu.hk/handle/200/2731