写点什么

发展不能违背康威定律

  • 2016-10-18
  • 本文字数:1085 字

    阅读完需:约 4 分钟

在 SpringOne 大会上,来自 Credera 的 Jason Goth、Micah Blalock 和 Patricia Anderson 介绍了他们如何使用康威定律调整一个客户的技术架构和流程,帮助他们扭转了生产率下降的趋势,提高了高质量代码的生产速度。

康威定律指出“设计系统的组织……其产生的设计等价于组织间的沟通结构。”也就是说,团队创建的东西依赖于组织内部的沟通方式。

在为他们的医疗客户创建自定义分析平台时,Credera 了解到,对于一个或两个并行的软件开发团队而言行之有效的架构和流程,在并行开发团队发展到五个时会迅速陷入僵局。Credera 的方案是,根据康威定律重新定义问题,调整技术架构和流程。最后,经过努力,Goth、Blalock 和Anderson 扭转了生产率下降的趋势,提高了高质量代码的生产速度。在2016 年8 月份举行的SpringOne 大会上, Credera 分享了他们的经验

起初构建代码时,只有两个并行 Scrum 团队,Credera 取得了初步的成功。因而,客户给他们安排了额外的工作。新工作需要另外增加几个并行开发团队,以应对同时到来的截止期。遗憾的是,这种规模的增长让他们的工作陷入了停滞。简单的代码变更需要级联修改多个下游服务。团队之间在工作时间里召开的沟通会议呈指数增长。不同团队的工作量差别很大,有些团队的成员很早就离开了,而其他团队则工作到深夜。士气下降,截止期已过,事情悬而未决。

为了匹配自己的沟通结构,Credera 团队从技术上改进了其软件设计。为了完善划分,他们在代码上应用了开 / 闭原则。在多个团队操作类似的代码时,这可以降低成本,但会导致团队编写重复的代码。他们将这一做法称为 GARY(继续前进,重复自己)。为了解耦大部分代码,他们创建了一个水平面,以防止许多与生成的重复代码相关的缺陷使他们多次“野蛮地重构”。

Goth、Blalock 和 Anderson 进行了组织变革,停止违背康威定律。代码标准被取消,只为开发人员提供了一份可以让他们快速从一个代码集迁移到另一个代码集的准则。一名成员充当软件开发过程中所有团队的负责人,推动团队之间的沟通。另一名资深成员 Blalock 则成为“献祭的羔羊”,负责会见客户以及与遗留代码打交道。虽然并不常见,但团队成员在冲刺过程中会在团队之间流动。结果是会议频次降低。团队工作量正常化,士气上升。最后,截止期不再那么令人焦虑。

该团队是受 Fred Brook 的著作《人月神话》所启发。通过那本书,他们认识到,沟通成本加上工作划分会导致效率变化。只有当工作可以划分时,你才可能通过增加团队成员来提高效率。

该团队采用了 Spring 平台,并将微服务作为项目的一部分。他们使用 Angular 和 Java 编码。

查看英文原文 Grow with Conway’s Law, Not Against It

2016-10-18 19:002997
用户头像

发布了 1008 篇内容, 共 449.3 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

机械装配车间的数字化转型:MES系统如何解决您的“老大难”问题

万界星空科技

数字化转型 mes 机械加工mes 制造业转型 机械组装mes

实时网络安全监测:企业数字防线的核心价值

等保测评

网络安全 信息安全 数据安全 黑龙江等保测评 哈尔滨等保测评

等保测评必选日常安全巡检:筑牢合规与防护双防线

等保测评

网络安全 信息安全 数据安全 黑龙江等保测评 哈尔滨等保测评

Coze AI 智能体工作流配置与实战全指南

测吧(北京)科技有限公司

C#/.NET/.NET Core技术前沿周刊 | 第 64 期(2025年12.1-12.21)

追逐时光者

.net

选对建筑LED屏幕,让广告收益翻倍

Dylan

LED LED display LED显示屏 LED屏幕

入门向:下一代实时计算基础设施-Fluss

泊浮目

flink 实战 Apache Flink Fluss

用Spec给AI Agent立规矩,AI编码告别手忙脚乱

Comate编码助手

AI 编程 文心快码 AI编程助手 文心快码Spec模式

Databend UDF的StageLocation支持

Databend

BeeWorks:私有化部署 IM 软件助力企业安全沟通

BeeWorks

即时通讯 IM 私有化部署

毅硕HPC | Lustre文件系统在HPC集群中的部署实战

INSVAST

高性能计算 Lustre 并行文件系统 毅硕HPC

用Cursor重构烂代码的真实案例

测试人

软件测试

向量检索高级参数

DashVector

人工智能 数据库 向量检索 大模型

dapp 开发中,如何兼容不同版本的公链?

西安链酷科技

链游道具的稀缺性,是靠代码还是运营?

西安链酷科技

基于 Snowflake Cortex AI 的逆向工程代理,让遗留SQL逻辑一目了然

qife122

人工智能 数据库

AI 英语口语 APP的开发

北京木奇移动技术有限公司

AI教育 软件外包公司 AI英语

智能合约与现实世界数据交互,靠什么实现?

西安链酷科技

Coze AI 智能体工作流配置与实战全指南

测试人

人工智能 软件测试

【案例共创】基于华为开发者空间使用云主机构建你的DeepSeek智能文档处理器

华为云开发者联盟

人工智能 华为 大模型 华为开发者空间

AI 原生应用开源开发者沙龙·杭州站精彩回顾 & PPT 下载

阿里巴巴云原生

阿里云 agent 阿里云云原生

高危漏洞CVE-2025-9121:Pentaho数据集成与分析平台JSON反序列化漏洞详解

qife122

网络安全 反序列化 Pentaho

Apache Parquet 优势与日志应用场景解析

东风微鸣

大数据 日志 apache 社区

多签钱包的权限管理是如何通过代码实现的?

西安链酷科技

AgentRun:60 秒创建第一个 Agent,一键转换为高代码,AI 开发者的“秘密武器”!

阿里巴巴云原生

阿里云 Serverless 云原生 AgentRun

大数据-192 DataX 3.0 架构与实战:Reader/Writer 插件模型、Job/TaskGroup 调度、speed/errorLimit 配置速通

武子康

大数据 hdfs 分布式 DataX datax插件

软件测试:黑龙江二级等保测评合规的加速引擎

等保测评

网络安全 信息安全 数据安全 黑龙江等保测评 哈尔滨等保测评

MonkeyCode:让AI编程助手成为你的私人代码管家

百川云开发者

开源

给50个老板安利了Lovart:几乎是唯一能直接上架的品牌设计弹药

阿星AI工作室

AI 设计 电商

科学的商品计划为零售企业持续“算出”利润

第七在线

【信息安全】数据安全建设方案

金陵老街

信息安全 数据安全

发展不能违背康威定律_架构_Mikael Zandin_InfoQ精选文章