写点什么

发展不能违背康威定律

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

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

关注

评论

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

ABBYY FineReader OCR:文字识别超神,精准转录无误差

Rose

探索淘宝店铺商品列表API接口:一键解锁店铺商品全貌

代码忍者

API 接口 pinduoduo API

《一文讲透》第 4-1 期:KWDB 数据库运维 —— 日志系统解读

KWDB数据库

开源 物联网 数据库运维 日志管理 国产数据库

鸿蒙网络编程系列50-仓颉版TCP回声服务器示例

长弓三石

DevEco Studio 开发实例 HarmonyOS NEXT 网络与连接

鸿蒙无权限实现图片选择拍照和录视频

龙儿筝

鸿蒙

DNS滥用:全球网络安全的新挑战

国科云

异步编程在ArkTS中具体怎么实现?

威哥爱编程

HarmonyOS ArkTS HarmonyOS NEXT

分身应用还谈个人隐私?

iofomo

安全 隐私保护 微信分身

vivo 企业云盘服务端实现简介

vivo互联网技术

企业云盘

揭秘小红书笔记详情API接口:解锁内容营销新境界

代码忍者

API 接口 pinduoduo API

Sublime Text - 智能代码补全,精准预测助力高效编码

Rose

轻量级低代码:为复杂业务场景打造灵活解决方案

天津汇柏科技有限公司

低代码平台

Python哪个框架合适开发淘宝商品详情api?

科普小能手

API 框架 -python Python开发 API 接口

Java性能测试利器:JMH入门与实践|得物技术

得物技术

Java JVM JMH JMH性能基准测试

业务系统的基石:数据库是如何构建数字世界的?

小鲸数据

解锁电商新纪元:1688 API接口图片搜索商品——拍立淘深度探索

代码忍者

API 接口 pinduoduo API

Spark要解决的核心问题

paver1023

spark

这些京东零售研发JDS们,说了好多掏心窝子的话!

京东零售技术

山西大同等保测评机构地址在哪里?电话多少?

行云管家

等保 等级保护 等保测评 大同

过等保三级需要堡垒机吗?为什么?

行云管家

等保 堡垒机 等保测评 等保三级

SnailSVN Pro for mac(SVN客户端)v1.10免激活版

Rose

macOS 14 Sonoma(最新MacOS系统) pkg完整安装包14.7.1正式版

Rose

Axure RP 8 - 高效团队协作,原型迭代同步无缝衔接

Rose

1688商品详情数据接口(1688.item_get)丨1688API接入指南

tbapi

1688商品详情接口 1688API

『OpenCV-Python』安装以及图像的读取、显示、保存

德育处主任

OpenCV-Python

史宾格平台荣获信通院“首批” 个人信息保护合规审计产品能力验证

百度安全

Maxon Cinema 4D 2024激活补丁(C4D 2024下载安装)

Rose

《一文讲透》第 3 期:简易快速实现 KWDB 的高效管理

KWDB数据库

sql JDBC 数据库管理 开源数据库 数据库系统

(br2025)Bridge 2025 v15.0.0 最新破解版下载安装

Rose

Premiere Pro 2025(pr2025) v25.0中文破解版

Rose

SmartGit for Mac 老牌Git客户端 v22.1.1正式激活版

Rose

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