Websites/Processes

From MozillaWiki
Jump to: navigation, search


DRAFT Last Updated April 1, 2012

The following processes are used to cover every aspect of a website's lifespan from beginning to end. The process is a work in progress and will be updated and change over time based on what works best for Mozilla. The goal is to create a simple process that will allow a web project to run smooth and increase the likelihood of achieving the desired goals.

Do you have any thoughts on this procss? Is something unclear or obviously wrong? Please contact Mike Alexis with feedback as we need your help to improve the documentation and overall process.

Project Logistics

Project Lifecycle

Ideation Phase

The ideation phase is the process that includes brainstorming, prototyping, and creating product requirement documentation.

  • Decider: Product Owner
  • Driver: Product Owner

Process

1. Product Owner emails the Web Program Manager to notify that individual of the web project.

2. Product Owner submits project to Web Dev, creating a bug assigned to Web Program Manager.

3. Web Program Manager schedules informal discussion with Product Owner and other key stakeholders.

4. Product Owner schedules brainstorming session to flesh out workflow and requirements for the app.

  • Product Owner and Web Program Manager solicit people to brainstorming phase.

5. Product Owner decides what to build.

6. Web Program Manager determines staffing; assigns TPM.

  • Web Program Manager brings development team on board.
    • If external contractor:
      • Web Program Manager gathers documentation on the contractor's development process and expectations.
      • TPM shares Mozilla's infrastructure set up, operational, and development process with contractors.
      • Web Program Manager prepares, reviews and signs contracts for external contractors.

7. Product Owner creates a PRD.

  • Details will be placed on the wiki page specified above. Will include the following:
    • Finalized copy text
    • Mockups
    • User stories
      • primary user flows
      • specific admin functionality
    • Technical specifications
    • Wireframes

8. The following teams review the PRD and each gives a time estimate for the amount of time their team will need during the web development process.

  • Infrasec
  • Creative/UX
  • IT
  • L10N
  • Legal/Privacy
  • QA
  • Web Dev/Web Prod

9. If any of the teams find a problem in the PRD, they will notify the Product Owner.

10. Once all teams approve the PRD, the Kickoff phase may begin.

Kickoff Phase

The kickoff phase is the process of forming a technical team and fleshing out details to begin the development phase.

  • Decider: Product Owner
  • Driver: Web Program Manager

Process

1. TPM and Web Program Manager execute tasks in checklists for project instantiation:

2. Web Program Manager schedules Kickoff Meeting.

3. Web Program Manager notifies new developers of processes.

Implementation Phase

The implementation phase is the process of developing a new web product and getting approval from all teams who have been tasked to review the product.

  • Decider: Product Owner
  • Driver: TPM

Mozilla Web Development Guidelines

During the implementation phase, the Web Dev and UX teams write the website code following Mozilla guidelines:

  • At least 1 Mozilla web developer responsible for the code review of all code committed to the code repository.
  • Bugzilla is the ticket tracking system that will be used to for bug reporting and project overviews. Developers are expected to adhere to the Bugzilla Workflow for tracking tickets.
  • Code will be committed to the designated Mozilla code repository upon development instantiation.
  • Playdoh will be used as the code base unless stated otherwise.

Process

1. TPM schedules and drives the weekly meeting.

Once the initial code base has been created, and the website is functioning as indicated in the specs in a development environment, the remaining process may begin.

2. TPM ensures the stage server is up and running, and the website is functioning as indicated in the specs.

  • Stage server will be set to auto-update from master branch of code repository every 5 minutes.

3. The following processes begin; each team follows Bug Life Cycle process.

  • Accessibility Review begins.
  • SEO Review begins.

4. Web Dev notifies TPM that all required strings and code have been committed to stage.

  • Web Dev continues to fix bugs, but only commits code to a development branch.

5. TPM notifies team that:

  • feature freeze is in effect.
  • string freeze is in effect.

6. The following processes begin; each team follows Bug Life Cycle process.

7. QA signs off on initial round of tests.

8. TPM notifies team that code freeze is in effect.

  • Web Dev continues to fix bugs, but does not commit code to master branch.

9. Infrasec testing begins; team follows Bug Life Cycle process.

10. TPM notifies team that code freeze is no longer in effect.

  • Web Dev may again commit code to master branch.

11. QA signs off on final round of tests.

12. TPM prepares Bugzilla ticket for Production Push.

Deployment Phase (draft)

The process of launching a new web product, or pushing changes to an existing web product, and communicating it to the community.

Process

x. TPM drives deployment (please expand).

x. TPM creates production push ticket in Bugzilla.

x. TPM adds production push to release calendar.

x. Post-launch, Web Program Manager schedules and facilitates release retrospective meeting.

x. Web Program Manager documents and publishes retrospective results.

Supplementary Documents

End of Life Phase

The end of life phase is the process of retiring a web product or website.

  • Decider: Product Owner
  • Driver: TPM

Process

1. Product Owner contacts Web Program Manager to begin retirement process, or Website Taskforce nominates and approves the retirement of a website.

2. Web Program Manager assigns a TPM to drive the retirement process.

3. TPM retires a page, a section of pages or the entire web site or product.

4. Web Program Manager schedules and facilitates Website / Campaign Retrospective.

5. Web Program Manager documents results of retrospective.