How the adoption of feature toggles correlates with branch merges and defects in open‐source projects?

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 tr...

Full description

Saved in:
Bibliographic Details
Published in:Software, practice & experience Vol. 52; no. 2; pp. 506 - 536
Main Authors: Prutchi, Eduardo S., S. Campos Junior, Heleno, Murta, Leonardo G. P.
Format: Journal Article
Language:English
Published: Bognor Regis Wiley Subscription Services, Inc 01-02-2022
Subjects:
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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 article, we study the effects of applying feature toggles on 949 open‐source projects written in six 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.
Bibliography:Funding information
Conselho Nacional de Desenvolvimento Científico e Tecnológico, 306137/2017‐8; Coordenação de Aperfeiçoamento de Pessoal de Nível Superior, 8887.357762/2019‐00; Fundação Carlos Chagas Filho de Amparo à Pesquisa do Estado do Rio de Janeiro, E‐26/200.591/2021; E26/010.101250/2018
ISSN:0038-0644
1097-024X
DOI:10.1002/spe.3034