Glossary of Terms
An alphabetical list of terms used around feature management and software development in general in the context of ConfigCat.
A
A/B Testing
A/B testing is a method of comparing two versions of a product or feature to determine which one performs better. A/B testing is a form of controlled experimentation.
Alpha Testing
Alpha testing examines a product's functionality and compliance with the business requirements through the initial end-to-end testing.
B
Beta Testing
Testing in the beta phase allows users to discover any issues or bugs before a general release by using a product in a real-world environment.
Blue/Green Deployment
Blue/Green deployments offer near-zero downtime and rollback capabilities. The concept of a blue/green deployment involves switching traffic between two identical environments running different versions of your application.
C
Canary Release
A Canary Release is a type of progressive delivery where a small percentage of users are exposed to a new feature. If the feature works as expected, the percentage of users exposed to the feature is increased. If the feature does not work as expected, the feature is rolled back.
Canary Testing
Canary testing is a software deployment technique where updates or new features are rolled out to a small, carefully selected subset of users before being released to the entire user base, to test and ensure their effectiveness and safety.
CI/CD Pipeline
A Continuous Integration and Continuous Deployment pipeline (CI/CD) is a set of steps that must be followed to deliver a new software version to customers.
Continuous Delivery
A continuous delivery process enables changes - including new features, configuration changes, bug fixes and experiments - to be released into production in a safe and timely manner while maintaining sustainability.
Continuous Deployment
Continuous Deployment is a process where any code changes brought to an application are released automatically into the production environment.
Continuous Integration
Continuous Integration refers to the regular merging of code changes into a central repository, followed by automated builds and tests.
D
Dark Launch
A Dark Launch is rolled out stealthily by first releasing a feature to a subset of users before a full release to see how they react to it.
Developer Advocate
A Developer Advocate is a person whose job is to help developers be successful with a platform or a technology and to speak (or write) on their behalf.
DevOps Engineer
The DevOps Engineer is responsible for the development and maintenance of the infrastructure and the deployment of the software. The DevOps Engineer is also responsible for the monitoring and maintenance of the software and the infrastructure.
E
F
Fake Door Testing
Fake Door Testing is a technique used to assess the market demand for a product prior to investing in its development.
Feature Branch
A feature branch is a copy of the main codebase where an individual or team of software developers can work on a new feature until it is complete.
Feature Flag
A feature flag is a toggle used to activate or deactivate specific features you may have in your application without redeploying code.
Feature Testing
An experiment to determine which version of a feature offers the best user experience is called a Feature Test.
Feature Flag Framework
A feature flag framework is a system that allows developers to enable or disable specific functionalities of an application, enabling testing, gradual rollouts, and easy adjustments without redeploying the whole software.
Feature Flagging Tools
Feature flagging tools are software utilities that enable developers to control the visibility and operational state of individual features in a software product, allowing for selective exposure and A/B testing without requiring system-wide updates or redeployments.
Feature Flags as a Service
Providing feature flags as a service involves delivering (under a subscription model) a cloud solution for managing software features, enhancing development efficiency, risk control, and user experience.
Feature Toggles
Feature toggles, also known as feature flags, are a software development technique that allows the enabling or disabling of specific functionalities within an application, facilitating testing, incremental rollouts, and feature control without redeploying the software.
Feature Toggle Management
Feature toggle management refers to the process of controlling and coordinating the use of feature flags or toggles in software development, enabling developers to switch on or off certain functionalities for testing, deployment, or user experience customization.
G
H
I
J
K
Kill Switch
A kill switch is a mechanism that can be used to quickly disable a feature or an entire application in case of an emergency.
L
M
Multi Armed Bandit
The Multi-Armed Bandit (MAB) is a machine learning framework that involves an agent making selections, referred to as "arms," with the goal of maximizing its long-term cumulative reward
N
O
P
Product Lifecycle Manager
The role of a product lifecycle manager is to supervise the project team and ensure timely completion of each stage in the lifecycle of a project.
Platform Engineering
Platform engineering is the design and maintenance of the foundational infrastructure and tools that support software development teams in building, deploying, and operating applications at scale. It combines elements of systems and software engineering with automation to provide standardized environments and CI/CD pipelines, enabling developers to focus on code while minimizing infrastructure complexity.
Progressive Delivery
A progressive delivery approach to DevOps combines the principles of Continuous Integration and Continuous Delivery (CI/CD) with modern software development practices, facilitating faster code deployment, reducing risk, and improving user experiences.
Q
R
Rails Feature Flags
Rails feature flags are conditional coding elements used in Ruby on Rails applications that enable or disable specific features dynamically, facilitating controlled release, A/B testing, and gradual rollout of software functionalities.
React Feature Flags
React feature flags are conditional codes used in React.js applications to enable or disable certain features dynamically, allowing for controlled release, testing, and customization of software functionalities.
Release Manager
A release manager is an IT professional responsible for defining and executing the software release process within a company, ensuring smooth deployment and high quality releases.
Remote Configuration
Remote configuration is a software development technique that allows you to modify certain features of an app remotely without having to deploy a new version of the app.
Ring Deployment
Ring deployment is a form of gradual rollout where new features are released gradually to different groups of users to mitigate risk.
S
Site Reliability Engineer
A site reliability engineer (SRE) is a professional in the field of information technology who uses automation tools to monitor the reliability of software in a live production environment.
Smoke Testing
Smoke testing is a type of testing done early in the software development process to confirm that the most critical features of an application are functioning correctly.
Soak Testing
Soak testing is a type of non-functional testing that assesses a software application's performance under a high volume of load over an extended period of time.
Software Development Life Cycle
The Software Development Life Cycle (SDLC) is a systematic approach aimed at producing high-quality, low-cost software efficiently and within a shorter timeframe.
Software as a Service
Software as a Service (SaaS) is a cloud-based delivery model where applications are hosted and maintained by a service provider and accessed by users over the internet, typically on a subscription basis.
Staging Environment
A staging environment is a dry run for your code under the closest possible parameters to its real-world application. It is a near-perfect replica of the servers, infrastructure, architecture, and application of the actual use environment of your code. The key difference is that it is completely walled off from the front-facing actual environment.
T
Testing in Production
Testing in production is the practice of evaluating software in its live environment, with real users and real-world conditions. Unlike traditional testing in controlled settings, this approach exposes the software to actual usage scenarios, uncovering issues that may be missed otherwise. However, it requires vigilant monitoring and quick problem resolution to minimize user impact.
Type I and Type II Errors
A Type I error occurs when the null hypothesis is incorrectly rejected while it is actually true, while a Type II error occurs when the null hypothesis is wrongly not rejected while it is actually false.
Trunk Based Development
Trunk-based development is a version control technique where developers regularly merge small updates into a central "trunk" or main branch.
U
User Acceptance Testing
User Acceptance Testing (UAT) is a stage in software development where the software is tested in a simulated real-world environment by its intended users or business representatives.
V
Version Control
Version control, also referred to as source control or revision control, is a crucial software development practice that tracks and manages changes to code and other files, and is closely linked to source code management.