A large scale project typically requires dividing the team into a collection of smaller teams. Sub-teams are created within the larger the overall team. Generally the larger and more complicated the system, the more sub-teams involved.
The overall team can require a person or persons to play the role of integrator. They build the entire system from its numerous subsystems.
These sub-teams often include numerous supporting roles carried out by specialised experts.
Technical experts, such as build masters are able to set up build scripts or an agile DBA. This helps the team to design their database. Technical experts may be brought in on a temporary basis to provide special skills to the system developers.
Domain experts include a wide range of stakeholders, who may not be experts at every single aspect of a particular domain, but are brought in by the product owner, to work closely with the team.
An Independent tester within an agile team often works in parallel with members to validate their work throughout the development lifecycle. This is an optional role, which is more common in the development of a complex system.
The Architecture owner is responsible for facilitating architectural decisions for overall architectural direction of the project. The architecture owner leads a sub-team through the architecture of the system. Architecture owners are not just responsible for setting the architectural direction but are required to facilitate the creation of the system and its development.
reference:Beautiful Teams: Inspiring and Cautionary Tales from Veteran Team Leaders
Andrew Stellman, Jennifer Greene