Feature Toggle Driven Development: Practices usedby Practitioners

07/14/2019
by   Rezvan Mahdavi-Hezaveh, et al.
0

Using feature toggles is a technique that allows developers to either turn a feature on or off with a variable in a conditional statement. Feature toggles are increasingly used by software companies to facilitate continuous integration and continuous delivery. However, using feature toggles inappropriately may cause problems, such as dead code and code complexity. For example, repurposing an old feature toggle which activated functionality that had been unused for 8 years caused Knight Capital Group to go bankrupt. The awareness of feature toggle industry practices can help practitioners use feature toggles since software practitioners usually prefer to learn through the experiences of other software practitioners. The goal of this research project is to aid software practitioners in the use of feature toggles through an empirical study of feature toggle practice usage. We conducted a qualitative analysis of 109 Internet artifacts about feature toggles and also conducted a follow-up survey to find the frequency of usage of feature toggles in industry. We identified 17 practices in 4 categories: Management practices, Initialization practices, Implementation practices, and Clean-up practices. We observed that all of the survey's respondents use a dedicated tool to create and manage feature toggles in their code. Using a maintenance tool, setting up the default value for feature toggles, and logging the changes made on feature toggles are also frequently-observed practices in Internet artifacts. The feature toggle driven development practices discovered and enumerated in this work can raise the practitioners' awareness of usage of feature toggles in industry and help the practitioners to better use feature toggles in their projects. The practices discovered through this work can enable future quantitative analysis to mine code repositories to automatically identify these practices.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/28/2020

A Survey of Software Code Review Practices in Brazil

Context: Software code review aims to early find code anomalies and to p...
research
02/23/2021

The State-of-Practice in Requirements Elicitation: An Extended Interview Study at 12 Companies

Context. Requirements engineering remains a discipline that is faced wit...
research
08/24/2022

What are the Practices for Secret Management in Software Artifacts?

Throughout 2021, GitGuardian's monitoring of public GitHub repositories ...
research
08/11/2022

Achievement Unlocked: A Case Study on Gamifying DevOps Practices in Industry

Gamification is the use of game elements such as points, leaderboards, a...
research
06/14/2021

No Free Lunch: Microservice Practices Reconsidered in Industry

Microservice architecture advocates a number of technologies and practic...
research
07/29/2019

On Observability and Monitoring of Distributed Systems: An Industry Interview Study

Business success of companies heavily depends on the availability and pe...
research
08/15/2022

"To Clean-Code or Not To Clean-Code" A Survey among Practitioners

Context: Writing Clean Code understandable by other collaborators has be...

Please sign up or login with your details

Forgot password? Click here to reset