How the adoption of feature toggles affects branch merges and defects in open-source projects?

07/11/2020
by   Eduardo Smil Prutchi, et al.
0

Context: 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 of isolation through branches, potentially reducing the merging challenges. However, the literature lacks evidence about the benefits and limitations of feature toggles to the 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 as well as in 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 the adoption of feature toggles.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset