每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

系统架构中的组织驱动:康威定律在系统设计中的应用 康威定律不仅是技术规律,更是组织管理哲学,深刻影响着现代软件架构的演进方向 阅读详情

背景

今天的分享主要来自我之前的工作经验以及平时的学习总结和思考。我之前的背景主要是做框架、系统和平台架构,之前的工作过的公司eBay、携程、唯品会都是平台型互联网公司,所以今天主要带着平台架构视角和大家分享心得体会。架构的视角每个人都不一样,可以说一万种眼光,有业务架构、安全架构、平台架构、数据架构,各不相同,这里仅是我的一家之言,欢迎大家加入『聊聊架构』社群参与讨论。今天聊的话题主要包括以下几点:

  1. 我对架构定义的理解
  2. 架构的迭代和演化性
  3. 构建闭环反馈架构(Architecting for closed loop feedback)
  4. 谈谈微服务架构和最新主题
  5. 架构和组织文化关系
  6. 架构师心态和软技能
  7. 我对一些架构师争议主题的看法

我对架构定义的理解

大概在7~8年前,我曾经有一个美国对口的架构师mentor,他对我讲架构其实是发现利益相关者(stakeholder),然后解决他们的关注点(concerns),后来我读到一本书《软件系统架构:使用视点和视角与利益相关者合作》,里面提到的理念也是这样说:系统架构的目标是解决利益相关者的关注点。

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

这是从那本书里头的一张截图,我之前公司分享架构定义常常用这张图,架构是这样定义的:

  1. 每个系统都有一个架构
  2. 架构由架构元素以及相互之间的关系构成
  3. 系统是为了满足利益相关者(stakeholder)的需求要构建的
  4. 利益相关者都有自己的关注点(concerns)
  5. 架构由架构文档描述
  6. 架构文档描述了一系列的架构视角
  7. 每个视角都解决并且对应到利益相关者的关注点。

架构系统前,架构师的首要任务是尽最大可能找出所有利益相关者,业务方,产品经理,客户/用户,开发经理,工程师,项目经理,测试人员,运维人员,产品运营人员等等都有可能是利益相关者,架构师要充分和利益相关者沟通,深入理解他们的关注点和痛点,并出架构解决这些关注点。架构师常犯错误是漏掉重要的利益相关者,沟通不充分,都会造成架构有欠缺,不能满足利益相关者的需求。利益相关者的关注点是有可能冲突的,比如管理层(可管理性)vs技术方(性能),业务方(多快好省)vs 技术方(可靠稳定),这需要架构师去灵活平衡,如何平衡体现了架构师的水平和价值。

关于架构的第二点定义是说架构主要关注非功能性需求(non-functional requirements),即所谓的-abilities。

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

这个是我上次公司内分享的一个图。

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

这个是slideshare一个ppt里头截取的,两个图都是列出了架构的非功能性关注点;关于架构的水平该如何衡量,去年我看到一句话,对我影响很大。

Architecture represents the significant design decisions that shape a system, wheresignificant is measured by cost of change.

翻译为中文就是,架构表示对一个系统的成型起关键作用的设计决策,架构定系统基本就成型了,这里的关键性可以由变化的成本来决定。这句话是Grady Booch说的,他是UML的创始人之一。

进一步展开讲,架构的目标是用于管理复杂性、易变性和不确定性,以确保在长期的系统演化过程中,一部分架构的变化不会对架构的其它部分产生不必要的负面影响。这样做可以确保业务和研发效率的敏捷,让应用的易变部分能够频繁地变化,对应用的其它部分的影响尽可能地小。

我刚入软件开发这个行业之出,谈的架构主要是性能,高可用等等。现在,见过无数遗留系统,特别是国内企业IT的现状,无数耦合性系统的遗留系统,不良的架构象手铐一样牢牢地限制住业务,升级替换成本非常巨大, 所以我更加关注可理解,可维护性,可扩展性,成本 。我想补充一句,创业公司创业之初获得好的架构师或技术CTO非常重要。

架构的迭代和演化性

我是属于老一代的架构师,99年参加工作。职业初学了很多RUP,统一软件过程的理念。RUP的理念对我的架构有很深的影响,RUP总结起来就是三个特点:

  1. 用例和风险驱动Use Case and risk driven
  2. 架构中心Architecture centric
  3. 迭代和增量Iterative and incremental

