Firefox Desktop Iterative Development

Objectives

The Iterative Development Model implemented for Firefox Desktop aims to accomplish six key objectives:

  • Transparent - Who is working on what, when, and why.
  • Predictable and Repeatable - Know what to expect from the process.
  • Inclusive - Include all key participants (Eng, UX, QA, Product) and stakeholders in the process.
  • Clear Direction and Decision Making - Know what we should do and who makes the call.
  • Clear and Stable Priorities - Be clear on what is most important for each iterative cycle.
  • Innovative - Provide flexibility to engage in experimental and original projects.

Iteration 31.2 Performance

Note: Next update on Tuesday April 29 following the conclusion of Iteration 31.3

At the conclusion of Iteration 31.2:

  • Team completed 191 points across 48 bugs.
    • Points completed increased by 103 from the previous iteration.
    • Bugs completed increased by 20 from the previous iteration.

  • Team carried over 171 points across 25 bugs to the next iteration.
    • Point carry over increased by 29 from the previous iteration.
    • Bug carry over decreased by 2 from the previous iteration.

  • Team accomplished a 53% close rate during the iteration.
    • Closure rate increased by 39% from the previous iteration.

  • 48 bugs completed during the iteration have been verified by QA.
    • 1 resolved bug could not be verified by the conclusion of the iteration and carried over to the next.

  • Team Velocity: NA - Available following the completion of five iterations

  • Velocity Range: NA - Available following the completion of five iterations

