← Back to blog

Feature Flags and Gradual Releases

feature-flags devops agility

Feature flags allow you to deploy code without users seeing the feature. This separates two activities that have always been treated as the same thing: delivering code and releasing functionality.

The problem with deploy = release

Without feature flags:

  1. Code goes to production
  2. Feature becomes visible to everyone immediately
  3. If something goes wrong: painful rollback
  4. Result: fear of deploying and inflated estimates

With feature flags:

  1. Code goes to production (behind the flag)
  2. Feature stays invisible until activated
  3. If something goes wrong: deactivate the flag in seconds
  4. Result: confidence to deploy frequently

Impact on estimates

Without feature flags

“We need to make sure everything works perfectly on deploy. That adds 3 extra points of work.”

With feature flags

“If there’s a problem, we disable the flag. The estimate reflects only the effort to build.”

Less risk = more realistic estimates

Teams with feature flags estimate with less fear because they know rollback is trivial.

Types of Feature Flags

TypeUseDuration
ReleaseControl feature releaseWeeks
ExperimentA/B testing and validationDays/weeks
OperationsPerformance and fallbackHours/days
PermissionAccess by plan/rolePermanent

Estimating flagged features

When a feature uses a flag, consider in the estimate:

  • Flag logic (1 extra point) — adding the toggle
  • Flag testing (1 extra point) — testing with flag on and off
  • Analytics (1-2 points) — feature usage tracking
  • Removal — schedule to remove the flag after stabilization

Tools

  • LaunchDarkly — most complete, enterprise
  • Unleash — open-source, self-hosted
  • Split — focused on experimentation
  • Flagsmith — simple open-source alternative
  • Custom solution — boolean flag in the database

Best practices

  1. Clear namesenable-new-checkout-flow not flag1
  2. Remove old flags — if the feature is already stable, remove the flag
  3. Central dashboard — all flags visible and manageable
  4. Environment limits — operational flags not activated in production without approval
  5. Document — each flag should have an owner and removal date

Feature Flags and Sprint Planning

With feature flags, Sprint Planning changes:

  • More confidence — rollback is easy so plan with less buffer
  • Incremental delivery — features can be partially released during a sprint
  • More flexible review — demo with flag activated in staging

Conclusion

Feature flags are a speed and confidence multiplier. They separate deploy from release, reduce the fear of making mistakes, and allow teams to estimate more precisely because they know rollback is instant.