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...
Saved in:
Published in: | Software, practice & experience Vol. 52; no. 2; pp. 506 - 536 |
---|---|
Main Authors: | , , |
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!
|
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 |