[go: up one dir, main page]

Skip to content

Train engineers on Feature Flag usage

There have been several pain points when it comes to Feature Flags in development, which can cause bottlenecks in development (especially when working with multiple feature flags at the same time), confusion for product managers and engineering managers regarding whether a feature has been "released" or not, nomenclature discrepancies between a product Feature and the concept of a Feature Flag | Toggle. These pain points are particularly difficult when onboarding engineers.

We need to develop training around how to use feature flags successfully, specifically in these areas:

  • Clarifying Operations > Feature Flags (unleash) and how this is not what we're referring to during training: https://docs.gitlab.com/ee/user/project/operations/feature_flags.html
  • How to determine that you should use a feature flag
  • Process around adding and removing a feature flag (How do you add a flag, when should you remove a flag)
  • How to successfully maintain feature flags
  • How do you know when something is already behind a feature flag?
  • How do you enable a feature flag locally?
  • How to roll out a feature
  • What to be aware of when working with multiple feature flags

A presentation has been drafted for review here

There are already some valid, open issues regarding some of these areas:

A blip regarding the history of this functionality:

Starting from GitLab 9.3 we support feature flags via Flipper. You should use the Feature class (defined in lib/feature.rb) in your code to get, set and list feature flags. During runtime you can set the values for the gates via the admin API.

gitlab-org/gitlab-foss!11747 (diffs)

/cc @timzallmann @clefelhocz1

Edited by Michelle Gill