DOI: 10.1002/eng2.71028 ISSN: 2577-8196

Empirical Analysis of the Relationship Between Developer Experience and the Degradation of Software Architecture in Open‐Source Development

Renata Brasil‐Silva, Fabio Levy Siqueira

ABSTRACT

Software architecture has a fundamental role in software development and software evolution. When architecture is affected by problems that increase maintenance efforts and hinder the accommodation of new requirements, we can say it is degraded. Architecture might degrade even in flexible development processes, as the ones typically used by the open‐source community. To help open‐source projects reduce architecture degradation, this work investigates the relationship between developer experience and software architecture degradation in open‐source projects. We mined four repositories of large open‐source projects from the Apache Software Foundation. In total, we analyzed 26,509 commits in these projects. We used Martin's D metric to measure architectural degradation and commit information to measure developer experience. Our results indicate no relationship between general experience and architecture degradation in those projects (‐value > 0.05). They also indicate that sometimes specialists in components contribute to better quality solutions for those components' architecture, even though specialists are not aware of the impacts of their contributions on other components. The results indicate that all developers, regardless of their accumulated experience, must pay attention to the architectural impact of their contributions. The various causes of degradation must be considered in projects, not just the experience of developers in the code.