Graduation Year

2004

Document Type

Dissertation

Degree

Ph.D.

Degree Granting Department

Business Administration

Major Professor

Alan R. Hevner, Ph.D.

Keywords

Systems, Distributed work, Cognition, Agile methods, Conflict, Dyads

Abstract

A potential solution to producing quality software in an acceptable time frame may be found by using the newer, innovative methods, such as collaborative software development. The purpose of this dissertation is to examine the individual developer characteristics, developmental settings, collaborative methods and the processes during development that impact collaborative programming performance and satisfaction outcomes.Understanding individual differences in performance in the collaborative development setting is important, since it may help us understand how the collaborative setting may raise the lowest level of performance to much higher levels, as well as how to select individuals for collaborative development. Exploring the impact of the virtual setting on collaborative development processes is important as it may help us improve performance outcomes in different work settings. Investigating how adaptations of pair programming impact collaborative processes may

assist in implementing changes to the method that enhance quality and individual satisfaction.A multi-phase methodology is used, consisting of an intensive process study (Study 1) and two laboratory experiments (Studies 2 and 3). Study 1 illustrates that collaborative programming (pair programming) outcomes are moderated by both individual developer differences and the processes used during development. While cognitive ability and years of IT experience are important factors in performance, the impacts of conflict and the faithful appropriation of the method are highlighted. Distributed cognition is used as a theoretical foundation for explaining higher performance.Study 2 findings suggest that while collaborative programming is possible in a virtual setting, performance is negatively impacted. Face-to-face programmers have significantly higher levels of task performance, as well as satisfaction with the method, when compared to virtual programmers.Study 3 results suggests that the u

se of structured problem solving (preparing test cases before writing code) may be a key factor in producing higher quality code, while collaboration may be indusive to higher levels of developer satisfaction.By understanding how, why and when collaborative programming techniques produce better performance outcomes and what factors contribute to that success, we add to the body of knowledge on methodologies in the MIS domain.

Share

COinS