  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 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 a
feature toggles framework. 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. Finally, we compared the
obtained results with results obtained from a set of control projects that do
not use feature toggles frameworks. 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 frameworks. However, we
could not confirm that this increase was influenced by the use of feature
toggles.