Full Query
ID Summary Status Assigned to Whiteboard
610545 Arrowpanel animation VERIFIED Neil Deakin p=8 s=it-31c-30a-29b.2 [qa-]
616853 The onbeforeunload dialog should be tab-modal VERIFIED Tim Taubert [:ttaubert] (inactive) p=5 s=it-31c-30a-29b.2 [qa!]
738796 Visual polish for in-content preferences VERIFIED Richard Marti (:Paenglab) p=0 s=it-31c-30a-29b.2 [qa!]
822763 [UX] Implement new action buttons in the Library/Content download view VERIFIED Michael Maslaney [:mmaslaney] (mmaslaney@mozilla.com) [ux] p=5 s=it-31c-30a-29b.2 [qa-]
857427 Intermittent browser_save_link-perwindowpb.js | Test timed out | Found a browser window after previous test timed out VERIFIED (no longer active) p=0 s=it-31c-30a-29b.2 [qa-]
887923 Switch Task.jsm to use Promise.jsm VERIFIED :Paolo Amadini p=8 s=it-31c-30a-29b.2 [qa-]
910729 Pressing the Apostrophe in a content editable opens up the quick find dialog VERIFIED Tom S. (please needinfo tschuster) p=0 s=it-31c-30a-29b.2 [qa!]
911307 Changes to top sites aren't immediately reflected in about:newtab VERIFIED Drew Willcoxon :adw [tiles] p=8 s=it-31c-30a-29b.2 [qa!]
944557 [Session Restore] Remove the state string from sessionstore-state-write VERIFIED David Teller [:Yoric] - still alive but not very active p=0 s=it-31c-30a-29b.2 [qa!]
962502 [UX] Better styling for "unstyled" form widgets VERIFIED Michael Maslaney [:mmaslaney] (mmaslaney@mozilla.com) [ux] p=5 s=it-31c-30a-29b.2 [qa-]
967674 Port new Fxa sync options work to in-content prefs VERIFIED Richard Marti (:Paenglab) [mentor=mak] [mentor=markh] p=0 s=it-31c-30a-29b.2
970291 Remove serializeNodeAsJSONToOutputStream VERIFIED Marco Bonardo [:mak] p=1 s=it-31c-30a-29b.2 [qa-]
971043 Implement document walker to grab webpage's text content and format it for translation service VERIFIED :Felipe Gomes (needinfo for replies!) [translation] p=13 s=it-31c-30a-29b.2 [qa-]
972930 Clicks (raw number) for tiles VERIFIED Ed Lee :Mardak [tiles] p=8 s=it-31c-30a-29b.2 [qa!]
972936 Overall impressions metrics for New Tab VERIFIED Ed Lee :Mardak [tiles] p=8 s=it-31c-30a-29b.2 [qa!]
973998 Telemetry experiments: initial server VERIFIED Benjamin Smedberg p=3 s=it-31c-30a-29b.2 [qa!]
974460 Add translation icon to URL bar structure VERIFIED Florian Quèze [:florian] [translation] p=2 s=it-31c-30a-29b.2 [qa!]
974461 Display translation icon at the same time as the translation infobar VERIFIED Florian Quèze [:florian] [translation] p=5 s=it-31c-30a-29b.2 [qa!]
974527 Clicking translation icon in URL bar shows translation infobar VERIFIED Florian Quèze [:florian] [translation] p=2 s=it-31c-30a-29b.2 [qa!]
974736 Add icon to title bar of Sponsored Tiles VERIFIED maxim zhilyaev [tiles] p=3 s=it-31c-30a-29b.2 [qa-]
974745 Create click event on Sponsored Tiles to show explanation panel VERIFIED maxim zhilyaev [tiles] p=8 s=it-31c-30a-29b.2 [qa-]
975210 Augment Site._render logic to allow for Sponsored Tiles images & text VERIFIED maxim zhilyaev [tiles] p=3 s=it-31c-30a-29b.2 [qa!]
975228 Create logic to merge frecency-pages and Tiles (Tile equiv 1000 frecency) VERIFIED Olivier Yiptong [:oyiptong] [tiles] p=8 s=it-31c-30a-29b.2 [qa!]
975475 [new tab page] initial list of tiles for directory tiles VERIFIED Jennifer Morrow [:Boriss] (UX) [tiles] p=2 s=it-31c-30a-29b.2 [qa-]
976638 New tab controls.png should be the same across platforms VERIFIED maxim zhilyaev p=2 s=it-31c-30a-29b.2 [qa!]
977730 Count total pages visited by all test users VERIFIED Asaf Romano (gone) [translation] p=2 s=it-31c-30a-29b.2 [qa-]
979653 Ctrl+Shift+X does not work in URL bar in RTL locales VERIFIED :Gijs (he/him) p=0 s=it-31c-30a-29b.2 [qa!]
982323 Breakdown: Avoid shifting the page when toolbars appear or disappear VERIFIED Neil Deakin p=5 s=it-31c-30a-29b.2 [qa-]
982324 Breakdown: Find a way to avoid the »Firefox is already running in another process« error VERIFIED Neil Deakin p=13 s=it-31c-30a-29b.2 [qa-]
982350 [UX] Create concept for making restoring closed tabs and windows more obvious VERIFIED (Currently slow to respond) Philipp Sackl [:phlsa] (Firefox UX) please use needinfo [ux] p=8 s=it-31c-30a-29b.2 [qa-]
983623 Async transactions: Add a preference for turning it, implement undo & redo commands VERIFIED Asaf Romano (gone) p=3 s=it-31c-30a-29b.2 [qa-]
984131 Async transactions: protect transactions objects so we can optimize them VERIFIED Asaf Romano (gone) p=2 s=it-31c-30a-29b.2 [qa-]
984898 Places async transactions: Implement "new separator" ui command VERIFIED Asaf Romano (gone) p=2 s=it-31c-30a-29b.2 [qa-]
984900 Places async transactions: Implement "sort by name" ui command VERIFIED Asaf Romano (gone) p=2 s=it-31c-30a-29b.2 [qa-]
987522 Improve localizability of translation infobar VERIFIED Florian Quèze [:florian] [translation] p=1 s=it-31c-30a-29b.2 [qa-]
988442 Feature Breakdown - download service for directory links VERIFIED Ed Lee :Mardak p=8 s=it-31c-30a-29b.2 [qa-]
988478 [UX] Create Translation Infobar styled for Windows VERIFIED Sevaan Franks [:sevaan] [translation] [ux] p=2 s=it-31c-30a-29b.2 [qa-]
988479 [UX] Create Translation Infobar styled for Linux VERIFIED Sevaan Franks [:sevaan] [translation] [ux] p=2 s=it-31c-30a-29b.2 [qa-]
989202 Allow users to add a custom site to a New Tab tile via an Edit Panel VERIFIED Jennifer Morrow [:Boriss] (UX) p=8 s=it-31c-30a-29b.2 [qa-]
990049 [UX] - The top auto-complete should reflect the intended action VERIFIED Michael Maslaney [:mmaslaney] (mmaslaney@mozilla.com) [Australis] [ux] [search] p=5 s=it-31c-30a-29b.2 [qa-]
990052 [UX] - Styling updates for the Awesome Bar auto-complete VERIFIED Michael Maslaney [:mmaslaney] (mmaslaney@mozilla.com) [Australis] [ux] [search] p=5 s=it-31c-30a-29b.2 [qa-]
990114 Find out which uses of promise.js can be easily converted and which ones need test changes VERIFIED :Paolo Amadini p=3 s=it-31c-30a-29b.2 [qa-]
990977 Sponsored tiles: don't expose explanation URL as a localizable string VERIFIED maxim zhilyaev p=2 s=it-31c-30a-29b.2 [qa-]
991202 The event callback of popup notifications should have a way to prevent the panel from showing VERIFIED Florian Quèze [:florian] p=2 s=it-31c-30a-29b.2 [qa!]
991542 Odd shadowing around newtab's sponsored panel VERIFIED Marina Samuel [:emtwo] p=3 s=it-31c-30a-29b.2 [qa!]
992327 Change directoryLinks and NewTabUtils to imageURI instead of imageURISpec VERIFIED Olivier Yiptong [:oyiptong] p=2 s=it-31c-30a-29b.2 [qa-]
993329 Remove inline event handlers in newTab.xul VERIFIED maxim zhilyaev p=2 s=it-31c-30a-29b.2 [qa-]
993581 use an empty directory tiles data source pref VERIFIED Ed Lee :Mardak p=2 s=it-31c-30a-29b.2 [qa-]

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

