# Source: https://configcat.com/docs/glossary.md

# Glossary of Terms

Copy page

An alphabetical list of terms used around feature management and software development in general in the context of ConfigCat.

## A[​](#a "Direct link to A")

#### [A/B Testing](https://configcat.com/blog/2022/05/02/what-is-ab-testing/)[​](#ab-testing "Direct link to ab-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](https://configcat.com/docs/glossary/alpha-testing.md)[​](#alpha-testing "Direct link to alpha-testing")

Alpha testing examines a product's functionality and compliance with the business requirements through the initial end-to-end testing.

## B[​](#b "Direct link to B")

#### [Beta Testing](https://configcat.com/docs/glossary/beta-testing.md)[​](#beta-testing "Direct link to 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](https://configcat.com/docs/glossary/blue-green-deployment.md)[​](#bluegreen-deployment "Direct link to bluegreen-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[​](#c "Direct link to C")

#### [Canary Release](https://configcat.com/canary-testing)[​](#canary-release "Direct link to 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](https://configcat.com/canary-testing/)[​](#canary-testing "Direct link to 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](https://configcat.com/docs/glossary/ci-cd-pipeline.md)[​](#cicd-pipeline "Direct link to cicd-pipeline")

A CI/CD (Continuous Integration and Continuous Deployment) pipeline is a set of steps that must be followed to deliver a new software version to customers.

#### [Continuous Delivery](https://configcat.com/blog/2022/06/13/decoupling-feature-releases-from-deployment/)[​](#continuous-delivery "Direct link to 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](https://configcat.com/blog/2022/06/13/decoupling-feature-releases-from-deployment/)[​](#continuous-deployment "Direct link to continuous-deployment")

Continuous Deployment is a process where any code changes brought to an application are released automatically into the production environment.

#### [Continuous Integration](https://configcat.com/docs/glossary/continuous-integration.md)[​](#continuous-integration "Direct link to continuous-integration")

Continuous Integration refers to the regular merging of code changes into a central repository, followed by automated builds and tests.

## D[​](#d "Direct link to D")

#### [Dark Launch](https://configcat.com/blog/2022/06/13/decoupling-feature-releases-from-deployment/#feature-release-with-dark-launch)[​](#dark-launch "Direct link to dark-launch")

A dark launch involves releasing a feature to a subset of users before a full release to test reactions.

#### [Developer Advocate](https://configcat.com/blog/2023/07/11/role-of-developer-advocates/)[​](#developer-advocate "Direct link to 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](https://configcat.com/docs/glossary/devops-engineer.md)[​](#devops-engineer "Direct link to 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[​](#e "Direct link to E")

## F[​](#f "Direct link to F")

#### [Fake Door Testing](https://configcat.com/fake-door-testing/)[​](#fake-door-testing "Direct link to 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](https://configcat.com/feature-branch/)[​](#feature-branch "Direct link to 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](https://configcat.com/featureflags/)[​](#feature-flag "Direct link to 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](https://configcat.com/docs/glossary/feature-testing.md)[​](#feature-testing "Direct link to feature-testing")

An experiment to determine which version of a feature offers the best user experience is called a Feature Test.

#### [Feature Flag Framework](https://configcat.com/feature-flag-framework-explained/)[​](#feature-flag-framework "Direct link to 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](https://configcat.com/feature-flagging-tools/)[​](#feature-flagging-tools "Direct link to 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](https://configcat.com/feature-flag-as-a-service/)[​](#feature-flags-as-a-service "Direct link to 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](https://configcat.com/feature-toggles/)[​](#feature-toggles "Direct link to 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](https://configcat.com/feature-toggle-management/)[​](#feature-toggle-management "Direct link to 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[​](#g "Direct link to G")

## H[​](#h "Direct link to H")

## I[​](#i "Direct link to I")

## J[​](#j "Direct link to J")

## K[​](#k "Direct link to K")

#### [Kill Switch](https://configcat.com/blog/2022/03/24/how-kantan-successfully-uses-configcat-in-its-ci-pipeline/#retiring-feature-flags-or-keeping-them-as-emergency-kill-switches)[​](#kill-switch "Direct link to 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[​](#l "Direct link to L")

## M[​](#m "Direct link to M")

#### [Multi-Armed Bandit](https://configcat.com/docs/glossary/multi-armed-bandit.md)[​](#multi-armed-bandit "Direct link to 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 long-term cumulative rewards.

## N[​](#n "Direct link to N")

## O[​](#o "Direct link to O")

## P[​](#p "Direct link to P")

#### [Product Lifecycle Manager](https://configcat.com/docs/glossary/product-lifecycle-manager.md)[​](#product-lifecycle-manager "Direct link to 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](https://configcat.com/platform-engineering/)[​](#platform-engineering "Direct link to 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](https://configcat.com/blog/2022/01/14/progressive-delivery/)[​](#progressive-delivery "Direct link to 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[​](#q "Direct link to Q")

## R[​](#r "Direct link to R")

#### [Rails Feature Flags](https://configcat.com/rails-feature-flag/)[​](#rails-feature-flags "Direct link to 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](https://configcat.com/react-feature-flag/)[​](#react-feature-flags "Direct link to 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](https://configcat.com/docs/glossary/release-manager.md)[​](#release-manager "Direct link to 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](https://configcat.com/docs/glossary/remote-configuration.md)[​](#remote-configuration "Direct link to 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](https://configcat.com/ring-deployment/)[​](#ring-deployment "Direct link to 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[​](#s "Direct link to S")

#### [Site Reliability Engineer](https://configcat.com/site-reliability-engineers/)[​](#site-reliability-engineer "Direct link to 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](https://configcat.com/docs/glossary/smoke-testing.md)[​](#smoke-testing "Direct link to 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](https://configcat.com/soak-testing/)[​](#soak-testing "Direct link to 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](https://configcat.com/software-development-lifecycle/)[​](#software-development-life-cycle "Direct link to 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](https://configcat.com/feature-flag-saas/)[​](#software-as-a-service "Direct link to 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](https://configcat.com/docs/glossary/what-is-a-staging-environment.md)[​](#staging-environment "Direct link to 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 production environment your code will run in. The key difference is that it is completely walled off from the front-facing actual environment.

## T[​](#t "Direct link to T")

#### [Testing in Production](https://configcat.com/testing-in-production/)[​](#testing-in-production "Direct link to 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](https://configcat.com/docs/glossary/type-i-and-type-ii-errors.md)[​](#type-i-and-type-ii-errors "Direct link to type-i-and-type-ii-errors")

A Type I error occurs when the null hypothesis is incorrectly rejected, even though it is actually true. A Type II error occurs when the null hypothesis is wrongly not rejected while it is actually false.

#### [Trunk-Based Development](https://configcat.com/trunk-based-development/)[​](#trunk-based-development "Direct link to 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[​](#u "Direct link to U")

#### [User Acceptance Testing](https://configcat.com/user-acceptance-testing/)[​](#user-acceptance-testing "Direct link to 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[​](#v "Direct link to V")

#### [Version Control](https://configcat.com/docs/glossary/version-control.md)[​](#version-control "Direct link to 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.

## W[​](#w "Direct link to W")

## X[​](#x "Direct link to X")

## Y[​](#y "Direct link to Y")

## Z[​](#z "Direct link to Z")