Any organization that designs a system will produce a design whose structure mirrors the organization's communication structure.
- The system architecture should be structured so that teams can act independently without interfering with each other during development.
- Systems should be properly split into components that can be developed independently.
- Assign each separated component to a specific team to support team independence.
