Degree Granting Department
Alan R. Hevner, Ph.D.
Rosann Webb Collins, Ph.D.
Cynthia F. Cohen, Ph.D.
Donald J. Berndt, Ph.D.
systems, distributed work, cognition, agile methods, conflict, dyads
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 use 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.
Scholar Commons Citation
Domino, Madeline Ann, "Three Studies of Problem Solving In Collaborative Software Development" (2004). Graduate Theses and Dissertations.