RUP很注重架构,提倡以架构和风险驱动,该开始一定要做端到端的原型prototype;通过压测验证架构可行性,然后在原型基础上持续迭代和增量式开发,开发->测试->调整架构->开发,循环,如下图所示:

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

从上图可以看出架构师要尽可能写代码,做测试,纸上谈兵式做架构而后丢给团队的作法非常不靠谱(除非是已经非常清晰成熟的领域)。另外,做技术架构的都有点完美主义倾向,一开始往往喜欢求大求全,忽视架构的演化和迭代性,这种倾向易造产品和用户之间不能形成有效快速的反馈,产品不满足最终用户需求,继续看下面两个图:

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

第一个图是讲最小可用产品(Minimum Viable Product, MVP)理念,做出最小可用产品,尽快丢给用户试用,快速获取客户反馈,在此基础上不断迭代和演化架构和产品。第二个图是过度工程(Over Engineering)的问题,其实也是讲产品架构和用户之间没有形成有效的反馈闭环,架构师想的和客户想的不在一个方向上,通过最小可用产品,快速迭代反馈的策略,可以避免这种问题。注意,在系统真正地投入生产使用之前,再好的架构都只是假设,产品越晚被使用者使用,失败的成本和风险就越高,而小步行进,通过MVP快速实验,获取客户反馈,迭代演化产品,能有效地减少失败的成本和风险。

另外,多年的经验告诉我,架构,平台不是买来的,也不是用一个开源就能获得的,也不是设计出来,而是长期演化才能落地生根的

给大家推荐两篇不错的微信文章(微信不能插入链接,根据题目Google下即可):

  1. 58同城沈剑:好的架构源于不停地衍变,而非设计
  2. 宜人贷系统架构–高并发下的进化之路

两篇文章其实都是讲架构的迭代和演化性,值得每个架构师学习吸收。

构建闭环反馈架构

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

第一条道路,系统思维,开发驱动的组织机体,其能力不是制作软件,而是持续的交付客户价值,架构师需要有全局视角和系统思维(System Thinking),深入理解整个价值交付链,从业务需求、研发、测试、集成,到部署运维,这条价值链的效率并不依赖于单个或者几个环节,局部优化的结果往往是全局受损,架构师要站在系统高度去优化整个价值交付链,让企业和客户之间形成快速和高效的价值传递。

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

第二条道路,强化反馈环,任何过程改进的目标都是加强和缩短反馈环。刚入行的工程师,也是中国学生的普遍问题,就是生产运维意识不足(监控是系统反馈的重要环节)。有两种化这样讲的:

  1. no measurement, no improvement没有测量,就没有改进和提升
  2. What your measure is what you get你测量什么,就得到什么

没有监控或者监控不完善的系统相当于裸奔,开车上高速无仪表盘。

这篇文章提出了度量驱动开发的理念,即所谓MDD,在系统,应用和业务,通过三级监控,构建三个反馈环,在监控测量基础上持续改进系统和架构,我最近也在参考这个理念设计一个电商平台的技术架构,见下图:

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

这是一个电商平台的架构,整个体现了闭环架构的思想,右侧是整个平台的反馈监控环节。具体如下:

  1. 系统层监控计算网络存储,构建系统层的反馈环
  2. 应用服务层,监控业务、应用、服务,甚至整个研发流程,构建应用和服务层的反馈环
  3. 客户体验层,监控端用户和分析网站用户的行为,构建和客户的反馈环

下面这个图展示了系统提升和改进的一般方法:

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

收集->测量->调整->闭环重复,在有测量数据和反馈的基础上,系统、应用、流程和客户体验才有可能获得持续的提升和改善,否则没有数据的所谓改进只能靠拍脑袋或者说猜测。

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

第三条道路,鼓励勇于承担责任,冒险试错和持续提升的文化。这点是最难的,一般和企业人才密度有关。工具,技术,流程只是一个公司的冰山浮出水面的部分,而真正对企业效能影响大的则是冰山水下的部分,即企业的人和文化,架构师作为技术和架构的布道者,有责任义务鼓励和推动试错文化。

架构师要深入领会这三条道路,关注整个价值交付链的效率,关注每个环节的闭环反馈,鼓励和推动公司的试错文化,打造全系统的闭环架构(Architecting for closed loop feedback),提升整个系统效能。下图的DevOps和每日交付是每一个互联网系统架构师的梦想和努力的方向。

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

