Evolutionary Trends of Developer Coordination:
A Network Approach

Supplementary material for the journal of empirical software engineering submission.

Mitchell Joblin
Siemens AG

Sven Apel
University of Passau

Wolfgang Mauerer
Siemens AG, OTH Regensburg

Download Complete Data

Abstract

Software evolution is a fundamental process that transcends the realm of technical artifacts and permeates the entire organizational structure of a software project. By means of a longitudinal empirical study of 18 large open-source projects, we examine and discuss the evolutionary principles that govern the coordination of developers. By applying a network-analytic approach, we found that the implicit and self-organizing structure of developer coordination is ubiquitously described by non-random organizational principles that defy conventional software-engineering wisdom. In particular, we found that: (a) developers form scale-free networks, in which the majority of coordination is primarily managed by an extremely small number of developers, (b) developers tend to become more coordinated over time, limited by an upper bound, and (c) initially developers are hierarchically arranged, but over time, form a unique hybrid structure, in which core developers are hierarchically arranged and peripheral developers are not. Our results suggest that the organizational structure of large projects is constrained to evolve towards a state that balances the costs and benefits of developer coordination, and the mechanisms used to achieve this state depend on the project's scale.

Developer Coordination

Responsive image