As the Mozilla project has grown so too has our management structure. There are a number of people with various manager titles involved in the day-to-day operations of many Mozilla projects. You may know some of these people and have a sense of what they do. This post is to help clarify these positions so that you can better understand the value that people in these roles bring to the project and their relationship to your work.
There are four types of managers that I will discuss here: development managers, product managers, project/program managers, and release managers.
development managers
A development manager has responsibility for a development team, such as front-end, WebAPI, or performance. It is the development manager’s responsibility to guide the team’s work, balancing various requirements and the relative priorities. Development managers are people managers. This means that they are responsible for the professional growth of the people on their team and that of the team itself. They serve as reviewers, mentors, and advisers. Many Mozilla development managers are very hands-on writing patches and providing code reviews. Some people you may know in this role are Gavin Sharp, Andrew Overholt, and Taras Glek.
Takeaway, development managers:
- are people managers
- guide a development team’s work
product managers
Product managers are more removed from day-to-day development. They gather requirements for Mozilla products by reviewing market research and trends, following standards bodies like the W3C, and speaking with the engineering community. They have the challenging job of forecasting the requirements for our products based on their projected market needs 3, 6, 12, or more months into the future. Product managers provide strategic guidance for our development efforts through user and developer stories, use cases, and product roadmaps. They help with tough decisions about feature and product prioritization. Product managers spend their time looking at the big picture to ensure we can all see the forest for the trees. Some people you may know in this role are Asa Dotzler, Karen Rudnitski, and Chris Lee.
Takeaway, product managers:
- gather requirements from stakeholders and create roadmaps
- provide guidance and leadership to engineering
project/program managers
Project/program managers drive projects by managing project scope, schedule, and risk. They serve as a project steward and sounding board for stakeholder issues. Project managers coordinate work from various teams such as release engineering, product, user experience, support, quality assurance, press and pr, marketing, legal, privacy, WebDev, and IT. The result of working with these teams is that people in this role are typically well connected in the project. Unlike release managers, who, as I will discuss below, focus on individual releases, project managers focus on projects that may span multiple releases or multiple products. Many of the people at Mozilla who are in this role have strong technical backgrounds having come from the development organization at Mozilla or elsewhere. Some people you may know in this role are Sheila Mooney, Caitlin Galimidi, and me.
Takeaway, project/program managers:
- drive projects by managing scope, risk, and schedule
- coordinate the work of many different teams
release managers
Release managers are similar in many ways to project managers except their focus is on individual Firefox releases. The release management team manages and coordinates release schedules for the Firefox desktop and mobile Release, Beta, Aurora and Nightly trains, as well as Firefox OS. They monitor and control our risk profile and its impact on our product quality. They chase down critical issues and manage chemspill releases (point releases for critical issues). They ensure that the process flows from code check-in, to build, test, and release. They triage and track bugs in current and upcoming releases and coordinate the resolution of external issues, such as those due to plug-ins and add-ons. Release managers have to balance the needs of the various Firefox stakeholders including engineering, release engineering, quality assurance, support, documentation, and IT. Some people you may know in this role are Alex Keybl, Lukas Blakk, and Bhavana Bajaj.
Takeaway, release managers:
- drive Firefox releases
- triage and track bugs and coordinate the resolution of external issues
working with your managers
If you have worked with people in these manager roles you may have noticed that some people seem to be doing aspects of multiple manager jobs. The descriptions of each role above are the core responsibilities of each group. These roles tend to bleed into one another to a certain extent. All of the people in these roles are leaders within the organization and each have skills that allow them to play multiple roles.
Now that you know more about these roles and the people in them, use them. Talk to your product manager if you want to understand more about the product requirements and priorities. Talk to your project manager if you are blocked, unclear about project scope or timeline, or need some other help with your project. Talk to your release manager if you have questions about the upcoming release or have critical work that you think should be brought to their attention. And talk to your development manager about your engineering work and your career.