Product Backlog

All work related to the ongoing development and maintenance of the Firefox Desktop Product are collected and prioritized in the Product Backlog. The goals of the Product Backlog are to:

  • Enable work to be prioritized so that the team is always working on the most important features.
  • Support continual planning as the product emerges so the plan matches reality.
  • Improve forecasts so that the stakeholders make the best decisions about the direction of the product.

The Product Backlog is maintained by the Senior Management team (Chad, Gavin, Madhava) at the Product Backlog Refinement Meeting to ensure new priorities are available for each Sprint Planning meeting.

Product Backlog: View Bugzilla

Backlog Triage

Triage Guidelines

These guidelines should help determine whether a bug should be included in the Firefox desktop team's backlog.

These are guidelines, not strict rules. Ultimately the decision rests on the judgement of the triage teams, and exceptions are possible. They should however be uncommon.

To be included in the Firefox desktop backlog, a bug should:

  • be in an actionable state
    • for defects, the problem is ready for engineering or UX: diagnosis, measurement, design, or fixing
    • for feature requests or enhancements, it means that there's a clear problem statement or suggestion

  • have a difficulty/user-impact ratio low enough that we can reasonably expect to spend time fixing the bug within the next 6 months
    • this is a judgement call, obviously, and so the triage teams will need to learn to make these decisions over time

  • be within the general area of ownership/responsibility of the Firefox team (engineering and UX)
    • this means e.g. platform bugs that are outside of our area of expertise/ownership should generally not be added to our backlog

Triage Backlog: View Bugzilla

Adding Bugs to Triage

  • Click on 'set flags'
  • Set 'firefox-backlog' flag to '?'
  • Desktop Triage Team will review for inclusion in the Product Backlog

Iterations

Note: Next update on Tuesday April 29 following the conclusion of Iteration 31.3

The Iteration Backlog is a collection of Work that the team has committed to implement, test and deliver in a two-week iteration.

Current Iteration - 31.3: Tue 04/15/14 - Mon 04/28/14

