Two weeks at Mozilla

I'm two weeks into my Release Management internship at Mozilla. So far, it has been an incredible experience.

The glorious firefox

The majestic red panda

For the uninitiated, release managers make sure the right code gets into the codebase. Mozilla ships updates often--Firefox every 6 weeks. We make sure that important features and stable patches ship. Among other things, this involves deciding what bugs and features are critical for the release and ensuring those get completed.

This summer, apart from helping managing a few releases, I'll be working on my intern project, the release management dashboard.

The dashboard

It would be convenient to have an idea of how a release of Firefox is coming along by glancing at a single page.

Willie, the previous intern on the team has made great progress on a dashboard that does just this. Currently his dashboard can create charts of key bug metrics. This handy tool can generate a timeseries from any bugzilla query.

Release readiness dashboard

The release readiness dashboard, by Wille

Bugzilla is the vessel of Agile-ness by which Mozilla keeps track of bugs and feautres. For instance, one can currently track the number of bugs marked by the crasher tag, which lends the release manager some insight on what bugs to pay attention to. But bugzilla only gets you so far.

If release health is your concern, bugs are a noisy feature of your hidden variable. The number of crasher bugs doesn't directly correlate to user experience, since humans must input bugs into bugzilla. There's a delay between when the problem patch lands and the bug is filed. Plus, the bug doesn't relate the number of users affected. To get an idea of how much Firefox is crashing, look at how much Firefox is crashing.

Luckily, Mozilla tracks the number of daily crashes! We track key performance metrics too, including

  • startup time
  • graphics performance
  • cold launch time (for Firefox OS)
  • idle power usage (for Firefox OS)

... just to name a few.

Right now, these data live on databases managed by different teams. It would be pretty neat to see these data within the dashboard.

The dashboard in its current state helps release managers find critical bugs. Perhaps it could provide greater insight into the release's health with these integrated metrics.