Conway’s Law of System Design

By Bruno Souza | leadership

May 17

I’m sure you heard about Conway’s Law:

Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.

Melvin E. Conway

Conway’s law is an adage that states that organizations design systems that mirror their own communication structure.

Wikipedia explains:
“The law is based on the reasoning that in order for a product to function, the authors and designers of its component parts must communicate with each other in order to ensure compatibility between the components.
Therefore, the technical structure of a system will reflect the social boundaries of the organizations that produced it, across which communication is more difficult.
In colloquial terms, it means complex products end up “shaped like” the organizational structure they are designed in or designed for.”

Behind Conway’s law is the idea that we can’t design a system without communicating with each other.

And communication is so important, that the “social boundaries” that make communication difficult will actually SHAPE the design of our systems.

Conway’s law is normally applied to an organization.
But…
Organizations are made of people.
Ultimately, it is the communication between people — the authors and designers of its component parts — that sits at the bottom of Conway’s law.

Let that sink for a minute…

Many developers still think that communication is a secondary skill.

But think about Conway’s law…
The level with witch you are able to communicate will ultimately define your designs.
Will define which problems you are involved in solving.
Who are you going to work with to solve those problems.
Your communication will define who will trust you to solve problems.

In the end, communication is the skill that will DEFINE your WHOLE career!

When teams understand Conway’s law there are maybe three things they can do:

1) They can ignore Conway, and fight with the complexity that is to design a system mismatched with the organization;

2) They can accept their organizational structure and stop trying to design a system mismatched with their organizations.

or
3) They can embrace Conway, and reorganize in a way that promote better system designs.

Same for you!
When you realize that your career is defined by your communication skills, maybe you also have three options:

1) You can ignore that, and try to grow your career with limited communication skills;

2) You can just accept it, and be happy with your career the way it is;

or
3) You can embrace communication skills, and accelerate your career.

If you take options one and two, that’s all good.

Option 1 (ignoring) may be very frustrating, because you never understand why tings don’t happen the way you hope for.

I talked with a mentee the other day, and he told me how frustrating it was to see people around him — even people he trained — growing and having success, while he was just stuck.

Option 2 (accepting) seems to be an easy way out… But in fact, it can be even worst. You may seem to be happy, but you look around and your whole life may be falling apart.

A mentee of mine told me once how happy he was with his career. He also told me that his daughter was unable to play outside because he had to move to a terrible and unsafe place. And his wife would cry everyday because they had to leave their previous house since they couldn’t afford it.

When I asked him if this was all good for him, he broke down crying, and told me he never realized what he was doing.

Maybe you will decide to take option 3 and embrace communication skills.

When my mentees above did that, one became a leader in his company and the right arm of the CTO. The other became a community leader, book author and today runs his own company.

It is your career, and you do what looks best to you.

But if you would like to embrace communications, maybe I can help you take your career to the next level.

This is exactly why I send to the code4.life community daily emails about the software developer career.

If you wan to improve your career, join us here: https://code4.life

Lets work together to make Conway’s law work for both you and your career!

Cheers,
Bruno.
The “Brunway”-man

Follow

About the Author

Since 1995 Bruno helps professional software developers to grow their career to senior level and beyond, so they work on cool projects with great people!