谈谈微服务架构

微服务我想大家都听得很多了,我本人也非常关注和推崇微服务,从技术角度讲,我认为微服务主要体现的是单一职责和关注分离的思想,从单进程模块化进一步拓展到跨进程分布式的模块化。微服务是独立的开发、测试、部署和升级单元,正如我在第一点架构定义中提到的,微服务中每个服务可以独立演变,它的cost of change比较小,整体架构比较灵活,是一种支持创新的演化式架构。

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

这个图讲什么时候该引入微服务。微服务有额外成本的,需要搭建框架、发布、监控等基础设施。初创和小规模团队不建议采用。主要决定因素系统复杂性和团队规模,当到达一个点,单块架构严重影响效率才考虑 。另外补充一点,微服务更多是关于组织和团队,而不是技术。

架构和组织文化关系

再谈一下康威定律:Conway’s law: Organizations which design systems[...] are constrained to produce designs which are copies of the communication structures of these organizations.

(设计系统的组织,其产生的设计和架构等价于组织间的沟通结构。 )

从单块架构到微服务架构是这个定律的很到体现。

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

团队是分布式的,系统架构是单块的,开发,测试,部署协调沟通成本大,严重影响效率,严重时团队之间还容易起冲突conflict。

每个架构师都在研究的康威定律,程序员进阶路上,你思考过吗?

将单块架构解耦成微服务,每个团队开发,测试和发布自己负责的微服务,互不干扰,系统效率得到提升。

可见,组织和系统架构之间有一个映射关系(1 ~ 1 mapping),两者不对齐就会出各种各样的问题,一方面,如果你的组织结构和文化结构不支持,你也无法成功建立高效的系统架构,例如集中式和严格职能(业务, Dev, QA, Deployment, Ops)的企业,很难推行微服服务和DevOps,推行Docker/PaaS平台也会比较困难,这样的组织职能之间都倾向于局部优化(local optimization),无法形成有效和合作和闭环。

反过来也是成立的,如果你的系统设计或者架构不支持,那么你就无法成功建立一个有效的组织;作为系统架构师,一定要深入领会康威定律,设计系统架构之前,先看清组织结构,也要看组织文化(民主合作式,集权式,丛林法则式,人才密度),再根据情况调整系统架构或者组织架构。

架构师心态和软技能

空杯,或者说开放心态(open minded)是一个成熟架构师的应有心态,stay hungry, stay foolish, 心态有多开放,视野就有多开阔。来自《高效能人士的七个习惯~史蒂芬~柯维》的一句话送给每一个架构师 :

如果一位具有相当聪明才智的人跟我意见不同,那么对方的主张必有我尚未体会的奥秘,值得加以了解。与人合作最重要的是,重视不同个体的不同心理、情绪与智能,以及个人眼中所见的不同世界。与所见略同的人沟通,益处不大,要有分歧才有收获。

另外再推荐一个本书《软件架构师的12项修炼》,这书中三个观点很值得每个架构师学习领会:

  1. soft skills are always hard than hard skills,软技能比硬技能难
  2. choosing relationship over correctness ,注重关系重于谁对谁错
  3. 架构的政治性,在中大型公司里混的架构师尤其要学习

政治指的是和他人协作将事情搞定的艺术,架构是一种社交活动,在技术的世界里,个人主义很容易被打败,即使你的目的是好的技术是最优的,技术决策是政治决策(technical decisions are political decisions),一个技术产品,一波人可以做,另一波人也可以做,到底谁做的好,真不好说,不管谁做,都给业务套上了一副手铐。

架构师如何提升?实战,实战,实战!规划职业,找好的团队和项目,总结分享,学习GitHub开源项目,尽可能参与和开创自己的开源项目和产品,并长期积累。

我对一些架构师争议主题的看法

主要争议是两个话题:

  1. 技术和业务的关系。
  2. 架构师要写代码吗?

架构师怎么回答这类问题?一个成熟架构师的口头禅:视情况而定,不一定,是也不是,it depends。技术和业务,架构师要理解业务吗,看产品和客户,如果是业务性产品,肯定要理解业务,如果是技术型产品,就不一定。

