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.
翻译:软件开发组织力求在其开发的系统复杂性不断增加的情况下保持其有效性。为解决这一挑战,组织倾向于组成小组,每个小组都负责开发可以单独开发的组件。在这里,组织必须以一种有助于沟通并最小化依赖关系的方式设计其架构和组织结构,并帮助团队减少代码和架构的退化。确保每个小独立团队负责其最主要贡献的组件是实现这一目标的途径之一。本研究旨在了解所有权和贡献一致性对代码技术债券积累的影响,以及团队构成的突然变化如何影响团队管理 TD 的效果。我们在一家开发非常大型软件系统的公司进行了嵌入式案例研究,分析了1个团队拥有的10个组件。在研究期间,该团队被分成两个团队,并且他们拥有的组件被分配给了两个新团队。在高度的贡献一致性下,我们注意到在团队拆分之前,贡献一致性和 TD 密度之间存在负相关性。在其中的4个组件中,这种相关性是统计显着的。这意味着更高的贡献一致性程度意味着更低的 TD 密度。团队分裂后,我们观察到在3个组件中存在负相关性。在另外5个组件中观察到的正相关性可以归因于贡献一致性低,导致难以管理 TD。我们的发现表明,贡献一致性可以对控制软件开发组织中的 TD 具有重要作用。使团队对其更有专业知识的组件负责,并尽量减少团队之间的依赖关系,可以帮助组织减缓 TD 的增长。