Social Software Engineering

Besides being a problem that is challenging from a technical point of view, software engineering processes also comprise numerous interesting social aspects that deserve to be studied scientifically. Representing one particularly interesting type of socio-technical system, we thus investigate the social structures and dynamics of collaborative software engineering processes. We are generally interested in the question how particular ways to structure collaborations, or to distribute tasks and responsibilities in software development teams will positively or negatively affect the performance of the project.

Our research methodology is data-driven, i.e. we analyse large-scale data sets capturing social dynamics in collaborative software engineering and make use of recent advances in the theory of complex systems, complex networks, machine learning and statistical analysis of big data.
For this purpose, we commonly make use of available data on the community of developers and contributors to large-scale Open Source Software projects such as Eclipse, NetBeans, KDE, Linux or the Linux distribution Gentoo. Studying the evolution of the social organisation of these projects over periods of more than one decade, we can then try to link the performance of the projects to features of the collaboration or communication networks in their underlying communities.

 

Collaboration structures of several software development communities. Nodes represent contributors to the project, links represent collaborations between them. This picture illustrates the significant differences between highly centralized projects (left), projects with a modular or hierarchical social organisation (middle) and projects with less structured collaboration networks (right).

 

Our recent research in this area has uncovered interesting relations between the topology of collaborations and both individual and collective performance in software development projects. Through a case study of the software project Gentoo, we were able to find empirical evidence for that fact that the runaway centralisation of collaboration structures poses a severe risk to software projects, resulting in a severe and lasting drop in performance if one of the central collaborators decides to leave the project. Using data of evolving collaboration structures, we were further able to show that the presence of such central collaborators results in a decreasing commitment of the remaining community, thus further driving an increasing centralisation.

Apart from such empirical studies, we have also used our complex systems and complex networks perspective to suggest concrete improvements of online collaboration tools. Again using large-scale data sets on collaborative software engineering projects, we were able to show that the collaboration structures of software development communities can be used to automatically assess the quality of bug reports that contributors submit to the community. We not only show that there is a statistically significant relation between the information provided in bug reports and the collaboration networks into which the reporting user is embedded. We also use state-of-the-art machine learning techniques to develop a fully automatic classifier which can be directly used to mitigate the information overload which is a severe problem for many of the large-scale software engineering projects.

We would like to highlight that in the research summarised above, we particularly avoid to oversimplify complex engineering processes by integrating hands-on experience in software engineering with expertise in data mining and the modeling and analysis of complex systems. Through the unique combination of competencies in computer science, statistical data analysis and complex networks theory present in our team, we were able to publish our results not only in interdisciplinary journals like \emph{Advances in Complex Systems}, but also in premium software engineering venues such as the \emph{International Conference on Software Engineering}. Apart from this scientific recognition, our research results have further attracted significant attention from industry, as documented by talk invitations from major software companies such as Google, IBM and DATEV.

Selected Publications

From Aristotle to Ringelmann: A large-scale analysis of team productivity and coordination in Open Source Software projects

[2016]
Scholtes, Ingo; Mavrodiev, Pavlin; Schweitzer, Frank

Empirical Software Engineering, pages: 642-683, volume: 21, number: 2

more»

How do OSS projects change in number and size? A large-scale analysis to test a model of project growth

[2014]
Schweitzer, Frank; Nanumyan, Vahan; Tessone, Claudio Juan; Xia, Xi

ACS - Advances in Complex Systems, pages: 1550008, volume: 17, number: 07n08

more»

Communication In Innovation Communities: An Analysis Of 100 Open Source Software Projects

[2014]
Geipel, Markus Michael; Press, Kerstin; Schweitzer, Frank

ACS - Advances in Complex Systems, pages: 1550006, volume: 17, number: 07n08

more»

The Role of Emotions in Contributors Activity: A Case Study of the Gentoo Community

[2013]
Garcia, David; Zanetti, Marcelo Serrano; Schweitzer, Frank

In Proceedings of the International Conference on Social Computing and Its Applications

more»

The rise and fall of a central contributor: Dynamics of social organization and performance in the Gentoo community

[2013]
Zanetti, Marcelo Serrano; Scholtes, Ingo; Tessone, Claudio Juan; Schweitzer, Frank

CHASE/ICSE '13 Proceedings of the 6th International Workshop on Cooperative and Human Aspects of Software Engineering

more»

Categorizing bugs with social networks: A case study on four open source software communities

[2013]
Zanetti, Marcelo Serrano; Scholtes, Ingo; Tessone, Claudio Juan; Schweitzer, Frank

ICSE '13 Proceedings of the 35th International Conference on Software Engineering

more»

The co-evolution of socio-technical structures in sustainable software development: Lessons from the open source software communities

[2012]
Zanetti, Marcelo Serrano

ICSE '12 Proceedings of the 34th International Conference on Software Engineering

more»

A quantitative study of social organisation in open source software communities

[2012]
Zanetti, Marcelo Serrano; Sarigol, Emre; Scholtes, Ingo; Tessone, Claudio Juan; Schweitzer, Frank

In Proceedings of the 2012 Imperial College Computing Student Workshop

more»

A Complex Networks Perspective On Collaborative Software Engineering

[2014]
Cataldo, Marcelo; Scholtes, Ingo; Valetto, Giuseppe

ACS - Advances in Complex Systems, pages: 1430001, volume: 17, number: 07n08

more»