架构师要写代码?也不一定,个人觉得尽可能要写,如果你写过十年以上代码了,每年不少于2万行,都玩通了,可以不写。另外架构师如果写代码,要把控度,不要一头钻入代码,花大量时间解决细节和复杂性问题,忽视全局和系统性问题。

最后

我想说中国现在的互联网发展趋势很好,越来越多的人加入架构师这个行业,这个行业正在“万物生长”。 但是我们现在还没有马丁福勒,adrian cockcroft这样的架构牛人物,我辈需不断努力,期待中国10~20年后出现超过十个马丁福勒,adrian cockcroft这样的大牛神级人物。我们必不可停止探索,而一切探索的尽头,就是重回起点,并对起点有首次般的认识。

原文作者介绍

杨波,具有超过10年的互联网分布式系统研发和架构经验,曾先后就职于:eBay中国研发中心(eBay CDC),任资深研发工程师,参与亿贝开放API平台研发,携程旅游网(Ctrip),任技术研发总监,主导携程大规模SOA体系建设,唯品会(VIPShop),任资深云平台架构师,负责容器PaaS平台的调研和架构,目前就职于法国LVMH集团中国区的垂直电商部门,任职电商首席架构师,帮助传统IT向互联网转型。

感谢能阅读完,觉得还不错的可以转发关注一波~是对我最大的支持:私信回复“架构”本人整理的Java高级架构资料、源码、笔记、视频、BATJ面试视频资料

每个架构师都应该研究下康威定律 今天的分享主要来自我之前的工作经验以及平时的学习总结和思考。我之前的背景主要是做框架、系统和平台架构,之前工作过的公司eBay、携程、唯品会都是平台型互联网公司,所以今天主要带着平台架构视角和大家分享心得体会。架构的视角每个人都不一样,可以说一万种眼光,有业务架构、安全架构、平台架构、数据架构,各不相同,这里仅是我的一家之言,欢迎大家加入『聊聊架构』社群参与讨论。今天聊的话题主要包括以下几点:架构的迭代和演化性构建闭环反馈架构(Architectingforclosedloopfeedback)谈谈微服务架构和最新主题架构和组织文化关系架构师心态和软技能我对一些架构师争议主题的看法我对架构定义 立即下载

相关推荐

【RDMA】13. RDMA之用户态与内核态交互

原文:https://zhuanlan.zhihu.com/p/346708569 在“RDMA之Verbs”一文中我们说道,Verbs API分为用户态和内核态,分别以ibv_和ib_作为前缀。RDMA技术的最大的优势就在于用户态可以绕过内核,直接控制硬件收发数据,减少了系统调用和内存拷贝次数,所以大部分的RDMA应用都是用户态应用,即使用以ibv_为前缀的用户态Verbs API。 但是并非所有的用户态Verbs API都可以完全绕开内核,本文中我来讲解一下哪些API依赖于内核RDMA子系统(包括驱

我的笔记本 4286

深度解析康威定律

康威定律(Conway’s Law)由计算机科学家梅尔文·康威(Melvin Conway)于1967年提出。它的核心观点是:“任何组织在设计系统时,都会倾向于构建出与其自身沟通结构相匹配的系统。” 换句话说,组织内部的沟通方式、团队的结构与公司文化,直接影响最终软件系统的架构和设计。康威定律不仅是对软件设计过程的观察,它揭示了一个深刻的现象:团队如何组织、如何合作,最终会体现在代码、模块和系统架构上。

hello.reader 2142

随机向量函数链神经网络(RVFLNN)简介——附测试代码

宽度学习(Broad Learning System)原理介绍:随机向量函数链神经网络(RVFLNN) 目录宽度学习(Broad Learning System)原理介绍:随机向量函数链神经网络(RVFLNN)结构分析和训练优化 函数链神经网络(Functional-link neural network,简称FLNN)的结构如下图。 和深度神经网络结构不同的是,FLNN相当于把隐层放到了输入层中,作为增强结点(Enhancement nodes)。也可以理解成FLNN在输入层就对输入向量进行了非线性变换

weixin_44517742的博客 1万+

康威定律(Conway’s law)

架构由组织关系决定

Rolei的博客 4908

类银河恶魔城学习记录1-1 Player状态机的搭建 P28

什么是状态机?一篇文章就够了 - 知乎说实话,目前并不能深入理解状态机的奇妙之处(当然,我觉得状态机作为教程的重要组成部分是不得不理解的,所以以下我会对游戏教程内的状态机做一些我认为的解释,如有错误,请多包涵)

