What is a Webdev Steward?

Zebra crossing guardsPerhaps you’ve encountered a new Mozilla Webdev beast… the project Steward. What is a Steward? What can I expect from them?

Web development work is done in three different places:

  • In-house
  • External (contractor or agency)
  • Community

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.

How?

crossing guards in the rainThe Webdev team has documented many of our standards and guidelines. A steward shares these as well as QA and security’s standards with the development team.

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.

So What?

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.

Why Stewards?

the crossing guard was armed with a hula hoopMozilla’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.

Thoughts?

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?

5 responses

  1. Majken “Lucy” Connor wrote on :

    Some questions left from the post: “who are the stewards?” “how do I know who the steward is for x project?” “how are the stewards different from the ‘development team'”

    All the info is probably there, but for someone who hasn’t encountered the Steward concept before there’s a bit of context missing. This sounds like a really good idea, too many similar sites are running on different software. Streamlining in any way possible is good for the users, too, and I can’t even imagine how much easier it will make life for webdev!

  2. Austin King wrote on :

    @Majken – Currently Ryan Snyder, Fred Wenzel, Les Orchard, and I are Stewards. Stewards are assigned to new projects such as the various Firefox 4 launch campaigns. A Steward is different that a development team in that they aren’t heads down hacking on a project, it’s an oversight role. An individual like Ryan might serving both the Developer and Steward roles on a project. On anther project he may only be a Steward and an external development team handles all the development tasks.

  3. Majken “Lucy” Connor wrote on :

    Thanks!

  4. Mike Alexis wrote on :

    As project manager on the web dev team I’ve seen the huge, positive impact the stewards have made. Working with external development teams is inherently challenging; guiding them through our complex systems and holding them accountable for high quality code that meets Mozilla’s standards is no easy task.

  5. David Boswell wrote on :

    This sounds like a great idea to me. As someone who has needed to deal with some of Mozilla’s sites that have been around for a while but aren’t part of the existing web development and maintenance workflow, I can see how useful this would be.