What is Conway’s law

Continue to follow the course of “micro service” taught by Teacher Yang Bo

Conway was a programmer, and he came up with it in 1967, and this is what he said

Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. – Melvin Conway(1967)

Conway’s law designs the organization of a system that generates the design and architecture equivalent to the organization’s organizational architecture

Whether there is feeling imperceptibly sharp

After the popularity of micro services, Conway’s Law in 1967 was put forward again, which is regarded by many people as the theoretical basis of micro services

The relationship between Conway’s Law and microservices

Start Internet business volume is not large, the first general back to try the business model whether can run through, so generally speaking at the start of the system is a simple system that is likely to be a monolithic application, this time the size of the team is not big, in general is a few people or a dozen people, as the business bigger and bigger, Inevitably, the size of the team will get bigger and bigger. One original team may not be enough, and two, three, or even more teams will be needed to coordinate. So this time, if our system or a single piece of architecture, it with distributed team produced does not match the situation, is the so-called violation of conway’s law, we did not respond to a single piece of the architecture of the application the organizational structure of the team, and this time will be conflict, communication and coordination cost is very high, delivery efficiency is low.

Several teams go together on a single piece of application development and maintenance, if a team to modify the monolithic application to introduce some new features or technology, often require other team collaboration and coordination, along with doing integration testing to deliver the application, this time, not only is the high cost of communication and coordination, often prone to friction between team and the team.

That is, there are mismatches between multiple teams and single applications,It violates conway’s law

How can microservices be a solution

Each team is responsible for its own services without interfering with each other. When the service of team A is modified, it does not need the cooperation of other teams, or such cooperation costs are relatively low, and generally only occurs at the boundary intersection of both sides. At this time, it is found that the architectural relationship between multiple teams and microservices can be mapped, which conforms to Conway’s law and makes the overall r&d efficiency more efficient.

Architects always think that they are doing technical architecture and only need to do technical architecture well, but architects also need to do organizational architecture well.

Blog address: “Micro Services Series 02” Conway’s Law