Homura_的博客 2343

Nacos 2.3.2与PostgreSQL的Docker化部署实战

本文详细介绍了Nacos 2.3.2与PostgreSQL的Docker化部署实战,包括环境准备、数据库配置、镜像获取与导入、容器部署及常见问题排查。通过Docker容器化技术,结合PostgreSQL的稳定性和扩展性,为微服务架构提供高效的服务发现和配置管理解决方案。

k5l6m的博客 284

康威定律。

设计系统的组织,其产生的设计等同于组织之内、组织之间的沟通结构。看看下面的图片(来源于互联网,侵删),再想想Apple的产品、微软的产品设计,就能形象生动的理解这句话。

孤芳不自赏 1万+

你以为你懂 Java 反射?看了这篇源码分析,我发现我以前都错了

摘要:本文讲述了一次生产环境Metaspace内存溢出的故障排查经历。事故源于一个通用数据导出功能中频繁使用反射调用method.invoke(),触发了JVM的"膨胀机制":当同一Method对象调用超过15次时,JVM会动态生成GeneratedMethodAccessor类,导致Metaspace被撑爆。文章分析了问题根源在于循环中反复调用getMethods()创建新Method对象,并提出了三种解决方案:缓存Method对象、改用MapStruct/MethodHandle工具

BUG猿的博客 770

什么是康威定律?

康威定律 : 设计系统的架构受制于产生这些设计的组织的沟通结构。

Appleeatingboy的博客 1237

Python 爬虫进阶:淘宝热卖商品价格走势抓取、反爬与分析全流程

在大数据时代,数据是商业决策的重要依据。电商平台上的商品价格走势,对于商家调整经营策略、消费者选择购买时机都有着关键的参考价值。本篇文章将深入解析如何利用 Python 爬虫抓取淘宝热卖商品的价格走势数据,并应对其中的反爬机制,最后对数据进行分析,带领大家领略 Python 爬虫在电商领域的强大应用。

yansideyucsdn的博客 1060

【量化入门】Tushare库获取公募基金的历史净值

在本文中,我们将介绍如何使用Python的Tushare库获取公募基金的历史净值。

木头大左的博客 1146

架构师都需要了解的康威定律(Konway‘s Law)

