Branching has been widely adopted in version control to enable collaborative software development. However, the isolation caused by branches may impose challenges on the upcoming merging process. Recently, companies like Google, Microsoft, Facebook, and Spotify, among others, have adopted trunk-based development together with feature toggles. This strategy enables collaboration without the need for isolation through branches, potentially reducing the merging challenges. However, the literature lacks evidence about the benefits and limitations of feature toggles to collaborative software development. Objective/Method: In this paper, we study the effects of applying feature toggles on 949 open-source projects written in 6 different programming languages. We first identified the moment in which each project adopted feature toggles. Then, we observed whether the adoption implied significant changes in the frequency or complexity of branch merges and the number of defects, and the average time to fix them. Results/Conclusion: We could observe a reduction in the average merge effort and an increase in the average total time needed to fix defects after adopting feature toggles.
翻译:然而,由于各处的孤立性,可能会给即将进行的合并过程带来挑战。最近,谷歌、微软、脸书和Spotify等公司采用了基于中继器的开发,并附有特征的切分。这一战略使协作无需通过分支进行分离,从而有可能减少合并的挑战。然而,文献缺乏证据,说明特性切分对协作软件开发的好处和局限性。目标/方法:在本文件中,我们研究了对以6种不同程序语言编写的949个开放源码项目应用特效拼格的影响。我们首先确定了每个项目采用特征切分的那一刻。然后,我们观察到,采用该应用是否意味着分支合并的频率或复杂性以及缺陷的数量以及修正这些缺陷的平均时间都发生了重大变化。结果/结论:我们可以观察到平均合并努力的减少,在采用特性切分后,纠正缺陷所需的平均总时间增加。