50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

发展不能违背康威定律

  • 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:002914
用户头像

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

关注

评论

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

【愚公系列】2022年06月 通用职责分配原则(四)-高内聚原则

愚公搬代码

6月月更

数字人民币预付式消费的监管之道,智能合约能不能解决所有问题?

CECBC

一款可以实现内网脱机分享文档的接口测试软件

Xd

Java 数据库 后端 API 接口测试软件

微服务如何拆分

阿泽🧸

微服务 6月月更

Java的面试技术点

卢卡多多

Java 面试官 6月月更

DAO模式的发展现状,M-DAO如何用技术实现领先

股市老人

时序数据库在卷烟厂中的应用

CnosDB

IoT 时序数据库 开源社区 CnosDB infra

“多元化”通证经济模型:DAO的神经和血液

CECBC

数据库每日一题---第14天:用户推荐人

知心宝贝

数据库 云计算 前端 后端 6月月更

重磅升级,FinClip 2.0正式发布!

FinClip

模块四作业

研究uni-app的第五天

恒山其若陋兮

6月月更

95后阿里P7晒出工资单:狠补了这些个技术栈,真的香啊

Java全栈架构师

Java 程序员 面试 架构师 Java面试题

如何防止NFT行业被污名化?

CECBC

linux之我常用的系统重要文件备份命令

入门小站

Linux

flutter系列之:查询设备信息的利器:MediaQuery

程序那些事

flutter 程序那些事 6月月更

在线JSON转YAML工具

入门小站

工具

官宣!Apache Doris 从 Apache 基金会毕业,正式成为 Apache 顶级项目!

SelectDB

Apache 数据库 apache doris

Java Core 「9」J.U.C 同步工具类-1

Samson

学习笔记 Java core 6月月更

JVM调优简要思想及简单案例-JVM的内存区域大致划分

zarmnosaj

6月月更

转转统一权限系统的设计与实现(设计篇)

转转技术团队

权限系统 rbac

再仿个人主页来看 GetX 和 Provider 之间的 PK

岛上码农

flutter ios 前端 安卓 6月月更

揭秘攻防演练中红队需要什么样的人才

穿过生命散发芬芳

6月月更 攻防演练

数据质量管理

奔向架构师

数据治理 数据管理 6月月更

元宇宙来袭的五个趋势

CECBC

Docker 实用技巧一

Nick

Docker 容器 实用技巧 6月月更 实操

DevStream 成为 CNCF Sandbox 项目啦!- 锣鼓喧天、鞭炮齐鸣、红旗招展、忘词了。

胡说云原生

开源 cncf DevStream

V1签名校验

北洋

Andriod 6月月更

在线文本列表空行过滤工具

入门小站

工具

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