The social side of software engineeringA real ad hoc collaboration network
Recognised first and foremost as a technical task, the construction of software is, for the most part, a human experience. Software development is an intensive cognitive task, which also constitutes an exercise in complex interrelationships. This paper presents a case study conducted to analyse ad hoc collaborative activities taking place between team-mates during an industrial software development cycle. Observations based on audiovideo recording are analysed with a methodology from social sciences research. The paper describes the observational approaches, the various methods used to validate data and how quantitative data are extracted from the qualitative observations of team-mates. Patterns of ad hoc collaboration emerging from this study are revealed, which lead us to believe that both the implicit and explicit roles of partners have a definitive impact on their ad hoc interaction profiles. As a result, this study helps to provide an understanding of some of the pivotal aspects of software engineering, such as collaboration, coordination and, more generally, work team dynamics. Further details relating to our initial motivations are included, followed by a comprehensive description of the methodological approach designed specifically for this research. Finally, some results are presented, which shed light on a real ad hoc collaboration network and support the importance of the human and social aspects of software engineering in a more substantial way.
ad hoc collaboration software development case study face-to-face exchange exchanges patterns cognitive activities sharing of knowledge