Web development work is done in three different places:
- External (contractor or agency)
The role of a steward is to make sure a project is technically sustainable. Webdev is often the first point of entry into all the technical aspects of Mozilla Corporation’s systems. Our goal is to facilitate this process and make sure a project is sustainable for us, QA, operations, and security.
We provide code review. We’ll make sure we can install and run the app once, so it’s ready for QA and Operations. We look at what infrastructure is required.
We help in filing all the various bugs and navigating Mozilla’s process.
Our team has inherited many projects that aren’t sustainable. These projects may have had serious security issues, or were written using a framework that our team didn’t support. These had to be rewritten or are still limping along. With our new web development guidelines, we share what the acceptable infrastructure, programming environments, and practices are today.
We cannot accept arbitrary software into our eco-system without slowing all of Mozilla down.
Ask a web developer to build a feature “Member since X” widget on their current toolkit and it will be a routine task. Asking them to build this widget on top of Tiki-wiki plus Drupal site which does authentication and profiles via SOAP (on Tuesdays, other days it’s done via XML-RPC). Development will take 5x as long and will be buggy. It will take QA much longer to test. It will take operations much longer to deploy. Security will find many issues with the basics of the project (even if the new feature is issue free) resulting in several weeks of work for all teams. Wait… all you wanted was the “member since” widget. Yikes.
Mozilla’s power to weight ratio is amazing. Our entire team is under 30 people while Mozilla has over 100 websites. Our flux team is 4 people strong with 17 projects in flight.
Stewards are Mozilla’s leverage.
Some projects have 0 hours of official Webdev staff allocated. By assigning a Steward to a project in need, we can be there for the high-level decisions and help make successful, sustainable projects.
It is a new role and we’re improving the process via feedback from projects.
- Got ideas about this new role?
- Have you worked with a Steward? How did it go?