One of an organization's first questions when getting started with Team of Teams is "Which teams should we group together?" The key considerations are Size, Domain Affinity, Stakeholder Overlap, and Team Interdependence.
Even though Team of Teams is deliberately lightweight and minimalist in its structure, there's still a degree of overhead in running one. To benefit from Team of Teams, the group size should be large enough to justify the overhead. The range for a well-sized Team of Teams is between 3 and 6 teams.
Teams that share a domain affinity are natural candidates for grouping. The domain could be shared technical domain, shared design domain, or shared product domain. Because software engineering comprises such a large part of most software product development organizations, technical domain affinity tends to be a primary consideration. However, be wary of placing too much weight upon this aspect.
Teams that share a high degree of overlap among stakeholders can make for an effective Team of Teams. When stakeholders with related interests and priorities are entertaining tradeoffs within the same Portfolio Backlog and Portfolio Roadmap, arriving at tradeoff and displacement decisions can be more concrete, informed by level of effort versus proposed impact instead of impassioned pleas and unfounded claims.
Teams that constantly work together to deliver outcomes benefit from being grouped as a Team of Teams, since their close coupling benefits from being represented within a single Portfolio Backlog and Portfolio Roadmap as well as sharing a Biweekly Sync.