Team composition and roles can vary widely across development teams. The type of product being developed, team charter, organizational culture, and industry norms all impact whom we place into teams.
When taking an agile approach to product development, what commonalities should there be across teams as far as roles and responsibilities?
The Cross-Functional Team Members are the people on the team with the skills to move ideas from concept to customer. The simplest example would be a classic software development team where software engineers, QA, and UX/Design are represented. In more complex scenarios like video game development teams, you could have a much higher number of skills represented, such as game design, platform engineering, UI engineering, game engine programming, UI art, asset art, and UX.
We must strike a balance between holistic ownership of part of the product and the communication/collaboration overhead of larger sizes. For traditional software teams I strive for the typical 5 to 8 persons, whereas with video game development teams I have regularly gone to 10 or even 12, because the benefit of the cross-functional collaboration outweighed the increased communication overhead.
The Team Steward's primary charter is to shepherd the health and effectiveness of the team. Another key aspect of this role is that the Team Steward should have sufficient domain expertise to know what good and healthy looks like for a team doing that sort of work.
Without the valuable context of domain knowledge, a Team Steward can lean too heavily upon rote and sterile execution of a prescribed process with little understanding of why a given event or artifact may not be benefitting the team.
The primary means through which the Team Steward nurtures team health and effectiveness is by expert facilitation of the team's system of delivery, commonly referred to as development process.
This role is often filled by either a functional discipline lead or a development process specialist. Teams using Scrum often have a dedicated Scrum Master, which is one flavor of Team Steward (when applied appropriately). Engineering Managers are one form of discipline lead that often serves in the Team Steward role; in video game development I have seen Art Leads, Art Directors, and Tech Artists fill this role for Art teams.
The Product Steward has the primary charter of stewarding the vision, backlog, and roadmap for the product(s) of the team. A key distinction of healthy agile approaches to product development is that stewarding that vision is done through partnership with the other team members, engaging them to inform the implementation approaches, timelines, and commitments that inform the backlog and roadmap.
You'll know when the Product Steward role is being filled well when roadmaps or timelines provided to stakeholders and customers are never a surprise to the other team members.
Another critical responsibility of the Product Steward is to drive stakeholder alignment. Stakeholders will usually have priorities that compete with one another. Driving alignment across our stakeholder map helps to manage expectations and foster trust with those outside the team, even when we have to deliver disappointing news.
Scrum's Product Owner role is one common form of Product Steward. Most often I have seen the Product Steward be someone from the Product Management discipline in an organization.
When the persons filling the Team Steward and Product Steward roles are working well together, it helps the team maintain healthy tension between feature set and timely delivery.
Product Stewards who invest in deep partnership with Cross-Functional Team Members will often find ways of delivering a given outcome for stakeholders in ways that they could not have envisioned on their own.
While I have seen scenarios where the Team Steward and Product Steward roles are effectively served by a single person, it has been more the exception than the rule.