Release Management/Process coordination for handling off-train releases: Difference between revisions

m
added section for remote settings
m (→‎Extra steps: reformatting)
m (added section for remote settings)
 
(26 intermediate revisions by 4 users not shown)
Line 8: Line 8:


The list of off-train release requests include (but are not limited to):
The list of off-train release requests include (but are not limited to):
* Shipping content via Remote Settings
* Shipping a new Mozilla webextension
* Shipping a new Mozilla webextension
* [https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process GoFaster] for shipping new system add-ons
* [https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process GoFaster] for shipping new system add-ons
Line 38: Line 39:
| align=center| '''Checklist'''
| align=center| '''Checklist'''
|- style="border:1pt solid #000000;padding:0.176cm;"
|- style="border:1pt solid #000000;padding:0.176cm;"
| align=center| Content sent via Remote Settings
|| Publishing content to Firefox users with the in-product messaging system (Remote Settings)
''Example:'' (TBD)
<u>Typical time-to-ship</u>: (TBD)
|| Product manager/Dev owner files a bug and adds the messaging-system-request flag, filling out the resulting Bugzilla comment form.
<u>Driver</u>: Product owner
|| ✅ Product owner
✅ Publishing engineer
✅ Messaging (Firefox) Engineering peer
✅ Messaging Product owner
✅ Relman owner
||[https://docs.google.com/document/d/1TAu5OQ_hWZjfL4k9-b7uEcjjyvWhgeQQD6X5ksCC7bc/edit#heading=h.rfqkfzwwckon Messaging system intake and release process]
|- style="border:1pt solid #000000;padding:0.176cm;"
| align=center| New Mozilla webext
| align=center| New Mozilla webext
|| A business need to publish Mozilla owned webext to Firefox Desktop users via AMO.
|| A business need to publish Mozilla owned webext to Firefox Desktop users via AMO.
Line 59: Line 84:




|| TODO add a link to a template for the process
||  
|- style="border:1pt solid #000000;padding:0.176cm;"
|- style="border:1pt solid #000000;padding:0.176cm;"
| align=center| GoFaster
| align=center| GoFaster
Line 212: Line 237:
= General process =
= General process =


As all these processes are similar, the general process is describe. Specificities are described in dedicated checklists.
As all these processes are similar, the general process is described. Specific details are described in dedicated checklists.


# Kick-off email thread or meeting to establish scope, owners and timeline.
# Kick-off email thread or meeting to establish scope, owners and timeline.
Line 226: Line 251:
# Publication of the change
# Publication of the change
# QA sign off of the publication of the change
# QA sign off of the publication of the change
= Process: Messaging to users with Remote Settings =
==Decisions==
== Extra steps ==
== Checklist ==
== Extra information ==
[https://docs.google.com/document/d/1eDDIZCp_pD01cCeghum7fLRDqmEl3dfds9y3yI4W9Hw/edit Messaging system intake and release process]


= Process: Shipping a New Mozilla Webextension =
= Process: Shipping a New Mozilla Webextension =
Line 429: Line 465:


== Extra information ==
== Extra information ==
The steps for shipping a system add-on are described in detail here:


[https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process]
[https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process https://wiki.mozilla.org/Firefox/Go_Faster/System_Add-ons/Process]
Line 451: Line 488:
== Extra steps ==
== Extra steps ==


* Intent to ship email to release-drivers with the bug number
# Intent to ship email to release-drivers with the bug number
* Releng owner to configure balrog rules and sign offs
# Releng owner to configure balrog rules and sign offs


== Checklists ==
== Checklists ==
Line 531: Line 568:
== Extra steps ==
== Extra steps ==


* Intent to ship email to release-drivers to explain the change
# Intent to ship email to release-drivers to explain the change
* The change should be published on the relevant platform
# The change should be published on the relevant platform


== Checklists ==
== Checklists ==
Line 597: Line 634:
= Process: Shield studies =
= Process: Shield studies =


Shield studies are controlled A/B tests. They are available on all channels, namely Nightly, Beta, Release. A/B experiments are done to understand user behavior, user retention, onboarding, test feature ideas, etc.
Shield studies are controlled A/B tests, using either a pref-flip or an add-on. They are available on all channels, namely Nightly, Beta, Release. A/B experiments are done to understand user behavior, user retention, onboarding, test feature ideas, etc.  


== Decisions ==
== Decisions ==
* Target channel
* Work with Data Science first to determine the best way to answer your questions.  A pref-flip or add-on study is only one way to find answers.  Guidance to get started with Data Science is [https://mana.mozilla.org/wiki/display/PM/Firefox+Data+Science#FirefoxDataScience-projectworkflow here]. 
* Rollout plan (channel, user population, test/control channel breakdown)
* If Data Science and product determine a pref-flip or add-ons study is needed, you will fill out Experimenter together to get started. Getting Started guidance [https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-GettingStarted here]. 
* Timeline
* These are the [https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-Stages stages] between starting Experimenter and the study releasing.
* Data/Legal review
 


== Extra steps ==
== Extra steps ==


* Product Hypothesis Doc (Phd) review
# In Experimenter, after you have completed your "Draft", click the "[https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-ReadyforSign-offs Ready for Sign-offs]" button to get the checklist of Required and Optional items needed to launch your study.
# When you have all your required and optional checklist items complete, click the "Ready to Ship" button to let Normandy know this is ready to be launched.  You will be contacted with any questions.


== Checklists ==
== Checklists ==
Line 618: Line 656:
| align=center| Completion Date
| align=center| Completion Date
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
| align=center| Phd review
| align=center| Data Science Bug
| align=center| <product-owner>
| align=center| product-owner
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
| align=center| Data steward/Privacy review
| align=center| Analysis Battery
| align=center| <data-steward>
| align=center| data scientist
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
| align=center| Firefox peer review
| align=center| Experimenter Draft
| align=center| <shield-owner>
| align=center| product-owner & data scientist
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
| align=center| QA sign off
| align=center| Complete Study checklist
| align=center| <qa-owner>
| align=center| product-owner
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
| align=center| Relman Go/NoGo sign off
| align=center| Kick-off the study
| align=center| <relman>
| align=center| Normandy-owner
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
| align=center|  
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
|- style="background-color:#ffffff;border:0.75pt solid #000000;padding:0.071cm;"
| align=center| Kick-off the study
| align=center| Study Results
| align=center| <shield-owner>
| align=center| product-owner & data scientist
| align=center|  
| align=center|  
| align=center|  
| align=center|  
Line 659: Line 697:


Useful links
Useful links
* [https://docs.google.com/document/d/1MQKsT1pNR30Qtc6B7a_1egcnOt7ft-fJhelrQZUrre8/edit?usp=sharing Release management risk assessment criteria]  
* [https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-Risks&Testing risk assessment criteria]  
* [https://wiki.mozilla.org/Firefox/Shield/Shield_Studies https://wiki.mozilla.org/Firefox/Shield/Shield_Studies]
* [https://mana.mozilla.org/wiki/display/FIREFOX/Pref-Flip+and+Add-On+Experiments#Pref-FlipandAdd-OnExperiments-GettingStarted Experimenter Guidance]


= Process: Feature rollout via Normandy =
= Process: Feature rollout via Normandy =
Line 669: Line 707:


== Decisions ==
== Decisions ==
* Timeline
* Timeline (Refer to the [https://docs.google.com/document/d/1xiWjGqK-s3NiqEY-Qg34eAm1Nca5iqzEUE8udRX1ku0/edit feature rollout playbook] for help with this)
* Products affected: Desktop, Fennec, ESR?
* Products affected: Desktop, Fennec, ESR?
* Platforms affected: All, Windows, Mac, Linux?
* Platforms affected: All, Windows, Mac, Linux?
Line 676: Line 714:


== Extra steps ==
== Extra steps ==
* Development owner configures the recipe in Normandy to flip pref for targeted end-users
# File a bug for handling the rollout (examples: {{bug|1467514}} or {{bug|1523978}})
* Release owner reviews, approves and publishes recipe
# Development owner (likely mythmon) configures the recipe in Normandy to flip pref for targeted end-users
* Feature team, release owner monitor data to verify:
# For release-unblockers/hotfixes, set up on stage, so QA can test on https://delivery-console.stage.mozaws.net
** Recipe uptake is going as planned
# Release owner reviews, approves and publishes recipe
** Feature is having the intended effect on end-users
# Feature team, release owner monitor data to verify:
## Recipe uptake is going as planned
## Feature is having the intended effect on end-users


== Checklist ==
== Checklist ==
Line 699: Line 739:


== Extra steps ==
== Extra steps ==
* Release owner drafts release notes and shares for review.
# Release owner drafts release notes and shares for review.
* Security owner drafts security advisory as needed and shares for review.
# Security owner drafts security advisory as needed and shares for review.


== Checklist ==
== Checklist ==
Line 715: Line 755:


== Extra steps ==
== Extra steps ==
* Security owner drafts security advisory as needed and shares for review.
# Security owner drafts security advisory as needed and shares for review.
* Create a CVE if necessary
# Create a CVE if necessary
* Reach out to partners and/or other projects impacted if needed
# Reach out to partners and/or other projects impacted if needed


== Checklist ==
== Checklist ==
Confirmed users
2,816

edits