Features/Feature page documentation: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 7: Line 7:
{{RequiredLabel}}
{{RequiredLabel}}
=== Stage and Status ===
=== Stage and Status ===
Stage is one of:
Status can be one of:
* '''Draft''': default
; (blank): default - having a status doesn't make sense for all stages.  For example "Complete: Complete" is silly, but "Development: In progress" makes sense.
* '''Feature Inbox''': The feature page is ready to be triaged and prioritized by the Product team.
; In progress: Work on the current stage has been started.
* '''On hold''': The feature page has been triaged but not prioritized by the Product team for whatever reason -- if you are involved in the creation of the feature page, you will be contacted by the team.
; Complete: Work on the current stage is finished.
* '''Definition''': This is where a feature is born and defined. If you would like to propose a new Feature, start by writing up a clear overview and a by defining the feature’s intended users and use cases. Where possible, you are encouraged to add to the list of the dependencies and requirements, but the Product team will help flesh out these parts if you don’t include them.
 
* '''Design''': In this stage, Products, Engineering, UX, and/or User Research work together to finalize the feature’s functional specification and, if needed, the user experience design.
Stage can be one of:  
* '''Planning''': With the requirements and design clarified and approved, the feature moves into the planning stage, where the Engineering team sorts out the overall technical approach that will be taken, and other stakeholder teams (Security, Privacy, QA, Accessibility, Localization, etc.) have the opportunity to review the feature in detail. This stage is complete when all stakeholder teams finish their reviews and are comfortable with the requirements, design, and plan for implementation.
; Draft: default
* '''Development''': This is where coding begins and activity for feature development moves into Bugzilla. Detailed progress tracking will not be done on the wiki — that should all happen in Bugzilla, and will not be replicated on the feature pages. Product or project managers are responsible for updating the status on the feature pages if and when needed.
; Feature Inbox: The feature page is ready to be triaged and prioritized by the Product team.
* '''Release''': In this stage the team documents the final checklist of everything the team feels should happen before a feature can land. Over time, we’ll develop a standardized checklist for this, but we’ll sort that out as we go. For now, the team will create their own checklist and ensure that everything on it is complete before the feature lands.
; On hold: The feature page has been triaged but not prioritized by the Product team for whatever reason -- if you are involved in the creation of the feature page, you will be contacted by the team.
* '''Landed''': The feature has landed.
; Definition: This is where a feature is born and defined. If you would like to propose a new Feature, start by writing up a clear overview and a by defining the feature’s intended users and use cases. Where possible, you are encouraged to add to the list of the dependencies and requirements, but the Product team will help flesh out these parts if you don’t include them.
* '''Shipped''': The feature has been shipped as part of a final product.
; Design: In this stage, Products, Engineering, UX, and/or User Research work together to finalize the feature’s functional specification and, if needed, the user experience design.
* '''Complete''': The feature team has done whatever follow-up or post-mortem work they feel necessary.  The end.
; Planning: With the requirements and design clarified and approved, the feature moves into the planning stage, where the Engineering team sorts out the overall technical approach that will be taken, and other stakeholder teams (Security, Privacy, QA, Accessibility, Localization, etc.) have the opportunity to review the feature in detail. This stage is complete when all stakeholder teams finish their reviews and are comfortable with the requirements, design, and plan for implementation.
; Development: This is where coding begins and activity for feature development moves into Bugzilla. Detailed progress tracking will not be done on the wiki — that should all happen in Bugzilla, and will not be replicated on the feature pages. Product or project managers are responsible for updating the status on the feature pages if and when needed.
; Release: In this stage the team documents the final checklist of everything the team feels should happen before a feature can land. Over time, we’ll develop a standardized checklist for this, but we’ll sort that out as we go. For now, the team will create their own checklist and ensure that everything on it is complete before the feature lands.
; Landed: The feature has landed.
; Shipped: The feature has been shipped as part of a final product.
; Complete: The feature team has done whatever follow-up or post-mortem work they feel necessary.  The end.


