Distributed Cognition in Software Design: An Experimental Investigation of the Role of Design Patterns and Collaboration

In stock
Software design is a knowledge intensive task that constitutes a critical part of the software development process. Using a controlled experiment involving software practitioners, this research examines two potentially useful mechanisms for improving the software design process. Specifically, this study examines the impact of structural distribution of cognition through design patterns and social distribution of cognition through collaborating pairs on design outcomes. The results indicate that the use of design patterns as external cognitive artifacts improves design quality, reduces time taken to solve a design problem, and leads to higher participant satisfaction. Collaborating pairs of software designers were compared to participants working alone but whose efforts were conjointly considered as the best and second-best members of nominal pairs. It was found that paired designers produced higher quality designs compared with the second-best members of nominal pairs, did not differ from the best member of a nominal pair, but took more time to complete a design task than either member of a nominal pair. The results also indicate that the availability of design patterns raises the performance level of the second-best member of a nominal pair, in terms of quality, and reduces task completion time when compared with a pair not using design patterns. Finally, paired designers were found to experience higher levels of task satisfaction when compared with individuals. Implications for research and practice are discussed. 7/26/13
Additional Details
Author George Mangalaraj, Sridhar Nerur, RadhaKanta Mahapatra, and Kenneth H. Price
Year 2014
Volume 38
Issue 1
Keywords Software design, agile methodology, paired design, design pattern, nominal group, distributed cognition, codified knowledge
Page Numbers 249-274
Copyright © 2023 MISQ. All rights reserved.