Thinking Of Fighting Conway’s Law?

1–2 minutes

read

Conway’s Law is a principle that suggests the design of a system or product will naturally mirror the communication structure of the organization that creates it.

Should I fight it? Organizations are structured to achieve specific goals with clear roles and responsibilities. But are teams building the right system architecture, or are they creating hundreds of microservices just to avoid collaborating with other teams? Is there a “right” system architecture we should aim for?

At its core, there should be a healthy balance between the “right” architectural design and the operational aspects and ownership that correlate with the organizational structure.

I’d like to share an approach that has worked for me in seeking that right balance:

System Tech Design:

Your system architecture should include cross-functional representatives from teams across your organization who contribute their functional, technical, and operational requirements, as well as adhere to the teams’ best practices and standards. This includes roles such as Backend Tech Lead, AI Lead, Product Manager, and DevOps Engineer, all of whom are part of the execution pod. This pod should not only agree on the overall architecture but also determine which team will own each component after the new system is deployed to production.

Clear Component Interfaces:

There are 2 main patterns here: 

  • Service/Job Ownership: A service or job that is entirely owned by a team, including code, infrastructure, operations (like monitoring, on-call, development, and deployment), and interactions with other services or jobs.
  • Shared Libraries: A service or job that hosts a library owned by another team, such as an AI model.

Each component can have its own development lifecycle, cadence, and versions.

Monitoring:

  • Component-Level Monitoring: Each team is responsible for monitoring their components.
  • System-Level Monitoring: A designated team is responsible for monitoring the overall system experience and value.

I learned that instead of fighting Conway’s Law, it’s more effective to leverage it by aligning our system architecture with our organizational structure. By fostering collaboration and clear ownership, we can develop an architecture that meets both technical and operational needs.

If you want more content like this, press ‘Like’!

Discover more from THE CTO DILEMMA

Subscribe now to keep reading and get access to the full archive.

Continue reading