Governing the commons: code ownership and code-clones in large-scale software development
Управление общим ресурсом: владение кодом и клоны кода в крупномасштабной разработке программного обеспечения
2024-12-14
SCID: 54.1/hunanjj7
Discuss with AI
MLGLMMulti-Level Generalized Linear Modelchange sizecode clonescode ownershipcollective ownershipinter-team comparisonslarge-scale software developmenttechnical debtweak ownership
Figures from the paper
Abstract (AI)
Abstract Context In software development organizations employing weak or collective ownership, different teams are allowed and expected to autonomously perform changes in various components. This creates diversity both in the knowledge of, and in the responsibility for, individual components. Objective Our objective is to understand how and why different teams introduce technical debt in the form of code clones as they change different components. Method We collected data about change size and clone introductions made by ten teams in eight components which was part of a large industrial software system. We then designed a Multi-Level Generalized Linear Model (MLGLM), to illustrate the teams’ differing behavior. Finally, we discussed the results with three development teams, plus line manager and the architect team, evaluating whether the model inferences aligned with what they expected. Responses were recorded and thematically coded. Results The results show that teams do behave differently in different components, and the feedback from the teams indicates that this method of illustrating team behavior can be useful as a complement to traditional summary statistics of ownership. Conclusions We find that our model-based approach produces useful visualizations of team introductions of code clones as they change different components. Practitioners stated that the visualizations gave them insights that were useful, and by comparing with an average team, inter-team comparisons can be avoided. Thus, this has the potential to be a useful feedback tool for teams in software development organizations that employ weak or collective ownership.
Key Findings
1
A Multi-Level Generalized Linear Model (MLGLM) was designed to illustrate differing team behaviors in clone introductions and change size.
2
Comparing a team’s behavior to an average team allows avoiding direct inter-team comparisons and provides actionable feedback.
3
Feedback from three development teams, a line manager, and an architect team aligned with model inferences and supported the approach’s usefulness.
4
Model-based visualizations produced useful insights for practitioners and complemented traditional ownership summary statistics.
5
Teams in a large industrial system behave differently across components when introducing code clones during changes.
Research Object
Teams' code-change activity introducing code clones in components of a large industrial software system under weak or collective ownership
Research Subject
How and why different teams introduce technical debt in the form of code clones when changing different software components, and variation in clone-introduction behavior across teams and components (modeled and visualized via an MLGLM)
Publication Details
Publication Date
2024-12-14
Journal
Publisher
ISSN
Cited by
1
Open access PDF
Access Type
Author Information
Download PDF
Subscribe to digest