2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

发展不能违背康威定律

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

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

关注

评论

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

架构训练营毕业总结

老实人Honey

架构实战营 - 模块七作业

en

#架构实战营

在线文本纵向排版工具

入门小站

工具

第三期3天AI进阶实战营-Day1任务卡

IT蜗壳-Tango

11月日更

CSS架构之Theme层

Augus

CSS 11月日更

linux之我常用的20条命令(之二)

入门小站

Linux

工厂模式——猫粮公司的演进

蝉沐风

Java 设计模式 工厂模式 工厂方法模式

把选择题变成问答题

FunTester

Java Python 测试 FunTester

Android端信号处理总结

轻口味

android 音视频 11月日更

尝鲜Windows 11一个月,被这3项巨变圈粉了....

Jackpop

iOS开发:用XIB拖控件关联时报错:“Could not insert new outlet connection…”解决方法

三掌柜

11月日更

毕业总结

Geek_ywh40v

算法入门-插入排序

ES_her0

11月日更

Redis 日志篇:AOF 与 RDB 让数据持久化不丢失

码哥字节

redis 后端 Redis 核心技术与实战 11月日更

新书 | 这绝对是读起来最有趣的计算机科普绘本

图灵教育

少儿编程 绘本 逻辑启蒙

《重学Java高并发》手写生产者消费者模型

中间件兴趣圈

高并发 java; 11月日更

软件工程师的专业素养解读

卢卡多多

11月日更

2021全屋智能为何依然进展缓慢?

脑极体

系统架构面临的三大挑战,看 Kubernetes 监控如何解决?

阿里巴巴云原生

阿里云 Kubernetes 云原生 系统架构

基于消息队列 RocketMQ 的大型分布式应用上云最佳实践

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列 上云

【设计模式】第十篇 - 外观模式 - 我来组成头部

Brave

设计模式 外观模式 11月日更

[ 工程师书单推荐] - 年轻人,你渴望力量吗?

baiyutang

11月日更

架构实战营毕业总结

宁静志远

如何免费下载学术文献?

Jackpop

【LeetCode】有效的完全平方数Java题解

Albert

算法 LeetCode 11月日更

重新认识 nginx 反向代理

liuzhen007

11月日更

架构实战训练营 - 毕业结语

NewBranSTONE

「架构实战营」

让华为举步维艰,Android曾距离成为国产系统仅一步之遥!

Jackpop

Apache RocketMQ 荣获 2021 中国开源云联盟优秀开源项目

阿里巴巴云原生

Apache 开源 RocketMQ 资讯

【Flutter 专题】19 图解【分享页面】底部对话框

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

架构训练营毕业总结

Clarke

架构实战营

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