当前位置:网站首页>Conway's law can not be flexibly applied as an architect?
Conway's law can not be flexibly applied as an architect?
2022-06-25 13:00:00 【JackieZhengChina】
Soft skills are always hard than hard skills. Soft skills are harder than hard skills .
The boss heard that it's popular recently “ Microservices ”, Ask the architect if we want to have a system ? The boss heard that it's popular recently “ Midrange system ”, Ask the architect if we want to get started ? Actually , These questions don't need to be asked by the boss , Architects who focus on technology trends hear about new technologies or solutions , Will secretly think about whether to apply to the system . However , With or without , You can't just feel it . here , If you can use Conway's law flexibly , Then the judgment will be more perfect .
Conway's law
Conway's law is Marvin · conway 1967 Proposed :“ The architecture of the design system is subject to the communication structure of the organization that produces these designs .” In layman's terms : The product must be its ( personnel ) The epitome of organizational communication structure .
Cross departmental communication is very difficult , The interface of each module of the system also reflects the information flow and cooperation between them .
Conway's law The first law in software architecture design , At first it was just published in magazines , After the 《 One month myth 》 This software Biblical reference , And named Conway's law (Conway’s law), So we can promote .
It's impossible to understand the essence of Conway's law through simple description , In the original text, Conway's law can be summarized into four laws :
- The first law Organizational communication will be expressed through system design .
- The second law One more thing in time can't be perfect , But there is always time to finish one thing .
- The third law There are potential heterogeneity and homomorphism between linear systems and linear organizational structures .
- The fourth law Large system organizations tend to decompose more than small systems .
The first law
Communication dictates design.
Organizational communication determines system design .
This Law focuses on the impact of organizational structure and communication on system design . Organizational communication and system design are closely linked , Especially complex systems , Only by solving the communication between good people can we have a better system design .
《 One month myth 》 It sums up the law that communication cost increases exponentially with the increase of personnel : Communication costs = n(n-1)/2. For example :
- 5 People project team , The channel to communicate is 5*(5–1)/2 = 10
- 15 People project team , The channel to communicate is 15*(15–1)/2 = 105
- 50 People project team , The channel to communicate is 50*(50–1)/2 = 1,225
- 150 People project team , The channel to communicate is 150*(150–1)/2 = 11,175
That's one of the reasons why Internet companies pursue small teams . The problem of communication will bring the problem of system design , And then affect the development efficiency of the whole system and the final product results .
The second law
There is never enough time to do something right, but there is always enough time to do it over.
One more thing in time can't be perfect , But there is always time to finish one thing .
People will never be enough , Things can never be done , But you can come one by one . This is not the software industry “ agile development ” The problem that the pattern solves . In the face of such a situation , Agile development can be iterative 、 Continuous delivery 、 Quick verification and feedback , And continuous improvement .
Even the development of the cattle will write bug, No matter how comprehensive the test coverage is, it can't measure all the problems . The solution is not to eliminate these problems , It's about tolerating problems , And then through proper design ( redundancy 、 monitor 、 High availability design ) Be able to solve problems quickly when they occur .
A small company of several developers , To pursue micro Services 、 To pursue the middle platform architecture , Is this the pursuit of perfection ? No , It's about dying .
Good architecture is not bought , It's not designed , It's based on the long-term evolution of the business .
The third law
There is a homomorphism from the linear graph of a system to the linear graph of its design organization.
There are potential heterogeneity and homomorphism between linear systems and linear organizational structures .
This law is the concrete application of the first law . Imagine if the organizational structure of a company is like this : Teams are distributed , Every team has products 、 Research and development 、 test 、 Operation and maintenance and other roles . At this time, the system is single block , The cost of project communication and coordination is huge , If I can't get it right, I will fight again .
If we split the single block system into microservices , Each team is responsible for its own part , The corresponding interface can be provided externally , Mutual interference . System efficiency will be improved . This is highly cohesive in software design 、 Low coupling is interlinked .
To be frank, we need to build a team of what kind of system we want , What kind of team will build what kind of system . The system that needs to be separated from the front end and the back end builds a team that separates the front end and the back end , conversely , Have a front and back team , You can design a system that separates the front end and the back end . Of course , If we can manage as a whole , Have the right to reorganize the team or design the system architecture , That would be great . Usually let both form 1:1 The mapping relation of , More efficient .
The fourth law
The structures of large systems tend to disintegrate during development, qualitatively more so than with small systems.
Large system organizations tend to decompose more than small systems .
“ The general trend of the world , Long period of division , A long time must be divided. .” The more complex the system is , The more we need more people , More people , Communication costs are also increasing exponentially . Divide and rule is the solution most companies choose . At different levels , Different small teams , Let the team complete self governance , Then unified external communication .
Summary
Architecture requires more than technology , Politics is especially needed in big companies , So called structured politics .
Mr. Yang Bo once wrote in his article 《 Every architect should study Conway's law 》 I mentioned :“ Politics is the art of working with others to get things done , Architecture is a kind of social activity , In the world of Technology , Individualism is easily defeated , Even if your goal is good technology is optimal , Technology decision is political decision (technical decisions are political decisions), A technical product , A wave of people can do , Another wave of people can do , Who did it well , It's hard to say , Whoever does , They all handcuffed the business .”
Link to the original text :《 Conway's law , Not flexible as an architect yet ?》
---------------------
author : New perspective of procedure
source :CSDN
original text :https://blog.csdn.net/wo541075754/article/details/102476828
Copyright notice : This is the author's original article , Please attach a link to the blog post !
Content analysis By:CSDN,CNBLOG One click reprint plugin for blog posts
边栏推荐
- Jenkins pipeline uses
- PPT绘图之AI助力论文图
- MySQL 学习笔记
- Native JS --- infinite scrolling
- Where is it safe to open an account for buying funds? Please give me your advice
- 2021-10-21
- Optimal solution for cold start
- 深圳民太安智能二面_秋招第一份offer
- Select randomly by weight [prefix and + dichotomy + random target]
- Spoken English - weak reading
猜你喜欢
J2EE从入门到入土01.MySQL安装
Elemntui's select+tree implements the search function
使用Visio画立方体
Online service emergency research methodology
Capabilities required by architects
Sword finger offer day 2 linked list (simple)
更新pip&下载jupyter lab
leetcode - 384. Scramble array
药物设计新福音:腾讯联合中科大、浙大开发自适应图学习方法,预测分子相互作用及分子性质
地理空间搜索:kd树的实现原理
随机推荐
Match regular with fixed format beginning and fixed end
画图常用配色
始终保持疫情防控不放松 营造安全稳定的社会环境
Methods of strings in JS charat(), charcodeat(), fromcharcode(), concat(), indexof(), split(), slice(), substring()
地理空间搜索 ->R树索引
15 basic SEO skills to improve ranking
重磅直播|BizDevOps:数字化转型浪潮下的技术破局之路
mysql导入导出数据到excel表日期出现问题
Sword finger offer day 3 string (simple)
5 kinds of viewer for browser
Possible problems when idea encounters errors occurred while compiling module (solved)
英语口语 - 弱读
Module 5 (microblog comments)
Summer Ending
利用cmd(命令提示符)安装mysql&&配置环境
Talk about 11 key techniques of high availability
[machine learning] what is machine learning?
Common colors for drawing
2021-09-28
架构师必备的七种能力