What are Feature Flags? - Explanation & Meaning
Learn what feature flags are, how feature toggles work for gradual rollouts and A/B testing, and why they are essential for trunk-based development.
Definition
Feature flags (feature toggles) are a software development technique that allows new features to be deployed to production without making them immediately visible to all users. They act as switches that dynamically enable or disable features.
Technical explanation
Feature flags exist in various types: release flags (gradual rollout), experiment flags (A/B testing), ops flags (kill switches for problematic features), and permission flags (features per user group). In a gradual rollout, a feature is first shown to a small percentage of users, then the percentage is gradually increased based on metrics and feedback. A/B testing compares two variants across different user groups to determine the best variant. Trunk-based development is enabled because incomplete features behind flags can exist in the main branch without affecting production. Platforms like LaunchDarkly, Unleash, and Flagsmith provide flag management with targeting rules, analytics, and audit logs. It is crucial to maintain a lifecycle policy: flags must be removed after full rollout to prevent technical debt. Feature flags in code are typically implemented as conditionals around new functionality, with a fallback to existing behavior.
How MG Software applies this
MG Software uses feature flags for gradually rolling out new features to our clients. We implement flags via configuration or specialized services, enabling us to activate features per environment, per client, or per percentage of users. This allows us to mitigate risks during major releases and respond quickly if issues arise by simply disabling a feature.
Practical examples
- A SaaS platform showing a new dashboard view to 5% of users first, monitoring metrics, and gradually scaling to 100% after positive results.
- An e-commerce site A/B testing which checkout flow leads to more conversions by offering two variants behind feature flags to different user groups.
- A development team merging a half-built feature behind a flag into the main branch, so the team can continue trunk-based development without affecting production.
Related terms
Frequently asked questions
Related articles
What is A/B Testing? - Explanation & Meaning
Learn what A/B testing (split testing) is, how statistical significance works, which tools are available, and how to apply conversion optimization with controlled experiments.
What is an API? - Definition & Meaning
Learn what an API (Application Programming Interface) is, how it works, and why APIs are essential for modern software development and system integrations.
What is SaaS? - Definition & Meaning
Discover what SaaS (Software as a Service) means, how it works, and why more businesses are choosing cloud-based software solutions for their operations.
Software Development in Amsterdam
Looking for a software developer in Amsterdam? MG Software builds custom web applications, SaaS platforms, and API integrations for Amsterdam-based businesses.