Features/Feature page documentation: Difference between revisions
| Line 7: | Line 7: | ||
{{RequiredLabel}} | {{RequiredLabel}} | ||
=== Stage and Status === | === Stage and Status === | ||
Stage | 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 === | === Release target === | ||
Revision as of 14:16, 7 July 2011
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.