Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.
I guess the trick is to flip this by modeling your organization to the system design (i.e. create teams around the components of the system, not components around pre-existing teams). This is easier said than done, and as architecture changes one needs to adapt the organization structure...
it's not a complete solution, as 1/I've seen this cause games of musical chairs happen that essentially stall the work and 2/ creating silos make cross-cutting concerns fail to be addressed...
— Melvin E. Conway