Support:Project Management

From MozillaWiki
Revision as of 14:01, 1 June 2017 by Madasan (talk | contribs)
Jump to navigation Jump to search

Disclaimer: the processes described here might change as the project evolves. We will update this page each time something changes.

Audience: Anyone who is interested in participating in the SUMO project.

Confused by this?: Please contact the SUMO team.

Component owners and Tools

Component owners

For each functional area of the SUMO project we have component owners assisted by back-ups. Their main responsibilities are:

  • Act as main point of contact and for their functional area.
  • Actively use and work with their functional area on a daily basis.
  • Act as component owners in Bugzilla for their functional area.
  • Are subscribed to the corresponding Bugzilla component and have an active role in responding to questions and clarifications in bugs.
  • Work with the Community Managers to drive conversations with the community related to their functional area.
  • Act as main drivers of projects that relate to their functional area.
  • Act as the ultimate decision maker (e.g. to accept or reject a proposed solution to a bug or to decide whether a bug can be closed).
  • Work with the PM to set the priority for each bug/user story , establish a timeline and get it into the next sprints.
  • Work with the PM to bring the attention of other component owners or stakeholders when questions cross functionality borders.
  • Are involved in all discussions and corresponding bugs which are directly impacting your functional area.

You can find a full list of component owners here

Tools

The SUMO team uses a defined set of tools to manage projects, processes and conversations. These are:

  • Trello: project management
    • Track and monitor progress of projects
    • Assign tasks to people
    • Handle multiple projects at one time
    • Track and monitor sprints
  • Bugzilla: issue reporting and tracking
    • Report and track issues
    • Assign priorities
    • Triage
    • Handle one issue only per bug. Any other issues need separate bugs.
    • Rule of thumb: bug comments should be related to the reported issue only. Anything more extensive than that should either be broken up in several bugs or moved to a forum thread discussion.
  • Forum threads: discussions
    • Normally when issues/solutions are not very straightforward we start with a discussion to figure out what needs to be done. Once that is figured out then we file bugs accordingly.
    • One can also start with a bug and then move to a forum discussion if the issue is complex and requires extensive research/discussion.
  • Google docs: documentation
    • Consolidate main points, conclusions and decisions from a forum thread discussion
    • Document project plans
    • Spec out feature requirements
    • Consolidate feedback

Depending on the project other tools might be added and used depending on the requirements of the specific project (e.g. GitHub, Moqups etc). These will be clearly specified in the project’s Trello board under “Project Info”.

Project, process and bug management

As the rest of the Marketing org, the SUMO team operates in 2 and a half weeks sprints. All the information around current projects, activities and sprints can be found in the following Trello boards:

SUMO Roadmap board Lists all the current projects and organizes them as per estimated completion time. Some projects do not have an agreed completion time yet, these will be listed as pending. Each project has somebody assigned to it as the owner. That person is responsible for updating all the documentation, tasks, bugs, discussions related to that project. He is the go to person for any questions. The “Ideas” card lists all projects/ideas/suggestions that did not make it to the roadmap yet. Each project card should contain the following: Name of the project User story/Goal (What are we trying to achieve) Link to Project Board Project Owner (who drives this) - this is done by assigning a member of the team to the card.

The Roadmap Trello board is maintained by Madalina. Please contact her if any information is missing or if you have any questions.

SUMO Project board Each project has its own public Trello board. You can access it by clicking the link listed under the project card in the Roadmap board. A project is usually spread out across multiple sprints!

Each project board will contain the following lists of cards: Project Info User Story/Goal of the project (what are we trying to achieve) Timeline (when do we expect this to be finalized) Acceptance criteria (what needs to be completed to mark this project as done) Tracker bug (if any) Discussion thread (if any) Documentation (Google Docs, Git etc) Risk log (if necessary) Anything else that is relevant

To Do All relevant bugs All relevant tasks or user stories related to this project

