Interview chain gun series (XVIII): it is understood Conway's Law

  1. Conway's Law to understand it
    • Law of One: Organization of communication will be expressed through system design, layout and architecture that is the organizational structure will be similar.
    • Law of Two: more time to do one thing can not be perfect, but there is always time to do a job. Breath to eat fat, first get can do it.
    • Law of Three: between linear systems and linear organizational structure with potentially heterogeneous state properties. What we sow, so independent autonomous subsystems to reduce communication costs.
    • Law of four: a large system organizations always tend to break down more than small systems. Together for a long time to divide, divide and rule.
  2. Your perception of what is a more profound?
    The law and the law of four two more profound.
    • Development often encounter, the demand for product managers too complicated? Appropriate to ignore some of the details, first grasp the main line. Too much demand for the product managers? Give up some functionality.
    • The current hot micro service is in line with this law, it will split a large system, more conducive to development and management.
  3. How to explain the rationality of the law of these micro-services
    • Interpersonal communication is very complex, a person's energy is limited communication, so when the issue is too complex a lot of people need to be addressed, we need to do to split the management of the organization to achieve efficient communication.
    • Interpersonal communication within the organization determine their participation in the system design, the manager can bring communication between different teams in different splitting mode, thus affecting the system design.
    • If the subsystem is cohesive, and external communication boundaries are clear, can reduce communication costs and the corresponding design will be more rational and efficient.
    • Complex fault-tolerant system requires continuous optimization through flexible way, do not expect a large and comprehensive design or architecture, good architecture and design iterations are slowly out.
  4. According to this law allows you to manage a team, how would you do
    • We must use all means to improve the efficiency of communication, such as github, wiki. 2 people can clear something, do not pull more people, each person each system has a clear division of labor, a problem immediately know who to turn to avoid the issue of pass the buck.
    • By MVP way to design the system to verify the optimized through constant iteration, the system should be resilient design.
    • You want to what kind of system design, architecture on what kind of team that can flat on flat. The best teams divided by business, so make natural autonomy within the team together, a clear business and external borders will reduce the cost of communication, each small team responsible for the entire life cycle of its own module, not ill, no invalid wrangling.

Reference article (excerpt text copyright belongs to the original author):

https://yq.aliyun.com/articles/8611

Guess you like

Origin www.cnblogs.com/xiaoyangjia/p/11676587.html