Changes

Jump to: navigation, search

Firefox/Normandy/PreferenceRollout

659 bytes removed, 20:52, 18 July 2018
no edit summary
It isn't always desirable to turn on a feature for all users at once, or exactly when a new version of Firefox is released. In this case, it is common to make the feature controllable via a flag, or a switch that can be used to turn the feature on and off. In Firefox this is generally a preference. There are then several mechanism we can use to turn this flag on to enable the feature off-train, Normandy pref rollout is a simple, safe, and featureful way.
 
== Check list ==
 
If you want to make a change to Firefox via preference rollout, here are the things you must do.
 
* Make a feature, controlled by a preference, and land it in the tree
* Have someone from the Normandy team look at the feature, to check for compatibility
* Get the feature and preference tested by PI
* Decide what metrics you will use to determine success
* Decide a timeline for deployment
* File a rollout bug
* Send an intent-to-ship email, see below for details on its content
* Get approval from Release Engineering
* Create a Normandy recipe
* Get Normandy recipe approved
* Ship it!
== Capabilities of Normandy Pref Rollout ==
* Feature flags are not a way to skip the trains.
* Feature flagging is not a replacement for thorough testing.
* Normandy pref rollout is not suitable for generally compatible with preferences that require a browser restart. == Who's involved == * Feature Flag Champion** Generally an engineer or PM from the team making the feature.** Responsible for:*** defining rollout plan, timeline, and targeting criteria*** sending an intent-to-ship email*** writing the Normandy recipe*** requires a thorough understanding of the feature at hand* Release Management** Relman must approve all feature flag changes.** The champion should send an intent-to-ship to release-drivers@mozilla.com to inform release management of your feature's rollout** They will provide guidance about possible conflicts with other feature being deployed.* Product Integrity** All features should be approved for release to the target audience by product integrity.* Normandy team** At this time, someone from the Normandy team should be involved as early as possible in feature development.** Please file a bug in your component to deploy the feature via Normandy, and needinfo Michael Cooper (:mythmon) if you're considering using preference rollout.
== Intent to Ship ==
* The targeted audience, including channel and version
* What would cause the feature to be rolled back
 
Checklist
 
* Make a feature, controlled by a preference
* Get the preference tested by PI
* Make a rollout plan
* File a rollout bug, and needinfo the Normandy team
* Send an intent-to-ship email
* Create a Normandy recipe
* Get Normandy recipe approved
* Ship it!
== Rollback ==
Confirm
67
edits

Navigation menu