Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
E
Experimentation
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 0
    • Merge requests 0
  • Requirements
    • Requirements
    • List
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Code Review
    • Insights
    • Issue
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • Growth
  • Experimentation
  • Issues
  • #5

Closed (moved)
Open
Created Oct 02, 2020 by Phil Calder@pcalderOwner

[MOVED] Dogfood GitLab feature flag implementation for Growth experiments

** Moved to gitlab-org/gitlab#321749 (closed) **

Background

  1. The current Growth experimentation.rb implementation uses Flipper feature flags behind the scenes (this is abstracted), allowing A/B testing (control vs experiment group)
  2. Some GitLab projects (CustomersDot) use unleash feature flags (Category Direction, GitLab Feature Flag feature)), a few experiments have been run using this
  3. Growth is building out the experiment capability for GitLab.com to meet Growth product requirements #1 (closed)
  4. Ops is looking at a business case for A/B testing gitlab-com/Product#1634

Dogfooding option

GitLab Feature Flag service using Unleash is a potential solution. This would involve enabling Unleash on GitLab.com for experimentation initially, as this is deemed lower risk than adopting for all GitLab development feature flags. There is some work to do to enable this. Growth can act as the customer.

  1. gitlab-org/gitlab#211687 (comment 433950749)
  2. gitlab-org/gitlab!44741 (closed)

Experiment feature flag type using Unleash

There is a proposal to introduce a feature flag YAML type for experiments. Once Unleash is supported and enabled, this type would use the (new) Unleash adapter. If implemented in the interim (using Flipper), the plan would be to migrate to Unleash when available.

gitlab-org/gitlab#246620 (comment 434417420)

Future considerations

There is a proposal to add A/B testing to the product. Given there is no timeline for this yet, it is out of scope for Growth in the short to medium term, but should be revisited once there is plan to implement this in line with our preference for dogfooding https://about.gitlab.com/handbook/engineering/#dogfooding

The work we do here can and should be used to help drive the implementation of A/B test capabilities within the product.

gitlab-org/gitlab#212782

Proof of concept

Example experiment running on CustomersDot using GitLab Feature Flag feature:

#15 (closed)


The initial problem revolved around direction for GitLab Feature Flags feature - whether Unleash and/or Flipper would be supported for use on GitLab.com. Documented in this comment #5 (comment 434678611), although this no longer blocks us.

Edited Feb 16, 2021 by Phil Calder
Assignee
Assign to
Next 1-3 releases
Milestone
Next 1-3 releases
Assign milestone
Time tracking