On the fulfillment of coordination requirements in open-source software projects: An exploratory study
- PDF / 2,475,532 Bytes
- 48 Pages / 439.642 x 666.49 pts Page_size
- 81 Downloads / 160 Views
On the fulfillment of coordination requirements in open-source software projects: An exploratory study Claus Hunsen1
· Janet Siegmund2 · Sven Apel3
© Springer Science+Business Media, LLC, part of Springer Nature 2020
Abstract In large-scale open-source software projects, where developers are often distributed across the entire planet, coordination among developers is crucial. To estimate whether a state of socio-technical congruence is achieved, which is associated with software quality and project success, we assess the alignment of collaboration and communication in such software projects in terms of coordination requirements. By means of an empirical study on a substantial set of large-scale open-source software projects—the development histories of all projects sum up to over 180 years—we aim at shedding light on this issue. To this end, to take a more semantic view on this phenomenon in comparison to previous work, we do not only identify coordination requirements arising from files and functions only, but also those arising from features. We found that open-source developers fulfill coordination requirements intentionally, but mostly those coordination requirements that arise from coupled source-code artifacts, while they resolve simpler ones independently. Furthermore, neither of the considered abstraction levels of source-code artifacts (files, functions, features) is more suitable to construct coordination requirements with respect to their fulfillment. This finding strongly indicates that features do not play an as important role in the development process as expected and commonly believed by the research community in the area of feature-oriented and feature-driven development. Finally, we identified notable evolutionary trends in the fulfillment of coordination requirements and showed that far-reaching social events (such as organizational issues) have a huge impact on their fulfillment, both negatively and positively. The key findings of our empirical study are that socio-technical relations are important to understand open-source development communities and that the incorporation of different abstraction levels for developer collaboration does yield important insights to further improve the evolution in open-source software projects. Keywords Coordination requirements · Socio-technical congruence · Features · Social-network analysis · CORONET · CODEFACE · Open-source software systems · Configurable systems · Software product lines · Feature-oriented software development
Communicated by: Filippo Lanubile Claus Hunsen
[email protected]
Extended author information available on the last page of the article.
Empirical Software Engineering
1 Introduction Developing open-source software heavily relies on the participation and, mostly, voluntary contribution of many developers. To contribute efficiently, developers need to collaborate and coordinate their work with others (Brooks 1995; Herbsleb and Grinter 1999a). Today, open-source software (OSS) development projects, such as QEMU, LLVM, or O
Data Loading...