Roles and Responsibilities on Microsoft patterns & practices Project Teams

One of the most common things I get asked, wherever I go is, “What were the team roles and responsibilities on your Microsoft patterns & practices project teams?”

Effectively, there were a set of repeatable roles that people signed up for, or covered in some way.  In this case, a role is simply a logical collection of tasks.  The role is the label for that collection of tasks.

As an Agile bunch, we were self-organizing.  In practice, what that means is the team defined the roles and responsibilities at project kickoff.  As the project progressed, people would shuffle around responsibilities among the team, to produce the best output, and to find ways to get people spending more time in their strengths, or learning new skills.  It's all about owning your executing, playing well with others, and making the most of the talent you have at hand.

Here is a simple list of the team roles and responsibilities each team generally had to cover:

Roles
Architect
Lead Writer
Developer
Development Lead
Product Manager
Program Manager
Test
Test Lead
Subject Matter Expert

Responsibilities
Architecture and Design
Budget
Business Investment
Collateral (screen casts, blogs, decks, demo scripts)
Content structure
Customer connection
Design Quality
Development
Evangelism (screen casts, web presence, road shows, conferences, customer briefings, press & analysts)
Feedback
Product Group Alignment
Product Planning
Project Planning
Quality (technical accuracy, consumability, readability)
Release
Requirements
Scope
Schedule
Simplicity
Support / Sustained-Engineering
Team and People
Test execution
Test planning
Usability