豆瓣读书:https://book.douban.com/subject/35528423/
    image.png


    很薄的一本书,还不到 200 页吧,买回来一看居然还是彩图的。
    本书看起来像是《设计模式》在团队管理上的一种推广,
    实际读下来,感觉它是对 “康威定律” 夹带实战经验的一些总结。

    康威定律指的是:系统架构与组织架构是同态的。
    设计系统的组织由于受到约束,这些设计往往是组织内部沟通结构的副本。
    即,组织架构(沟通结构) 决定了 系统架构。


    在康威定律之上,作者提到了好多扩展点:

    • 逆康威定律:系统架构 -> 组织架构(沟通结构)
      • 即我们想得到什么样的系统架构,就怎么设计团队的组织架构
    • 认知负荷:团队内部的价值流转速度,受限于成员的认知负荷,每个人都疲于奔命的话,交付效率会大打折
    • 团队 API:以团队作为最小作战单位来考虑事情,团队之间的交互方式也非常值得考量
      • 通过设计团队边界,把高频沟通放到团队内部,中频沟通放到合作团队之间,不相关的团队应该尽量不沟通

    有了这些扩展点之后,作者提到了自己解决问题的思路。

    • 人为重组团队边界,通过组织架构来影响系统架构
    • 最小化沟通成本,以降低每个人的认知负荷
    • 限制团队规模,以加强团队内部成员之间的信任度

    然后作者提出了模式(套路) —— “团队拓扑” 来支撑自己的方案,让方案看起来更 “普适”、更 “高大上”。
    四类基本团队拓扑:

    • 流动式团队
    • 赋能团队
    • 复杂子系统团队
    • 平台团队

    我重点看了一下 “平台团队” 相关的注意事项,感觉与作者还是有很多共鸣的。

    • 平台团队,是为了提供服务的,用户是开发者,所以目标应是为了所服务的目标团队更高效的工作。
    • 最小可用的平台,远比面面俱到的解决方案要更好
    • 做平台也要应用产品思维,应用软件产品管理,否则特性会爆炸,或在用户短期需求池中乱撞
    • 平台应以降低开发者用户的认知负荷为己任
    • 为了吸引用户,降低使用成本,平台团队更应该关注用户体验
    • 用户操作手册应该聚焦于具体问题的解决办法,而不是罗列平台的功能细节
    • 平台底下可能还依赖了其他平台,平台团队抹平这个细节,但是要告知用户全景图
    • 平台应按生产级别的系统来对待,可用性、故障响应、轮值表、问题反馈渠道,非常重要

    后面关于团队的 “交互模式” 部分就略读了。不同 “团队拓扑” 的团队,其交互模式默认也是不同的。

    **
    协作 服务 促进
    流动式团队 典型 典型 偶然
    赋能团队 偶然 典型
    复杂子系统团队 偶然 典型
    平台团队 偶然 典型

    整本书的结构,康威定律 以及 它的扩展点,这些思想很重要,但是作者提到的 “模式” 我却不全认同。
    作者也提到了,一个真实的团队,其实并不从属于其中任何一个模式,
    采用 “团队拓扑” 来介绍,只是让我们在设计团队时,有素材可以参考。


    所以综上所述,本书可以看做是 “康威定律” 的 “集大成者”。
    根据 “康威定律” 推导出了一系列 “团队设计模式”。

    但实际用起来如何,还真不好说,大家都知道降低 “沟通成本” “降低认知负荷”,提升 “价值交付速率”,
    本书更多的还是在论证这些想法是对的,可以像看 “网络爽文” 一样看。

    文风如下:“好的团队 怎么怎么样” “优秀的团队 怎么怎么样” ……
    但很多真实的团队,其实达不到这些 “好” “优秀” 团队的标准。
    有很多团队甚至还没到 “需要重组” 的层次,因为与其说是 “沟通过于频繁”,不如说是 “缺少沟通”。

    这也许是 国内国外 软件开发领域不同的状况导致的吧,我们还有很长的路要走。
    不过,软件开发逐渐成为了一种 “社会学” 现象,看起来已经板上钉钉了,作者就差说一下这句断言了。

    对康威定律不太熟的朋友,值得读一下前几章。
    后面几章我觉得略读一下就行了,毕竟只是作者的一家之言,挑有用的部分拿来就行了。