怎样做网站推销产品,wordpress去掉版权信息,为什么局域网做网站,wordpress页面采集Mel Conway 康威在加利福尼亚理工学院获得物理学硕士学位#xff0c;在凯斯西储大学获得数学博士学位。毕业之后#xff0c;他参与了很多知名的软件项目#xff0c;如 Pascal 编辑器。在他的职业生涯中#xff0c;康威观察到一个现象#xff1a;软件团队开发的产品是对公… Mel Conway 康威在加利福尼亚理工学院获得物理学硕士学位在凯斯西储大学获得数学博士学位。毕业之后他参与了很多知名的软件项目如 Pascal 编辑器。在他的职业生涯中康威观察到一个现象软件团队开发的产品是对公司组织架构的反映。 1967 年他针对这个现象提交了一篇论文。http://www.melconway.com/Home/Conways_Law.html给 《哈佛商业评论》。结果程序员屌丝的文章不入商业人士的法眼无情被拒康威就投到了一个编程相关的杂志所以被误解为是针对软件开发的。 最初这篇文章显然不敢自称定律law只是描述了作者自己的发现和总结。后来在Brooks Law著名的人月神话中引用这个论点并将其“吹捧”成了现在我们熟知“康威定律”。 康威定律的核心如下 Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organizations communication structure. 任何设计系统的组织必然会产生以下设计结果即其结构就是该组织沟通结构的写照。简单来说 产品必然是其组织沟通结构的缩影。 为什么沟通会影响产品、架构等 在《人月神话》 中提到这样一个观点 Adding manpower to a late software project makes it later --Fred Brooks, (1975) 为了赶进度加程序员就像用水去灭油锅里的火一样无奈大家还是前赴后继。 为什么会有这样的情况《人月神话》中给出了简洁的答案 沟通成本 n(n-1)/2沟通成本随着项目或者组织的人员增加呈指数级增长。是的项目管理这个算法的复杂度是O(n^2)。举个例子 5个人的项目组需要沟通的渠道是 5*(5–1)/2 1015个人的项目组需要沟通的渠道是15*(15–1)/2 10550个人的项目组需要沟通的渠道是50*(50–1)/2 1,225150个人的项目组需要沟通的渠道是150*(150–1)/2 11,175 所以知道为什么互联网创业公司都这么小了吧必须小啊不然等CEO和所有人讲一遍创业的想法后风投的钱都烧完了。 Mike Amundsen 在 《远距离条件下的康威定律——分布式世界中实现团队构建》 讲座中http://www.infoq.com/cn/presentations/team-building-implementation-in-distributed-world 还举了一个非常有意思的理论叫“Dunbar Number”这是一个叫Dunbar废话生物学家在1992年最早提出来的。最初他发现灵长类的大脑容量和其对应的族群大小有一定关联进而推断出人类的大脑能维系的关系的一些有趣估计。举例来说 亲密intimate朋友: 5信任trusted朋友: 15酒肉close朋友: 35照面casual朋友: 150 沟通的问题会带来系统设计的问题进而影响整个系统的开发效率和最终产品结果。 什么样的团队产生什么样的架构 你想要什么样的系统就搭建什么样的团队。如果你的团队分成前端团队Java后台开发团队DBA团队运维团队你的系统就会长成下面的样子 典型的分层架构 如果你的系统是按照业务边界划分的大家按照一个业务目标去把自己的模块做出小系统小产品的话你的大系统就会长成下面的样子即微服务的架构。 微服务的理念团队间应该是 inter-operate, not integrate 。inter-operate是定义好系统的边界和接口在一个团队内全栈让团队自治原因就是因为如果团队按照这样的方式组建将沟通的成本维持在系统内部每个子系统就会更加内聚彼此的依赖耦合能变弱跨系统的沟通成本也就能降低。 参考资料 微服务架构的理论基础 - 康威定律 https://yq.aliyun.com/articles/8611 每个架构师都应该研究下康威定律 http://www.infoq.com/cn/articles/every-architect-should-study-conway-law 原文地址http://www.cnblogs.com/ghj1976/p/5703462.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注