From aristotle to ringelmann: A large-scale analysis of team productivity and coordination in open source software projects.
Ingo Scholtes, Pavlin Mavrodiev, Frank Schweitzer · 2016
Complex software development projects rely on contribution of teams of developers, who are required to collaborate and coordinate their efforts. The productivity of such development teams, i.e., how their size is related to produced output, is an important consideration for project and schedule management as well as for cost estimation. The majority of studies in empirical software engineering suggest that - due to coordination overhead - teams of collaborating developers become less productive as they grow in size. This phenomenon is commonly paraphrased as Brooks' law of software project management, which states that adding manpower to a software project makes it later. Outside software engineering, non-additive scaling of productivity in teams is often referred to as Ringelmann effect, which is studied extensively in social psychology and organizational theory. Conversely, a recent study suggested that in Open Source Software (OSS) projects, productivity of developers increases as team grows in size. Attributing it to collective synergetic effects, this surprising finding was linked to Aristotelian quote that the whole is more than sum of its parts. Using a data set of 58 OSS projects with more than 580,000 commits contributed by more than 30,000 developers, in this article we provide a large-scale analysis of relation between size and productivity of software development teams. Our findings confirm negative relation between team size and productivity previously suggested by empirical software engineering research, thus providing quantitative evidence for presence of a strong Ringelmann effect. Using fine-grained data on association between developers and source code files, we investigate possible explanations for observed relations between team size and productivity. In particular, we take a network perspective on developer-code associations in software development teams and show that magnitude of decrease in productivity is likely to be related to growth dynamics of co-editing networks which can be interpreted as a first-order approximation of coordination requirements.