Pair Programming and the Factors Affecting Brooks' Law

dc.contributor.advisorDr Laurie Williams, Committee Chairen_US
dc.contributor.authorShukla, Anujaen_US
dc.date.accessioned2010-04-02T18:12:25Z
dc.date.available2010-04-02T18:12:25Z
dc.date.issued2002-05-30en_US
dc.degree.disciplineComputer Scienceen_US
dc.degree.levelthesisen_US
dc.degree.nameMen_US
dc.description.abstractFrederick 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.identifier.otheretd-05232002-084706en_US
dc.identifier.urihttp://www.lib.ncsu.edu/resolver/1840.16/2328
dc.rightsI 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.subjectpair rotationen_US
dc.subjectstutzke's mathematical modelen_US
dc.subjectassimilation timeen_US
dc.subjectmentoring timeen_US
dc.subjectBrooks' Lawen_US
dc.subjectintercommunication timeen_US
dc.subjectPair programmingen_US
dc.subjectextreme programmingen_US
dc.titlePair Programming and the Factors Affecting Brooks' Lawen_US

Files

Original bundle

Now showing 1 - 1 of 1
No Thumbnail Available
Name:
etd.pdf
Size:
719.36 KB
Format:
Adobe Portable Document Format

Collections