MDN/Development Process: Difference between revisions

From MozillaWiki
< MDN
Jump to navigation Jump to search
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Meetings =
= TL;DR =
== Product Planning ==
[http://prezi.com/s5f-yay7gfv-/mdn-dev-process/ MDN Dev Process Prezi]
=== Frequency ===
[http://blog.johnath.com/2011/04/19/deliberacy/ Firefox Features Development]
Bi-weekly


=== Attendees ===
= Product Planning =
* Stakeholders
During product planning meetings we set product milestones. We discuss milestone goals & objectives - esp. release dates & success metrics. Product planning meetings set the backlog of milestones.
* Product
* Developers
* QA (optional?)


=== Agenda ===
* Schedule - Bi-weekly Wednesdays @ 10am PST, 15-60m
During product planning meetings we set the immediate product goals and objectives. We introduce new features, discuss enhancements to existing features, review new and outstanding bugs, and prioritize. Product planning meetings set the backlog - we create bugs, update bugs, assign milestones to bugs, remove milestones from bugs.
* Attendees - All MDN Stakeholders: Engagement+, Product+, Dev+, Legal?, QA?, IT?
* Agenda
** Carry-over any outstanding milestones
** Introduce new milestones
* Output
** basecamp milestones & tasks
** accurate bugzilla milestones
** update [MDN#Current_Projects]


=== Output ===
= Dev Planning =
Accurate bugzilla bugs and milestones
* Schedule - Bi-weekly Thursdays following Product Planning @ 10am PST, 15-60m
* Attendees - Product+, Dev+, QA+, IT?
* Agenda
** Retro - celebrate every push, give kudos; encourage what worked and fix what didn't work in last sprint
** Triage - prioritize new bugs (use bugzilla)
** Planning - Developers review milestones' bugs with Product and add everything necessary for dev - implementation details, resources, risk, effort, etc.
** Roadmap - briefly summarize Product Planning meeting for anyone who skipped it
* Output - Sprint backlog in the form of dev + product-approved bugzilla bugs for immediately active milestone(s)


== Development Planning ==
= Standup =
=== Frequency ===
Standup is a very short (5-10m) daily meeting to make sure everyone is on the same page.
Weekly


=== Attendees ===
* Schedule - Daily @ 10am PST, 5-10m
* Product
* Attendees - Developers & Product
* Developers
* Agenda - Round-robin:
* QA (optional?)
** What I did yesterday.
* IT (optional)
** What I'm doing today.
** Blockers, if any.
* Output - warm fuzzies


=== Agenda ===
= Bugs =
Development planning meetings synchronize product & development efforts. Developers review the milestones' backlog with Product and adjust according to developer input - implementation details, resources, risk, effort, etc.
== Components ==
 
See [[ MDN/QA/Filing Bugs ]]
==== Retro ====
* Celebrate all code pushes & give kudos
* Look back at the last "sprint" - what worked, what didn't, and what should we improve?
 
==== Planning ====
Developers review milestones' bug backlog with Product and adjust according to developer input - implementation details, resources, risk, effort, etc.


==== Roadmap ====
Briefly (5m) discuss upcoming non-immediate work so no-one is surprised by anything.
=== Output ===
Developer + Product-approved bugzilla bugs for immediately active milestone(s)
== Standup ==
Standup is a very short (5-10m) daily meeting to make sure everyone is on the same page.
=== Frequency ===
Daily
=== Attendees ===
* Developers
* Product
=== Agenda ===
Round-robin: What I did yesterday. What I'm doing today. Blockers, if any.
= Bugs =
== Status Flow ==
== Status Flow ==
Bugs should typically flow thru the team:
Bugs should typically flow thru the team:
* Product & QA & Dev
* Product, QA, or Dev
** (Unconfirmed) -> New  
** (Unconfirmed) -> New
** (Unconfirmed) -> Resolved:wontfix/invalid/worksforme/duplicate/incomplete
* Product & Dev
** Add milestone during [[MDN/Development_Process#Dev_Planning | dev planning]]
* Dev
* Dev
** Assigned -> Resolved:Fixed
** New -> Assigned -> Resolved:Fixed
* QA
* QA
** Resolved:Fixed -> Reopened or Verified:Fixed -> Closed
** Resolved:Fixed -> Reopened (staging problem)
** Resolved:Fixed -> Verified:Fixed
** Verified:Fixed -> Reopened (production problem)
** Verified:Fixed -> Closed
 
== Severity ==
== Severity ==
* Blocker - cannot push milestone without fixing this bug
* Blocker - cannot push milestone without fixing this bug
Line 73: Line 65:
* Normal, etc. - Nice-to-have, work on between other bugs
* Normal, etc. - Nice-to-have, work on between other bugs
** (e.g., style changes, annoyances)
** (e.g., style changes, annoyances)
= Push =
* Monthly on Tuesdays before Product Planning
See [[https://intranet.mozilla.org/Webdev:MDN#Production_Push MDN Production Push]]

Latest revision as of 21:07, 19 April 2011

TL;DR

MDN Dev Process Prezi Firefox Features Development

Product Planning

During product planning meetings we set product milestones. We discuss milestone goals & objectives - esp. release dates & success metrics. Product planning meetings set the backlog of milestones.

  • Schedule - Bi-weekly Wednesdays @ 10am PST, 15-60m
  • Attendees - All MDN Stakeholders: Engagement+, Product+, Dev+, Legal?, QA?, IT?
  • Agenda
    • Carry-over any outstanding milestones
    • Introduce new milestones
  • Output
    • basecamp milestones & tasks
    • accurate bugzilla milestones
    • update [MDN#Current_Projects]

Dev Planning

  • Schedule - Bi-weekly Thursdays following Product Planning @ 10am PST, 15-60m
  • Attendees - Product+, Dev+, QA+, IT?
  • Agenda
    • Retro - celebrate every push, give kudos; encourage what worked and fix what didn't work in last sprint
    • Triage - prioritize new bugs (use bugzilla)
    • Planning - Developers review milestones' bugs with Product and add everything necessary for dev - implementation details, resources, risk, effort, etc.
    • Roadmap - briefly summarize Product Planning meeting for anyone who skipped it
  • Output - Sprint backlog in the form of dev + product-approved bugzilla bugs for immediately active milestone(s)

Standup

Standup is a very short (5-10m) daily meeting to make sure everyone is on the same page.

  • Schedule - Daily @ 10am PST, 5-10m
  • Attendees - Developers & Product
  • Agenda - Round-robin:
    • What I did yesterday.
    • What I'm doing today.
    • Blockers, if any.
  • Output - warm fuzzies

Bugs

Components

See MDN/QA/Filing Bugs

Status Flow

Bugs should typically flow thru the team:

  • Product, QA, or Dev
    • (Unconfirmed) -> New
    • (Unconfirmed) -> Resolved:wontfix/invalid/worksforme/duplicate/incomplete
  • Product & Dev
  • Dev
    • New -> Assigned -> Resolved:Fixed
  • QA
    • Resolved:Fixed -> Reopened (staging problem)
    • Resolved:Fixed -> Verified:Fixed
    • Verified:Fixed -> Reopened (production problem)
    • Verified:Fixed -> Closed

Severity

  • Blocker - cannot push milestone without fixing this bug
    • (e.g., security, total loss of functionality)
  • Critical - only okay to push Blockers in front of this bug
    • (e.g., major function broken but workaround in place)
  • Major - this bug is part of the major focus of the milestone
    • (e.g., Demo Studio for 0.9.3)
  • Normal, etc. - Nice-to-have, work on between other bugs
    • (e.g., style changes, annoyances)

Push

  • Monthly on Tuesdays before Product Planning

See [MDN Production Push]