MDN/Archives/Projects/Development/CompatibilityTables/Milestones: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(more ideas for future)
 
(31 intermediate revisions by 4 users not shown)
Line 1: Line 1:
''' THIS PAGE IS A DRAFT, NOTHING IS SET IN STONE... YET<br>PLEASE PROVIDE FEEDBACK ON THE [https://lists.mozilla.org/listinfo/mdn MDN MAILING LIST] '''
== Overview ==


== '''0.''' ''Skateboard'' (Proof of concept) ==
The following milestones define priority buckets for the Browser Compatibility project. Each milestone is a step that must be reached to be able to move forward.
'''This is our current state'''


=== Conditions to reach the milestone ===
=== Milestones lifecycle ===
 
Milestones content (materialized as Bugzilla bugs) is defined all along the life of the project with a few key steps it worth knowing:
 
# Milestone definition
# Milestone processing
# Milestone reached
 
Milestone definition is an open process based on discussion on MDN's mailing lists. At that point there is no possible blockers as it's always possible to create new milestones or adding new requirements to existing ones.
 
Milestone processing happen when people start working on a milestone content. There are three formal steps while a milestone is in process, each step defines a set of restriction and requirements:
# '''Frozen''': <br>When a milestone is ''frozen'', it is strictly forbidden to add new major bugs to the milestone and all new normal bugs should explicitly block a major bug. This states is possible only if the previous milestone is about ''to be released'' (see below).
# '''To be released''': <br>When a milestone is about ''to be released'', it is strictly forbidden to add new normal bugs to the milestone. At that point, adding a new bug to the milestone requires a formal agreement from the accountable and responsible stakeholders. This state is reached automatically if all the major bug of the milestone are resolved.
# '''released''': <br>The work on the milestone is over and the milestone itself is considered "reached" (see below). At that point no new bug, even minor is allowed in the milestone.
 
Finally, a milestone is considered reached (and get the ''released'' stats) when the following conditions are fulfilled:
* All major and normal bugs associated to a milestone are resolved
* The milestone has been formally reviewed (and approved) during the project meeting.
* All remaining open bugs (normal or minor) has been reallocated to a next milestone.
 
== Milestone breakdown ==
=== Summary ===
 
# ''Skateboard'' (Our starting point, considered '''released'''): Proof of concept
# ''[[MDN/Projects/Development/CompatibilityTables/Milestones/Bicycle|Bicycle]]'' ('''Frozen'''): Begin building contribution UI
# ''Scooter'' ('''In discussion'''): Start working on the platform transition (data and delivery)
# ''Motorbike'' ('''In discussion'''): Handle l10n, make the platform production ready, and start hard beta testing
# ''Car'' ('''In discussion'''): 1st production release for data display
# ''Plane'' ('''In discussion'''): Stabilisation released and released of the C&M UI to the world
# ''Space Ship'' ('''In discussion'''): 1st improvement release
# ''TARDIS'' ('''In discussion'''): Long future release
 
=== ''Skateboard'' (Proof of concept) ===
'''Milestone goals:''' ''Demonstrate the whole solution is realistic and is working.''
'''Status:''' Reached
 
==== Conditions to reach the milestone ====
* (OK) Having compat. tables that have been identified as ready display on MDN with BC data for beta users
* (OK) Having compat. tables that have been identified as ready display on MDN with BC data for beta users
* (OK) Data being scraped manually from MDN with the BC importer
* (OK) Data being scraped manually from MDN with the BC importer
=== Related Bugzilla bugs ===
<bugzilla>
{
  "product":"Mozilla Developer Network",
  "component": "BrowserCompat",
  "whiteboard": "[bc:milestone=skateboard]",
  "include_fields": "summary, status, severity, priority"
}
</bugzilla>




== '''1.''' ''Bicycle'' (Contribution UI) ==
=== ''[[MDN/Projects/Development/CompatibilityTables/Milestones/Bicycle|Bicycle]]'' (Begin building contribution UI) ===
'''Milestone goals:''' ''Start building the Contribution & Management interface (C&M GUI), and start improving the robustness of the overall infrastructure.''


