Disciplined Agile

Team Structure of a Large Program

A program is a collection of related initiatives managed in a coordinated way to obtain benefits not available from managing them individually. A program team is typically organized as a team of teams, called sub-teams or squads. Structures are required to coordinate people, requirements, and technical concerns within the overall program. Where a simple “scrum of scrums” may suffice coordination on small-to-medium sized programs (say up to five or six sub-teams), it quickly falls apart for larger programs. As a result, large programs will find that they need:

  • A Product Management (or Product Ownership) strategy where the Product Owners coordinate their activities
  • An Architecture (or Architecture Ownership) strategy where the Architecture Owners coordinate their activities
  • A Product Coordination (or Management) strategy where the Team Leads coordinate their activities.
  • An optional Program Manager/Coordinator, a specialist role, is responsible for coordinating the overall leadership team.
Team Large

Figure 1. Team structure for a large program (click to expand).

The following structure shows how the Product Owners of each sub-team are also members of the Product Management/Product Owner team for the program. Similar structures, see Large Agile Teams, will also exist for Product Delivery and Architecture as well.

Product Owner team

Figure 2. The team structure for the Product Owner team on a large program (click to expand).