Full Query
ID Summary Status Assigned to Whiteboard
754265 Add a dedicated API to provide a final complete value different from the matching one VERIFIED Marco Bonardo [:mak] p=3 s=it-31c-30a-29b.3 [qa-]
754306 show URL bar for in-content prefs VERIFIED p=0 s=it-31c-30a-29b.3 [qa!]
821252 Browser hung after Flash updated in the background VERIFIED p=0 s=it-31c-30a-29b.3 [qa!]
914070 [Places] Many statements seem to be left unfinalized VERIFIED Marco Bonardo [:mak] p=5 s=it-31c-30a-29b.3 [qa-]
951618 Always show the close button on the last tab VERIFIED Valentin Tsatskin [:vt] p=2 s=it-31c-30a-29b.3 [qa!]
959573 Design the interaction between the UI for top search provider and the places database VERIFIED Marco Bonardo [:mak] [search] p=8 s=it-31c-30a-29b.3 [qa-]
971048 Run language detection on webpages and display infobar when language is not the current UI locale VERIFIED Florian Quèze [:florian] [translation] p=5 s=it-31c-30a-29b.3 [qa!]
974538 Create "Error Translating" infobar for Automatic Translation VERIFIED [translation] p=0 s=it-31c-30a-29b.3 [qa!]
974728 Create a Public Mozilla page describing Sponsored Tiles to users VERIFIED [tiles] p=0 s=it-31c-30a-29b.3 [qa-]
978459 [UX] Australis - Redesign Edit Bookmark panel VERIFIED Zhenshuo Fang (:fang) - Firefox UX Team [Australis:P-] [ux] p=8 s=it-31c-30a-29b.3 [qa-]
981900 nsISHistoryListener does not provide a way to detect history.replaceState() VERIFIED Steven MacLeod [:smacleod] p=8 s=it-31c-30a-29b.3 [qa-]
982101 Automatically activate plugins that are bundled inside of extensions VERIFIED Georg Fritzsche [:gfritzsche] p=3 s=it-31c-30a-29b.3 [qa!]
983918 Story Breakdown - Initial business case and description of Notifications feature VERIFIED Javaun Moradi [:javaun] [notifications] p=8 s=it-31c-30a-29b.3 [qa-]
985084 Experiment add-ons should be disabled at startup VERIFIED Gregory Szorc [:gps] p=0 s=it-31c-30a-29b.3 [qa!]
986677 Include time left in experiment in addon-manager VERIFIED Georg Fritzsche [:gfritzsche] p=8 s=it-31c-30a-29b.3 [qa!]
988873 Telemetry experiments: enable the experiments feature VERIFIED Georg Fritzsche [:gfritzsche] p=1 s=it-31c-30a-29b.3 [qa!]
988907 Context menu and clicking-to-focus do not work in empty space above/below newtab grid VERIFIED Ed Lee :Mardak p=1 s=it-31c-30a-29b.3 [qa!]
988969 [UX work] Design Australis downloads widget VERIFIED Zhenshuo Fang (:fang) - Firefox UX Team [ux] p=5 s=it-31c-30a-29b.3 [qa-]
989108 [UX work] Better structure of History panel VERIFIED Zhenshuo Fang (:fang) - Firefox UX Team p=5 s=it-31c-30a-29b.3 [qa-]
989137 Telemetry Experiments: remaining AddonManager integration cleanups VERIFIED Georg Fritzsche [:gfritzsche] p=8 s=it-31c-30a-29b.3 [qa-]
989604 [Australis - OSX] Tabstrip Dropdown Button is too close to the Fullscreen Button VERIFIED Mike Conley (:mconley) (:⚙️) (PTO July 21 - 25) [Australis:P5] p=0 s=it-31c-30a-29b.3 [qa!]
989767 When the tabbar is hidden (popup), the top border of the location bar is gone VERIFIED Jared Wein [:jaws] (please needinfo? me) [Australis:P4] p=0 s=it-31c-30a-29b.3 [qa!]
990973 In-content prefs : scrollbars appear in a wrong position VERIFIED Richard Marti (:Paenglab) p=0 s=it-31c-30a-29b.3 [qa!]
991111 Middle clicks on tiles are not counted VERIFIED Ed Lee :Mardak p=5 s=it-31c-30a-29b.3 [qa!]
991123 [UX] Design - Places async transactions: Implement "new folder" ui VERIFIED Zhenshuo Fang (:fang) - Firefox UX Team [ux] p=8 s=it-31c-30a-29b.3 [qa-]
991210 [new tab page] Tiles are sometimes arranged all in a single line (wrapping as appropriate, e.g. to two lines with 5 items and then 4 items), instead of 3x3 grid VERIFIED Ed Lee :Mardak p=5 s=it-31c-30a-29b.3 [qa!]
991668 Exporting bookmarks.html may cause AsyncShutdown to abort crash due to "too much recursion" error caused by old promises in Task.jsm VERIFIED Marco Bonardo [:mak] p=2 s=it-31c-30a-29b.3 [qa!]
993084 14% regression in ts paint on linux64 seen on fx-team VERIFIED Georg Fritzsche [:gfritzsche] [talos_regression] p=5 s=it-31c-30a-29b.3 [qa-]
993391 Places async transactions: Implement "move bookmarks" command VERIFIED Asaf Romano (gone) p=2 s=it-31c-30a-29b.3 [qa!]
993495 gUM persistent permissions must not work for http VERIFIED Florian Quèze [:florian] p=3 s=it-31c-30a-29b.3 [qa+]
994185 When dragging tiles on a 3x2 view, a third row of tiles shows up inexplicably VERIFIED Ed Lee :Mardak p=3 s=it-31c-30a-29b.3 [qa!]
994686 Permaorange nightly-only failure in browser_experiments.js | Experiment tab hidden by default. - false == true VERIFIED Benjamin Smedberg p=2 s=it-31c-30a-29b.3 [qa-]
995041 Fix browser_aboutHome.js to not touch the outside network and re-enable it on all trees VERIFIED Drew Willcoxon :adw p=3 s=it-31c-30a-29b.3 [qa-]
995170 Convert legacy uses of promise.js in devtools where this doesn't result in test failures VERIFIED :Paolo Amadini p=1 s=it-31c-30a-29b.3 [qa-]
995184 Copy the legacy "promise.js" implementation from the Add-on SDK to devtools VERIFIED :Paolo Amadini p=2 s=it-31c-30a-29b.3 [qa-]
995321 nsIDocumentEncoder.encodeToString should offer a way to limit the size of the output VERIFIED Florian Quèze [:florian] [translation] p=3 s=it-31c-30a-29b.3 [qa-]
995436 Use different sponsored panel text for Release and non-Release VERIFIED maxim zhilyaev p=3 s=it-31c-30a-29b.3 [qa-]
996632 'Close tab' option from the tab context menu should be active for the last tab VERIFIED Praveenkumar[:speaker] [good first bug][mentor=dao][lang=js] p=0 s=it-31c-30a-29b.3 [qa!]
997188 testsuite connects to telemetry-experiment.cdn.mozilla.net VERIFIED Benjamin Smedberg p=2 s=it-31c-30a-29b.3 [qa-]
998163 8% Tp5 Optimized regression on inbound for most all platforms VERIFIED Ed Lee :Mardak [talos_regression] p=3 s=it-31c-30a-29b.3 [qa-]
998387 Middle click on newtab block button blocks the site VERIFIED Ed Lee :Mardak p=5 s=it-31c-30a-29b.3 [qa-]
999443 IE Tab Plug-in is not automatically activated VERIFIED Benjamin Smedberg p=2 s=it-31c-30a-29b.3 [qa!]
1000796 Fix localization comments for plural forms in extensions.properties VERIFIED Georg Fritzsche [:gfritzsche] p=1 s=it-31c-30a-29b.3 [qa-]
1001523 New Tab grid does not provide enough padding below the grid VERIFIED Ed Lee :Mardak p=2 s=it-31c-30a-29b.3 [qa!]

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

