Pair Programming and the Factors Affecting Brooks' Law

Show simple item record

dc.contributor.advisor Dr Laurie Williams, Committee Chair en_US
dc.contributor.author Shukla, Anuja en_US
dc.date.accessioned 2010-04-02T18:12:25Z
dc.date.available 2010-04-02T18:12:25Z
dc.date.issued 2002-05-30 en_US
dc.identifier.other etd-05232002-084706 en_US
dc.identifier.uri http://www.lib.ncsu.edu/resolver/1840.16/2328
dc.description.abstract Frederick Brooks states in his book The Mythical Man-Month, "Adding manpower to a late software project makes it later." Brooks explains that often software development managers react to schedule problems by adding more manpower to the project. However, the new team members take some time initially to be trained and assimilated into the project. Assimilation time is the time the new team member takes to understand project specific details. Also, if the subprojects assigned to each engineer are interrelated, intercommunication requirements rise since each part of the task must be separately coordinated with each other part. Thus, Brooks contends that when manpower is added to a late project the overall productivity goes down, delaying the project even further. This research investigates the effects of pair programming on the training, assimilation and intercommunication, as mentioned in Brooks' Law. Pair programming is a practice in which two programmers work together at one computer, continuously collaborating on the same design, algorithm, code, or test. Most software development teams that practice pair programming also practice pair rotation. With pair rotation, engineers periodically change their pairing partner. Pair programming and pair rotation have previously been shown to aid teams in improving code and design quality and to improve teamwork. In this research, we investigated additional benefits of the pair programming and pair rotation practices. Through surveys and mathematically modeling, we found the following: 1. Pair programming reduces within a team. 2. Pair programming reduces mentoring time when new members are added to a team. 3. Pair programming reduces assimilation time when new members are added to a team. 4. Manpower can be added to a late software project provided the additional useful effort delivered to the project is adequate to achieve the desired schedule. Pair programming can make this more achievable. en_US
dc.rights I hereby certify that, if appropriate, I have obtained and attached hereto a written permission statement from the owner(s) of each third party copyrighted matter to be included in my thesis, dissertation, or project report, allowing distribution as specified below. I certify that the version I submitted is the same as that approved by my advisory committee. I hereby grant to NC State University or its agents the non-exclusive license to archive and make accessible, under the conditions specified below, my thesis, dissertation, or project report in whole or in part in all forms of media, now or hereafter known. I retain all other ownership rights to the copyright of the thesis, dissertation or project report. I also retain the right to use in future works (such as articles or books) all or part of this thesis, dissertation, or project report. en_US
dc.subject pair rotation en_US
dc.subject stutzke's mathematical model en_US
dc.subject assimilation time en_US
dc.subject mentoring time en_US
dc.subject Brooks' Law en_US
dc.subject intercommunication time en_US
dc.subject Pair programming en_US
dc.subject extreme programming en_US
dc.title Pair Programming and the Factors Affecting Brooks' Law en_US
dc.degree.name M en_US
dc.degree.level thesis en_US
dc.degree.discipline Computer Science en_US


Files in this item

Files Size Format View
etd.pdf 719.3Kb PDF View/Open

This item appears in the following Collection(s)

Show simple item record