Mel Conway(个人主页:http://www.melconway.com/Home/Home.html)康威在加利福尼亚理工学院获得物理学硕士学位,在凯斯西储大学获得数学博士学位。毕业之后,他参与了很多知名的软件项目,如 Pascal 编辑器。 1康威定律的来历 在他的职业生涯中,康威观察到一个现象:软件团队开发的产品是对公司组织架构的反映。 于是,1967 年他针对这个现象提交了一篇论文(http://www.melconway.com/Home/Committees_Paper.html)

Robin's Home 3560

threejs中使用Reflector实现出倒影效果,并实现背景透明的效果(Reflector镜面背景透明, 倒影弱化)

在项目中遇到要实现倒影效果,threejs给我们提供了Reflector,可以轻松完成镜面效果,实现倒影。但背景不透明;并且反射出的倒影太亮了;网上没搜到解决方案, 自己修改了下源码实现了想要的效果,做个记录...

weixin_40856652的博客 5723

深入理解康威定律

本文将详细探讨康威定律(Conway’s Law)的含义、背景、实际应用以及在开发中的重要性。康威定律是一种观察团队结构与系统架构之间关系的理论,对于开发团队来说,理解和应用康威定律有助于提高团队协作和软件质量。康威定律是由梅尔文·康威(Melvin Conway)于1967年提出的,它指出:“团队结构设计的系统将不可避免地产生与团队沟通结构相一致的设计。”换句话说,软件系统的架构与开发它的团队结构密切相关。这意味着,为了实现高效的软件开发,我们需要关注团队的沟通和协作方式。

sinat_26065899的博客 2555

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

你知道什么是康威定律吗?

康威定律是由计算机科学家马尔文·康威(Melvin Conway)于1967年提出的一个关于组织结构与系统设计之间关系的理论。

激流丶的博客 1720

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

康威定律,作为架构师还不会灵活运用?

Soft skills are always hard than hard skills. 软技能比硬技能难。 老板听说最近流行“微服务”,问架构师咱们的系统要不要来一套?老板又听说最近流行“中台系统”,问架构师咱们要不要搞起来?其实,这些问题不用老板问,关注技术发展趋势的架构师每当听到新的技术或解决方案,都会暗中思忖是否应用到系统中。然而,用或不用,总不能凭感觉吧。此时,如果你能灵活运用...

程序新视界 2633

程序员应知必会的思维模型之 5 康威定律 (Conway‘s Law)

康威定律 (Conway’s Law) 这个定律说明了系统的技术边界可以反应一个组织的结构,它通常会在改进组织时被提及。康威定律表明,如果一个组织被分散成许多小而无联系的单元,那么它开发的软件也是小而分散的。如果组织是更多地围绕以功能或服务为导向的垂直结构,那么软件系统也会反映这一点。 软件领域应用 观点 任何技术架构和流程的调整,都不要违背康威定律 生产力决定生产关系,生产关系影响企业的组织模式,组织模式倒逼着系统架构适应组织架构,所以有了微服务、中台,这就是康威定律。中台建设的核心:“服务化”胜

iCloudEnd的博客 1619

康威定律

康威定律:一个互联网公司的技术框架,往往和部门的人员架构是对应的,记住了各组的分工就了解了技术架构。 一、从康威定律和技术债看研发之痛 https://blog.csdn.net/junecauzhang/article/details/61427915 二、墨菲定律(设计系统)和康威定律(系统划分) https://blog.csdn.net/mytobaby00/article/de...

知行合一,学以致用! 1902

康威定律详解

康威定律是马尔文·康威1967提出的:“设计系统的架构受制于产生这些设计的组织的沟通结构。通俗的来讲:产品必然是其(人员)组织沟通结构的缩影。跨部门沟通是非常难的,系统各个模块的接口也反映了它们之间的信息流动和合作方式。康威定律可谓软件架构设计中的第一定律,起初只是在杂志上的发表,后经过《人月神话》这本软件界圣经的引用,并命名为康威定律(Conway’s law),因此得以推广。

qq_32907491的博客 581

微服务基础 - 康威定律

微服务是最近非常火热的新概念,大家都在追,也都觉得很对,但是似乎没有很充足的理论基础说明这是正确的,给人的感觉是不明觉厉。前端时间看了Mike Amundsen《远距离条件下的康威定律—分布式世界中实现团队构建》(是Design RESTful API的作者)在InfoQ上的一个分享,觉得很有帮助,结合自己的一些思考,整理了该演讲的内容。

珍惜当下 1201

为什么说架构师都应该了解“康威定律”(Conway‘s law)

一、首先了解什么是康威定律 康威定律其实是一句格言,指出组织设计系统来反映他们自己的沟通结构。它以计算机程序员梅尔文·康威的名字命名,他于1967年提出了这个想法。他最初的措辞是: organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations. — M. Con...

撸起袖子加油干 5452

康威定律——组织决定产品,领域驱动设计

组织决定产品,领域驱动设计

小猴子的博客 463

程序猿和架构师都应该了解“康威定律”(Conway's law)

程序猿和架构师都应该了解“康威定律”(Conway's law) 什么是康威定律 康威定律是一句格言,指出组织设计系统来反映他们自己的沟通结构。它以计算机程序员梅尔文·康威的名字命名,他于1967年提出了这个想法。他最初的措辞是: organizations which design systems ... are constrained to produce designs w...

iCloudEnd的博客 920

康威定律:为什么你的系统架构会复制你的组织架构?

摘要: 康威定律指出,系统的设计必然反映组织的沟通结构。团队间的协作方式直接影响软件模块的划分——沟通紧密则模块耦合度高,沟通不畅则模块边界清晰。典型案例显示,组织架构调整(如团队拆分)会推动系统从单体转向微服务。反之,也可通过设计目标架构(如亚马逊的API强制隔离)倒逼组织优化协作模式。现代实践(如团队拓扑学)进一步将康威定律落地,强调通过调整团队类型与交互模式来引导架构演进。该定律揭示:技术问题常根植于组织问题,优化系统需先审视团队结构。

weixin_38717458的博客 624
上一篇: 更多53收藏分享想学习Java虚拟机?却被深奥拒之门外?技术大咖垂直打击JVM
下一篇: 为什么你总是 CRUD,你想过没有?
Javaesandyou
博客等级 码龄5年 742粉丝 563原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值