Definition of Done

The Definition of Done ensures a potentially shippable product increment is released at the conclusion of a release cycle.

Potentially Shippable Guidelines:

  • Means Tested and Verified
  • Mean Incremental Progress

Tested and Verified

Note: Full Desktop Firefox release testing workflow and process - View Detailed Walkthrough

  • QA will be flagged to test work marked as 'Resolved' within the iteration.
  • Any defects found will 'Reopen' the work subject to testing.
  • If QA does not discover any defects the work will be marked as 'Verified'.
  • Only 'Verified' work will merge into a build at the conclusion of the release cycle.

Product Increment

  • A potentially shippable product increment means compliance with the work's individual acceptance criteria and not the full story under development.

Bugzilla

The following format is used to maintain consistency in how bugs are filed:

  • p= (point value assigned to the bug)
  • s= (the iteration the bug is being developed in)
  • r= (the target release of the bug under development)
  • [story] (collection of related bugs required for the completion of a feature)

Roles and Responsibilities

Role Contacts
Project Champion
Program/Project Management
  • Monitor team and project performance
  • Submit status report at conclusion of each Iteration
  • Organize and facilitate Triage and Planning meetings
  • Guide team through the practices and procedures of the project
  • Ensure team and project impediments are addressed
Product Manager
  • Define and document product features
  • Maintain Product Backlog, Feature Stories up-to-date and prioritized
  • Review Iteration Build Release