Doing (Queued for Sprint) All cards that are being currently worked on (cards in this list will also be present in the Current Sprint board

Done All cards that have been finalized

The Project Trello boards are maintained by each project owner. You can find the project owner by checking the project card in the Roadmam Trello board. Please contact the project owner directly if any information is missing or if you have any questions.

Current Sprint Trello board

A sprint usually contains bugs/user stories from several projects! This board is tracking all the activity of the current sprint. It has the following card lists:

About this sprint Information about the current sprint Agenda of the sprint planning meeting Risk register

Backlog All bugs/users stories that were marked as P1s but did not make it to the current sprint yet

Push to Lithium support All bugs/user stories that cannot be fixed by ourselves and were pushed to Lithium support queue Blocked All bugs/user stories that are currently blocked In progress All bugs/user stories that are being worked on in the current sprint Ready to be verified All bugs/user stories that have been finalized but need to be verified Done All bugs/user stories that are done. The Current Sprint board is maintained by Madalina. Please contact her if any information is missing or if you have any questions.

Lifecycle of a SUMO Sprint

A SUMO sprint takes 2 and a half weeks. It always starts on a Monday and finishes on a Wednesday.

We do a round of bug triaging before each sprint.

Thursday (4 days before the sprint starts) We hold the sprint planning meeting during the Platform meeting. Retrospective of the previous sprint Bug and user story prioritization Agree on bugs/user stories to be worked on during the next sprint Update current sprint Trello board and assign owners Monday Sprint starts Project owners are responsible for updating their project boards accordingly

..2 weeks later

Monday Madalina sends reminder sprint is ending Madalina sends reminder to bug component owners to do another round of triaging

Wednesday Sprint ends MarCom sprint demo

Thursday New sprint planning meeting

Sprint Planning Q2 Sprints Sprint 3, starts May 15, ends Wed May 31, 2017 Sprint 4, starts Monday June 5, 2017, ends Wed June 21, 2017


Q3 Sprints Sprint 1 No info yet when this starts Sprint 2 Sprint 3 Sprint 4


Q2 2017 Sprints

  • Sprint 3, starts May 15, ends Wed May 31, 2017
  • Sprint 4, starts Monday June 5, 2017

Q3 2017 Sprints

  • Sprint 1
  • Sprint 2
  • Sprint 3
  • Sprint 4

Do's

  • Bugzilla isn't a meta discussion area; if you want to discuss workflow or meta e.g. how to triage,
    please DO post your meta/workflow issue in a contributor forum thread
  • Do assume positive intent. 99% people are great :-) ; it's really hard to communicate with a positive tone in online writing! Much easier to appear to be not happy or mis-interpret others as being unhappy.
  • Do be concise and if you have multiple requests or questions, numbering them and placing them in a summary aka 'tl;dr' section at the beginning of your contributor forum post or bugzilla comment would be lovely.
  • Do be positive; we are super lucky to be working on a great open source software project like Mozilla and Firefox.

Don'ts

  • Don't assign bugs to anybody if you aren't 100% sure the assignee agrees with your assignment and has time at the moment (D)
  • Don't worry if low priority bugs remain unassigned; this leaves bugs for volunteers and new folks to tackle
  • Don't be a killjoy to new volunteers and users. New folks are great and don't have all the context and experience. Cheerfully and briefly help them and revel in the "beginner's mind"

Lithium specific stuff

If a Lithium support case needs to be filed for a bug:

  • If you know the bug needs a Lithium support case, please ask a SUMO staff member to file a Lithium support case for you. Triagers should be able to figure out if a Lithium support case is needed if you are un-certain.
  • Unfortunately however the SUMO staff triager will probably have figure out when it's appropriate to file a Lithium support case. It's not a line that's obvious to non SUMO staff or volunteers; the very hazy line is that anything that isn't fixable in Lithium settings needs a Lithium support case.

The SUMO staff member should:

  • File the Lithium support case and in the "Additional Notes" field of the Lithium support case link to the bugzilla bug which we like to call the "shadow" bug
  • In the bugzilla "shadow" bug:
    • Add the case number to the bugzilla summary and whiteboard (E) using the convention: [li-<case>] e.g. [li-00134461]
    • Add a link to the case (e.g. https://supportcases.lithium.com/50061000009MCTs) in the bugzilla field: Details -> URL field
    • As updates are received from the not-public Lithium case system, copy and paste them into the bug (at least the updates that are relevant)

NOTES

  • (A) Component owners are SUMO employees for now, could be volunteers or other employees in the future
  • (B) Is the component owner the triager? Are there more triagers? Answer: At the moment, the component owner is the triager for the component, and the backup component owner is the backup triager. Again fine with adding other triagers e.g. experienced volunteers and other employees in the future
  • (C) Can we assume a perfect knowledge of the assignee's availability & issue fixing potential by the triager? A: Nothing is perfect, triagers do their best and if they can't figure it out they ask for help via needinfo or other methods
  • (D) Does this increase the risk of a bug not being addressed in due time? A: only low priority bugs; unfortunately we don't have the resources to spend a lot of time on low priority bugs, if we had the people we could fix and focus on all bugs but that'll never happen in Mozilla :-)
  • (E) What about other whiteboard keywords like "[1st2weeks]"? Answer: all other "pre-switchback-to-kitsune-temporarily" whiteboard keywords e.g. "[1st2weeks]" are obsolete. Got some ideas for useful whiteboard keywords (they are just free form "tags" like instagram or flickr tags)? Please email rtanglao AT mozilla.org or start a SUMO contributor forum thread.