Litcius/Paper detail

Exploring differences and commonalities between feature flags and configuration options

Jens Meinicke, Chu-Pan Wong, Bogdan Vasilescu, Christian Kästner

202028 citationsDOIOpen Access PDF

Abstract

Feature flags for continuous deployment and configuration options for customizing software share many similarities, both conceptually and technically. However, neither academic nor practitioner publications seem to clearly compare these two concepts. We argue that a distinction is valuable, as applications, goals, and challenges differ fundamentally between feature flags and configuration options. In this work, we explore the differences and commonalities of both concepts to help understand practices and challenges, and to help transfer existing solutions (e.g., for testing). To better understand feature flags and how they relate to configuration options, we performed nine semi-structured interviews with feature-flag experts. We discovered several distinguishing characteristics but also opportunities for knowledge and technology transfer across both communities. Overall, we think that both communities can learn from each other.

Topics & Concepts

FLAGS registerFeature (linguistics)Flag (linear algebra)Computer scienceSoftware deploymentData scienceWork (physics)SoftwareKnowledge managementSoftware engineeringEngineeringMathematicsPure mathematicsPhilosophyOperating systemProgramming languageLinguisticsAlgebra over a fieldMechanical engineeringAdvanced Software Engineering MethodologiesSoftware Engineering Techniques and PracticesSoftware Engineering Research