UX/Design
  • Self-organizing and self-managing; team determines how much work they can commit to from the Product Backlog during each Iteration Planning meeting
  • Deliver UX assets/work necessary to progress work in backlog
  • Responsible for attending Planning meetings
  • Report impediments to the Project Manager
  • Keep work item, Feature Story and Epic status up-to-date
Dedicated Engineering
  • Self-organizing and self-managing; team determines how much work they can commit to from the Product Backlog during each Iteration Planning meeting
  • Deliver build for every sprint consisting of work from sprint backlog
  • Responsible for attending Planning meetings
  • Report impediments to the Project Manager
  • Keep work item, Feature Story and Epic status up-to-date
QA
  • Create and execute test plans
  • Verify acceptance criteria
  • Responsible for attending Planning meetings
  • Report impediments to the Project Manager
Release Management
Marketing

Communication

General

Backlog Refinement Meeting

  • Time: Thursdays - 12:00 - 1:00 (PST), 3:00 - 4:00 (EST)
  • Duration: 1 hour
  • Vidyo Room: "Firefox"
  • Iteration Backlog: View Priority List

Sprint Planning/Review and Status Meeting

  • "Europe" meeting: Time: Tuesdays - 8:00AM - 9:00AM Pacific
  • "Eastern" meeting: Time: Tuesdays - 9:30AM - 10:30AM Pacific, 12:30PM - 1:30PM Eastern
  • "Pacific" meeting: Time: Tuesdays - 12:30PM - 1:30PM Pacific
    • First Tuesday focussed on Sprint Planning/Review.
    • Second Tuesday focussed on Team Update.
    • Note: The day/time for this meeting is for the initial process launch. When the entire team has been integrated there will be three meeting time slots (European/Eastern/Pacific) on Tuesday.
  • Duration: 1 hour
  • Vidyo Room: "Firefox"
  • Iteration Backlog: View Priority List
  • Process Launch Team Members:
    • Chad Weiner - Product
    • Bryan Clark - Product
    • Javaun Moradi - Product
    • Tracy Walker - QA
    • Juan Becerra - QA
    • Anthony Hughes - QA
    • Jenn Chaulk - Project
    • Lawrence Mandel - Project
    • Marco Mucci - Project
    • Madhava Enros - UX
    • Sevaan Franks - UX
    • Jennifer Morrow - UX
    • Gavin Sharp - ENG
    • Steven MacLeod - ENG
    • Felipe Gomes - ENG
    • Drew Willcoxon - ENG
    • Paolo Amadini - ENG
    • Marco Bonardo - ENG
    • Asaf Romano - ENG
    • Neil Deakin - ENG
    • Florian Queze - ENG

Iteration Performance Reports

Note: Next update on Tuesday April 29 following the conclusion of Iteration 31.3