=== Release target ===
=== Release target ===

Revision as of 14:16, 7 July 2011

Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

Future home for the new feature page notes

Basics

Feature name

Required

Stage and Status

Status can be one of:

(blank)
default - having a status doesn't make sense for all stages. For example "Complete: Complete" is silly, but "Development: In progress" makes sense.
In progress
Work on the current stage has been started.
Complete
Work on the current stage is finished.

Stage can be one of:

Draft
default
Feature Inbox
The feature page is ready to be triaged and prioritized by the Product team.
On hold
The feature page has been triaged but not prioritized by the Product team for whatever reason -- if you are involved in the creation of the feature page, you will be contacted by the team.
Definition
This is where a feature is born and defined. If you would like to propose a new Feature, start by writing up a clear overview and a by defining the feature’s intended users and use cases. Where possible, you are encouraged to add to the list of the dependencies and requirements, but the Product team will help flesh out these parts if you don’t include them.
Design
In this stage, Products, Engineering, UX, and/or User Research work together to finalize the feature’s functional specification and, if needed, the user experience design.
Planning
With the requirements and design clarified and approved, the feature moves into the planning stage, where the Engineering team sorts out the overall technical approach that will be taken, and other stakeholder teams (Security, Privacy, QA, Accessibility, Localization, etc.) have the opportunity to review the feature in detail. This stage is complete when all stakeholder teams finish their reviews and are comfortable with the requirements, design, and plan for implementation.
Development
This is where coding begins and activity for feature development moves into Bugzilla. Detailed progress tracking will not be done on the wiki — that should all happen in Bugzilla, and will not be replicated on the feature pages. Product or project managers are responsible for updating the status on the feature pages if and when needed.
Release
In this stage the team documents the final checklist of everything the team feels should happen before a feature can land. Over time, we’ll develop a standardized checklist for this, but we’ll sort that out as we go. For now, the team will create their own checklist and ensure that everything on it is complete before the feature lands.
Landed
The feature has landed.
Shipped
The feature has been shipped as part of a final product.
Complete
The feature team has done whatever follow-up or post-mortem work they feel necessary. The end.

Release target

Health

Status note

A quick note about current status/stage or next steps required to progress.

Team

Feature manager

Whomever is responsible for driving this feature to completion -- may be a Product Manager, the engineering lead, a Project Manager, etc.

Open issues/risks

Any open issues that need to be addressed, and known or suspected risks related to this feature.

Stage 1: Definition

Feature overview

Required Overview description of the feature, motivation for the feature, goals, why it's important.

Users & use cases

Required A clear definition of the target users/audience and the use cases that we want to support, for either end-users or developers.

Dependencies

Defining giver dependencies and taker dependencies so you know who owes to whom what and when.

Requirements

A list of things that the feature should do (must-haves and nice-to-haves) for users and/or developers. This should not include implementation decisions or options, but should include performance/latency/SLA/responsiveness requirements.

Non-goals

Anything we're specifically not trying to do with this particular iteration of a feature.

Stage 2: Design

Functional specification

What the feature will do to satisfy the requirements, in written form.

User experience design

Designs, interactions, etc., mainly in visual form, if relevant.

Stage 3: Planning

Implementation plan

Summary of the high-level approach to be taken.

Reviews

Have the various teams been contacted about this feature? Are there risks; has the design been reviewed; what needs to be changed before we proceed?

Stage 4: Development

Implementation

Primarily links to relevant bugs -- we don't try to track the detailed progress here, that should happen in bugzilla.

Stage 5: Release

Landing criteria

Final checklist for everything the feature team feels should happen before a feature can land -- could be a scalability model, security code review, etc. Will eventually develop a standard table for this.

Feature details

Priority

Roadmap

Feature List

Engineering Team

Team status notes

Teams are welcome to use these fields however they see fit. Both fields can be used in queries to generate lists on other wiki pages. If you would like help or have questions, please contact Deb.