=== Conditions to reach the milestone ===
'''Status:''' Frozen
* (IN PROGRESS) Having the BC API compatible with [http://jsonapi.org JSON API] RC3 recommendation
* (IN PROGRESS) Having a contribution interface for admins
** ''To reach the milestone, The exact scope of that first UI needs to be defined''


=== Related Bugzilla bugs ===
==== Top conditions to reach the milestone ====
<bugzilla>
* ([https://bugzilla.mozilla.org/show_bug.cgi?id=1240757 IN PROGRESS]) Having the BC API compatible with [http://jsonapi.org JSON API] v1.0 recommendation
{
* ([https://bugzilla.mozilla.org/show_bug.cgi?id=1244702 IN PROGRESS]) Having a basic authentification mechanism for admins
  "product":"Mozilla Developer Network",
* ([https://bugzilla.mozilla.org/show_bug.cgi?id=1240101 IN PROGRESS]) Having a contribution interface to manage: Browsers & Versions
  "component": "BrowserCompat",
  "whiteboard": "[bc:milestone=bicycle]",
  "include_fields": "summary, status, severity, priority"
}
</bugzilla>


See [[MDN/Projects/Development/CompatibilityTables/Milestones/Bicycle|the dedicated page]] for the full Bugzilla breakdown.


== '''2.''' ''Scooter'' (Plateforme transition) ==
=== ''Scooter'' (Platform transition) ===
'''Milestone goals:''' ''Continue building the Contribution & Management interface (C&M GUI), and automate the gathering of data from MDN to ensure a clean transition for the data.''
'''Status:''' In Discussion


=== Conditions to reach the milestone ===
==== Conditions to reach the milestone ====
* (PENDING) Having data being scraped automatically from MDN with the BC importer
* ([https://bugzil.la/1243399 PENDING]) Having data being scraped automatically from MDN with the BC importer
* ([https://bugzil.la/1246963 PENDING]) Build the foundation for the HTML Tables Rendering service
* ([https://bugzil.la/1240102 PENDING]) Having a contribution interface to manage: Features & Support
* ([https://bugzil.la/1240103 PENDING]) Having a contribution interface to manage: Specification, Sections, & Maturities


=== Related Bugzilla bugs ===
==== Raw Bugzilla bugs ====
<bugzilla>
<bugzilla>
{
{
  "product":"Mozilla Developer Network",
  "component": "BrowserCompat",
   "whiteboard": "[bc:milestone=scooter]",
   "whiteboard": "[bc:milestone=scooter]",
   "include_fields": "summary, status, severity, priority"
   "include_fields": "summary, status, severity, priority"
Line 52: Line 74:
</bugzilla>
</bugzilla>


=== ''Motorbike'' (Production ready) ===
'''Milestone goals:''' ''Handling L10N of data and UI, make data scraping robust enough to support all MDN current compat tables, and having browsercompat.org infrastructure ready for production.''
'''Status:''' In Discussion


== '''3.''' ''Motorbike'' (Production ready) ==
==== Conditions to reach the milestone ====
 
=== Conditions to reach the milestone ===
* (PENDING) Having all compat. tables on MDN display with BC data for beta users
* (PENDING) Having all compat. tables on MDN display with BC data for beta users
* ([https://bugzil.la/1240109 PENDING]) Having a contribution interface to manage: L10N Content
* ([https://bugzil.la/1248647 PENDING]) Having all browsercompat.org strings ready for localization.
* ([https://bugzil.la/1242437 PENDING]) Having a stage/prod environnement for browsercompat.org


=== Notes: ===
'''Notes:''' ''We need to go from 20 converted pages to about 4300 converted pages, about 1400 of which have data issues''
We need to go from 20 converted pages to about 4300 converted pages, about 1400 of which have data issues


=== Related Bugzilla bugs ===
==== Raw Bugzilla bugs ====
<bugzilla>
<bugzilla>
{
{
  "product":"Mozilla Developer Network",
  "component": "BrowserCompat",
   "whiteboard": "[bc:milestone=motorbike]",
   "whiteboard": "[bc:milestone=motorbike]",
   "include_fields": "summary, status, severity, priority"
   "include_fields": "summary, status, severity, priority"
Line 72: Line 95:




== '''4.''' ''Car'' (1st official public release) ==
=== ''Car'' (1st official public release) ===
'''Milestone goals:''' ''Having all compat. tables on MDN display with the browsercompat.org data to all users, and finishing the C&M GUI''
'''Status:''' In Discussion


=== Conditions to reach the milestone ===
==== Conditions to reach the milestone ====
* (PENDING) Having all compat. tables on MDN display with BC data for all users (including l10n)
* (PENDING) '''Having all compat. tables on MDN display with BC data for all users (including l10n)'''
* (PENDING) Having an authentication mechanism able to handle different levels of privileges to access the BC API/UI
* (PENDING) Having an authentication mechanism able to handle different levels of privileges to access the BC API/UI
* (PENDING) Having the continuous deployment infrastructure up and ready for deploying new code/features for BC with at least two target environments (staging/prod)
* (PENDING) Having the continuous deployment infrastructure up and ready for deploying new code/features for BC with at least two target environments (staging/prod)
* (PENDING) Having a contribution interface to manage: Data Revision & Moderation


=== Related Bugzilla bugs ===
==== Raw Bugzilla bugs ====
<bugzilla>
<bugzilla>
{
{
  "product":"Mozilla Developer Network",
  "component": "BrowserCompat",
   "whiteboard": "[bc:milestone=car]",
   "whiteboard": "[bc:milestone=car]",
   "include_fields": "summary, status, severity, priority"
   "include_fields": "summary, status, severity, priority"
Line 89: Line 113:
</bugzilla>
</bugzilla>


=== ''Plane'' (1st stabilisation release) ===
'''Milestone goals:''' ''Having the C&M GUI open to all users, and get ride of data scraping from MDN content.''
'''This milestone intent to be what we call a Minimal Viable Product (MVP)'''


== '''5.''' ''Plane'' (1st stabilisation release) ==
'''Status:''' In Discussion


=== Conditions to reach the milestone ===
==== Conditions to reach the milestone ====
* (PENDING) Having a fully working contribution UI usable by any contributor.
* (PENDING) Having a fully working authentication interface
* (PENDING) Having a contribution interface to manage: Users
* (PENDING) '''Open the contribution interface to all users'''
* (PENDING) Kill the data importer
* (PENDING) Kill the data importer
* (PENDING) Having all compat data removed from MDN content
* (PENDING) Having all compat data removed from MDN content


=== Notes: ===
'''Notes:''' ''we need to make sure the time between Car and Plane is short to avoid too much burden for data contributors, therefor we need to know the velocity of change to estimate what time is "acceptable".''
we need to make sure the time between Car and Plane is short to avoid too much burden for data contributors, therefor we need to know the velocity of change to estimate what time is "acceptable"


=== Related Bugzilla bugs ===
==== Raw Bugzilla bugs ====
<bugzilla>
<bugzilla>
{
{
  "product":"Mozilla Developer Network",
  "component": "BrowserCompat",
   "whiteboard": "[bc:milestone=plane]",
   "whiteboard": "[bc:milestone=plane]",
   "include_fields": "summary, status, severity, priority"
   "include_fields": "summary, status, severity, priority"
Line 110: Line 137:
</bugzilla>
</bugzilla>


=== ''Space ship'' (1st functional improvement release) ===
'''Milestone goals:''' ''Start improving data usage on MDN, and ease data contribution.''
'''Status:''' In Discussion


== '''6.''' ''Space ship'' (1st functional improvement release) ==
==== Conditions to reach the milestone ====
 
=== Conditions to reach the milestone ===
* (PENDING) Having compat data display in more contextual ways on MDN
* (PENDING) Having compat data display in more contextual ways on MDN
* (PENDING) Enable SSO between MDN and BC
* (PENDING) Enable SSO between MDN and BC
* (PENDING) Provide a contribution wizard for Features
* (PENDING) Provide a contribution interface to handle L10N in bulk


=== Related Bugzilla bugs ===
==== Raw Bugzilla bugs ====
<bugzilla>
<bugzilla>
{
{
  "product":"Mozilla Developer Network",
  "component": "BrowserCompat",
   "whiteboard": "[bc:milestone=spaceship]",
   "whiteboard": "[bc:milestone=spaceship]",
   "include_fields": "summary, status, severity, priority"
   "include_fields": "summary, status, severity, priority"
Line 128: Line 156:




== '''7.''' ''T.A.R.D.I.S'' (To Infinity And Beyond, or… [http://bit.ly/1ZGUEuT not]) ==
=== ''T.A.R.D.I.S'' (To Infinity And Beyond, or… [http://bit.ly/1ZGUEuT not]) ===
 
''' This is our long time bucket and at that point it's a Schrodinger cat'''
''' This is our long time bucket and at that point it's a Schrodinger cat'''


=== Wish list ===
==== Wish list ====
* ? API V3 based on user feedback
* ? API V3 based on user feedback
* ? Independent product management
* ? Independent product management
Line 139: Line 166:
* ? Non "browser" compat data in the api (ie. node.js, screen readers)
* ? Non "browser" compat data in the api (ie. node.js, screen readers)
* ? A stand-alone site to browse and search compat data (like caniuse)
* ? A stand-alone site to browse and search compat data (like caniuse)
* ? Change the data structure from a feature tree to feature sets (or enable feature sets)


=== Related Bugzilla bugs ===
==== Raw Bugzilla bugs ====
<bugzilla>
<bugzilla>
{
{
  "product":"Mozilla Developer Network",
  "component": "BrowserCompat",
   "whiteboard": "[bc:milestone=tardis]",
   "whiteboard": "[bc:milestone=tardis]",
   "include_fields": "summary, status, severity, priority"
   "include_fields": "summary, status, severity, priority"
}
}
</bugzilla>
</bugzilla>

Latest revision as of 19:47, 19 June 2017

Overview

The following milestones define priority buckets for the Browser Compatibility project. Each milestone is a step that must be reached to be able to move forward.

Milestones lifecycle

Milestones content (materialized as Bugzilla bugs) is defined all along the life of the project with a few key steps it worth knowing:

  1. Milestone definition
  2. Milestone processing
  3. Milestone reached

Milestone definition is an open process based on discussion on MDN's mailing lists. At that point there is no possible blockers as it's always possible to create new milestones or adding new requirements to existing ones.

Milestone processing happen when people start working on a milestone content. There are three formal steps while a milestone is in process, each step defines a set of restriction and requirements:

  1. Frozen:
    When a milestone is frozen, it is strictly forbidden to add new major bugs to the milestone and all new normal bugs should explicitly block a major bug. This states is possible only if the previous milestone is about to be released (see below).
  2. To be released:
    When a milestone is about to be released, it is strictly forbidden to add new normal bugs to the milestone. At that point, adding a new bug to the milestone requires a formal agreement from the accountable and responsible stakeholders. This state is reached automatically if all the major bug of the milestone are resolved.
  3. released:
    The work on the milestone is over and the milestone itself is considered "reached" (see below). At that point no new bug, even minor is allowed in the milestone.

Finally, a milestone is considered reached (and get the released stats) when the following conditions are fulfilled:

  • All major and normal bugs associated to a milestone are resolved
  • The milestone has been formally reviewed (and approved) during the project meeting.
  • All remaining open bugs (normal or minor) has been reallocated to a next milestone.

Milestone breakdown

Summary

  1. Skateboard (Our starting point, considered released): Proof of concept
  2. Bicycle (Frozen): Begin building contribution UI
  3. Scooter (In discussion): Start working on the platform transition (data and delivery)
  4. Motorbike (In discussion): Handle l10n, make the platform production ready, and start hard beta testing
  5. Car (In discussion): 1st production release for data display
  6. Plane (In discussion): Stabilisation released and released of the C&M UI to the world
  7. Space Ship (In discussion): 1st improvement release
  8. TARDIS (In discussion): Long future release

Skateboard (Proof of concept)

Milestone goals: Demonstrate the whole solution is realistic and is working. Status: Reached

Conditions to reach the milestone

  • (OK) Having compat. tables that have been identified as ready display on MDN with BC data for beta users
  • (OK) Data being scraped manually from MDN with the BC importer


Bicycle (Begin building contribution UI)

Milestone goals: Start building the Contribution & Management interface (C&M GUI), and start improving the robustness of the overall infrastructure.

Status: Frozen

Top conditions to reach the milestone

  • (IN PROGRESS) Having the BC API compatible with JSON API v1.0 recommendation
  • (IN PROGRESS) Having a basic authentification mechanism for admins
  • (IN PROGRESS) Having a contribution interface to manage: Browsers & Versions

See the dedicated page for the full Bugzilla breakdown.

Scooter (Platform transition)

Milestone goals: Continue building the Contribution & Management interface (C&M GUI), and automate the gathering of data from MDN to ensure a clean transition for the data. Status: In Discussion

Conditions to reach the milestone

  • (PENDING) Having data being scraped automatically from MDN with the BC importer
  • (PENDING) Build the foundation for the HTML Tables Rendering service
  • (PENDING) Having a contribution interface to manage: Features & Support
  • (PENDING) Having a contribution interface to manage: Specification, Sections, & Maturities

Raw Bugzilla bugs

Full Query
Summary Status Severity Priority
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED minor --
RESOLVED minor --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED minor --
RESOLVED minor --
RESOLVED normal --
RESOLVED normal --
RESOLVED minor --
RESOLVED normal --
RESOLVED major --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED major --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --

24 Total; 0 Open (0%); 24 Resolved (100%); 0 Verified (0%);


Motorbike (Production ready)

Milestone goals: Handling L10N of data and UI, make data scraping robust enough to support all MDN current compat tables, and having browsercompat.org infrastructure ready for production. Status: In Discussion

Conditions to reach the milestone

  • (PENDING) Having all compat. tables on MDN display with BC data for beta users
  • (PENDING) Having a contribution interface to manage: L10N Content
  • (PENDING) Having all browsercompat.org strings ready for localization.
  • (PENDING) Having a stage/prod environnement for browsercompat.org

Notes: We need to go from 20 converted pages to about 4300 converted pages, about 1400 of which have data issues

Raw Bugzilla bugs

Full Query
Summary Status Severity Priority
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED minor --
RESOLVED major --
RESOLVED minor --
RESOLVED minor --
RESOLVED minor --
RESOLVED minor --
RESOLVED minor --
RESOLVED minor --
RESOLVED minor --
RESOLVED normal P5
RESOLVED normal P5
RESOLVED normal P5
RESOLVED minor --
RESOLVED normal --
RESOLVED major --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED minor --
RESOLVED normal --
RESOLVED normal --
RESOLVED minor --
RESOLVED normal --
RESOLVED major --

29 Total; 0 Open (0%); 29 Resolved (100%); 0 Verified (0%);


Car (1st official public release)

Milestone goals: Having all compat. tables on MDN display with the browsercompat.org data to all users, and finishing the C&M GUI Status: In Discussion

Conditions to reach the milestone

  • (PENDING) Having all compat. tables on MDN display with BC data for all users (including l10n)
  • (PENDING) Having an authentication mechanism able to handle different levels of privileges to access the BC API/UI
  • (PENDING) Having the continuous deployment infrastructure up and ready for deploying new code/features for BC with at least two target environments (staging/prod)
  • (PENDING) Having a contribution interface to manage: Data Revision & Moderation

Raw Bugzilla bugs

Full Query
Summary Status Severity Priority
RESOLVED major --
RESOLVED normal --
RESOLVED normal --
RESOLVED major --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --

8 Total; 0 Open (0%); 8 Resolved (100%); 0 Verified (0%);


Plane (1st stabilisation release)

Milestone goals: Having the C&M GUI open to all users, and get ride of data scraping from MDN content.

This milestone intent to be what we call a Minimal Viable Product (MVP)

Status: In Discussion

Conditions to reach the milestone

  • (PENDING) Having a fully working authentication interface
  • (PENDING) Having a contribution interface to manage: Users
  • (PENDING) Open the contribution interface to all users
  • (PENDING) Kill the data importer
  • (PENDING) Having all compat data removed from MDN content

Notes: we need to make sure the time between Car and Plane is short to avoid too much burden for data contributors, therefor we need to know the velocity of change to estimate what time is "acceptable".

Raw Bugzilla bugs

Full Query
Summary Status Severity Priority
RESOLVED major --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --

4 Total; 0 Open (0%); 4 Resolved (100%); 0 Verified (0%);


Space ship (1st functional improvement release)

Milestone goals: Start improving data usage on MDN, and ease data contribution. Status: In Discussion

Conditions to reach the milestone

  • (PENDING) Having compat data display in more contextual ways on MDN
  • (PENDING) Enable SSO between MDN and BC
  • (PENDING) Provide a contribution wizard for Features
  • (PENDING) Provide a contribution interface to handle L10N in bulk

Raw Bugzilla bugs

Full Query
Summary Status Severity Priority
RESOLVED normal --
RESOLVED minor --
RESOLVED minor --
RESOLVED major --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED major --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --
RESOLVED normal --

21 Total; 0 Open (0%); 21 Resolved (100%); 0 Verified (0%);


T.A.R.D.I.S (To Infinity And Beyond, or… not)

This is our long time bucket and at that point it's a Schrodinger cat

Wish list

  • ? API V3 based on user feedback
  • ? Independent product management
  • ? Third party clients other than MDN
  • ? Configurable and embed-able code snippet for bloggers and other sites to use.
  • ? Non "browser" compat data in the api (ie. node.js, screen readers)
  • ? A stand-alone site to browse and search compat data (like caniuse)
  • ? Change the data structure from a feature tree to feature sets (or enable feature sets)

Raw Bugzilla bugs

Full Query
Summary Status Severity Priority
RESOLVED normal --
RESOLVED normal --
RESOLVED normal P5
RESOLVED minor --

4 Total; 0 Open (0%); 4 Resolved (100%); 0 Verified (0%);