The Impact of Ownership and Contribution Alignment on Code Technical Debt Accumulation

04/04/2023
by   Ehsan Zabardast, et al.
0

Software development organisations strive to maintain their effectiveness while the complexity of the systems they develop continues to grow. To tackle this challenge, organisations tend to be organised into small teams working with components that can be developed separately. Here, organisations must design their architecture and organisational structures in a way that enables communication and minimises dependencies, and helps teams reduce code and architectural degradation. Ensuring that each small independent team is responsible for components they primarily contribute is one approach to achieving this goal. This study aims at understanding the impact of ownership and contribution alignment on accumulation of code technical debt and how abrupt changes in team constellation affect teams' effectiveness in managing TD. We conducted an embedded case study in a company developing a very large software system, analysing ten components belonging to 1 team. During the studied period, the team was split into two, and the components owned by them were distributed between the two new teams. With high degrees of contribution alignment, we noticed a negative correlation between contribution alignment and TD Density before the team split. In 4 components, this correlation is statistically significant. This means a higher contribution alignment degree implies a lower TD Density. After the split, we observe a negative correlation in 3 components. The positive correlation observed in the other 5 components could be attributed to low contribution alignment, leading to difficulties in managing TD. Our findings suggest that contribution alignment can be important in controlling TD in software development organisations. Making teams responsible for the quality of components they have more expertise over and minimising dependencies between teams can help organisations mitigate the growth of TD.

READ FULL TEXT

page 1

page 5

research
04/19/2023

Perceptions of Task Interdependence in Software Development: An Industrial Case Study

Context: Task interdependence is a work design factor that expresses the...
research
09/24/2020

Motivation and Autonomy in Global Software Development: An Empirical Study

Distributed development involving globally distributed teams in differen...
research
09/07/2017

Large Teams Have Developed Science and Technology; Small Teams Have Disrupted It

Teams dominate the production of high-impact science and technology. Ana...
research
09/06/2023

The Microservice Dependency Matrix

Microservices have been recognized for over a decade. They reshaped syst...
research
09/14/2023

Locating Community Smells in Software Development Processes Using Higher-Order Network Centralities

Community smells are negative patterns in software development teams' in...
research
04/17/2019

Impact of requirements volatility on software architecture: How do software teams keep up with ever-changing requirements?

Requirements volatility is a major issue in software development, causin...
research
08/09/2023

Case Study: Using AI-Assisted Code Generation In Mobile Teams

The aim of this study is to evaluate the performance of AI-assisted prog...

Please sign up or login with your details

Forgot password? Click here to reset