• Home
  • BVSSH
  • C4E
  • Playbooks
  • Frameworks
  • Good Reads
Search

What are you looking for?

Practice : Feature Toggles / Flags

Purpose and Strategic Importance

Feature Toggles (or Flags) allow teams to control the release of functionality dynamically, decoupling deployment from release. They enable safer experimentation, faster feedback, and reduced dependency on rigid release cycles.

Without feature flags, teams face higher risk when deploying, and experimentation is limited to large launches.


Description of the Practice

  • Flags wrap features, enabling toggling on/off at runtime.
  • Used to test new functionality with subsets of users.
  • Provide rollback mechanisms without redeployment.

How to Practise It (Playbook)

1. Getting Started

  • Introduce a simple flagging tool (LaunchDarkly, Unleash, homegrown).
  • Start with low-risk features for pilot testing.
  • Document ownership of flag lifecycles.

2. Scaling and Maturing

  • Use flags for experimentation, gradual rollouts, and A/B testing.
  • Monitor flag usage to retire old toggles.
  • Integrate flagging practices into CI/CD pipelines.

3. Team Behaviours to Encourage

  • Discipline in flag lifecycle management.
  • Safety-first mindset when releasing new features.
  • Openness to experimentation at scale.

4. Watch Out For…

  • Flag sprawl — old toggles cluttering codebase.
  • Poor monitoring of feature rollout impact.
  • Flags used as excuses for poor release planning.

5. Signals of Success

  • Qualitative: Teams release features with greater confidence.
  • Quantitative: Decrease in incidents tied to releases.
Associated Standards
  • Dependencies are minimised
  • Feedback loops are fast and frequent

Technical debt is like junk food - easy now, painful later.

Awesome Blogs
  • LinkedIn Engineering
  • Github Engineering
  • Uber Engineering
  • Code as Craft
  • Medium.engineering