Firefox/Iterative Hello Development

From MozillaWiki
Jump to navigation Jump to search

Firefox Desktop Iterative Development

  • Iteration 37.1 = 12/9 - 12/22, 37.2 = 12/23 - 1/5, 37.3 = 1/6 - 1/13
  • Iteration 38.1 = 1/14 - 1/27, 38.2 = 1/28 - 2/10, 38.3 = 2/11 - 2/24 (Extended Support Release)

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, Security, 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 37.1 Performance

Note: Next update on Tuesday January 5 following the conclusion of Iteration 37.2

At the conclusion of Iteration 37.1:

  • Velocity Range:
    • 38 bugs closed, 67 points.

  • Firefox Release 37 Goal:
    • Fx37 goal is to reduce tech-debt that has been accumulating over several iterations of quick feature additions. However, focus in 37.1 was almost entirely bugs from adding Rooms in 35 Beta and Fx36 Aurora. Rooms added both a visual UX change as well as back-end changes to the client and server.

  • Firefox Release 38 Production Goal:
    • Firefox 38 will continue to reduce the technical debt. In addition, there will be a focus on screen sharing platform work.

  • Team Performance:
    • Points completed decreased from 90 to 67 points, across the same number of bugs.

  • Iteration 37.1 - Completed Work:

No results.

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

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 continually maintained by the Hello Management team to ensure new priorities are available for each Sprint Planning meeting. * Priorities follow the Firefox Desktop Standard:

    • Priority 1 - Blocker, must-fix before shipping.
    • Priority 2 - Major impact, considering severity × probability. Not a blocker for shipping.
    • Priority 3 - Average Bug. definitely a problem, but doesn't stop someone from using the product.
    • Priority 4 - Minor or polish bugs that are real issues (especially in aggregate) and annoying.
    • Priority 5 - Low-impact. something we'd fix, but mostly only bothers the discerning user. Little impact on usability.

Product Backlog:

Backlog Triage

Triage Guidelines

These guidelines determine whether a bug should be included in the Hello Backlog.

To be included 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

Triage Backlog

Adding Bugs to Triage

  • Open a bug under Product "Loop", Component "General" or "Client"
  • The Blocking-Loop flag is defaulted to "---", which will go into our list of bugs to Triage next
  • Hello team reviews for inclusion into a release backlog every 2 weeks
  • Backlogs for current releases are triaged more frequently.

Iterations

Note: Next update on Tuesday January 5 following the conclusion of Iteration 37.2

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 - 37.2

No results.

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

Upcoming Iterations

Firefox 38 Release

  • Iteration 38.1: Tuesday January 13 - Monday January 26
  • Iteration 38.2: Tuesday January 27 - Monday February 9
  • Iteration 38.3: Tuesday February 10 - Monday February 23

Definition of Done

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

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

Roles and Responsibilities

Role Contacts
Project Champion
Program/Project Management
  • Monitor team and project performance, status report at conclusion of each Iteration
  • Organize and facilitate Triage and Planning meetings
  • Guide team through the practices and procedures of the project
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
  • Responsible for attending Planning meetings
  • Report impediments to the Project Manager
Marketing and Communications
  • Marketing plan
  • Outbound blog / engagement
Release Management

Communication

General

Sprint Planning/Review and Status Meeting

Meeting Day of week Pacific Time Eastern Time Central European Time Time zone conversions
"Morning" Tuesdays 8:00AM - 9:00AM 11:00AM - 12:00PM 5:00PM - 6:00PM AWMY
"Afternoon" Tuesdays 4:00PM - 5:00PM 7:00PM - 8:00PM 1:00AM - 2:00AM AWMY

Iteration Performance Reports

Note: Next update on Tuesday January 27 following the conclusion of Iteration 38.1

Contribute to Firefox Desktop

Good First Bugs

These are tagged as [good first bug] in a bug's Whiteboard field. The challenge of a "good first bug" is only peripherally about the bug itself. The focus, for a new contributor, should be on getting your development environment set up and learning how to navigate Mozilla's contribution process. We are working on better documentation to help you get started with Hello (expect an update Q1 2015), and the #introduction IRC channel exists just to help people getting started as contributors.

Good Next Bugs

Marked as [good next bug] on the whiteboard, these are a the next level up, where the challenge of the bug is actually fixing the bug. There are four parts to a well-described Good Next Bug: a willing mentor, a clear initial description of the problem, clear expectations on the part of the both the mentor and contributor, and a cooperative working relationship as the bug is resolved.

Diamond Bugs

Marked as [diamond] on the whiteboard, this label doesn't speak to a bug's difficulty, but rather speaks to its importance. Diamond bugs are bugs that have been brought up as important bugs in engineering's various priority-triage processes but aren't assigned to an engineer by the end of the triage process.