« 游戏引擎中预制件的设计 | 返回首页 | 记一次生不如死的经历 »

《程序员修炼之道》中的一段废稿

我在翻译《程序员修练之道》第二版时,一开始拿到的版本并不是现在出版的这个。所以在中途更换过一个版本,即最后英文版的最终版。前后两个版本都不是原始 markdown ,而是 pdf 格式的。试过几个 diff 软件都无法很好的比对,只好花了不少时间人肉校对了一遍。

虽然两个版本先后只差了几个月,但是增加,调整的段落非常之多,可见作者维护的非常频繁。我当时特别想一观他们的内部写作仓库。记忆比较深刻的是有一大段谈团队的文字被删掉了。不知道原因。但我觉得挺可惜的,这是我很喜欢的一个段落。为了忠于原著,我也从中译版里删除。

下面记录一下这段废稿:

项目团队

你是否注意到,一些项目团队非常高效,每个人都知道该做什么,并做出了充分的贡献;而其他一些团队的成员却总是争吵不休,似乎无法相互谦让?

通常这就是一个正交性问题。当团队组织重复到架屋迭床时,成员会对职责感到困惑。每修改一个东西都需要整个团队开会,因为修改会影响每个人。

如何将团队组织成职责明确、重叠最少的不同小组?没有简单的答案。这一定程度上取决于具体项目,以及你对可能发生变化区域的分析;同时还取决于你能调用的人手。我们的首选做法是,先将基础设施从应用程序中分离出来,让每个主要的基础设施组件(数据库、通信接口、中间件层等)都有自己的子团队,让应用程序中特别明显的不同功能都能简单地分开。然后再查看我们拥有(或计划拥有)的人员,并相应地调整分组。

有一个通俗的方法,可以用来评估项目团队结构的正交性——只需简单看看,在讨论每个修改时,有多少人需要参与进来。人数越多,组织的正交性越差。显然,一个正交的团队更有效率。(话虽如此,我们还是鼓励子团队间保持相互沟通。)

Comments

云风大佬译的书已买~对云风大佬认真的态度大赞~

这可能是巨大的话题,需要很多讨论。

做好企业的螺丝钉

高内聚低耦合,正交之上是统一体。
3,6,9。

风哥是我一直学习的榜样,一生只为一件事,一心职位搞编程。

提高多个小组的效率很重要的一点是提高局部性(Locality),而正交有利于局部性。

@霓裳,聪明人往往也比较有目标,知道自己要做什么,笨的人连做什么都不知道,只知道无所事事的浪费时间,偶然觉得这样虚度光阴不好,想努力一把,但又不知道做什么。

风哥哥,真是最可气的是,比你聪明的人还比你努力。

目前所处的团队正好是另一个极端,系统和业务非常复杂,很强调context,需要involve很多人,需要很多沟通

弱弱的问下,在亚马逊的电子版什么时候上线

Post a comment

非这个主题相关的留言请到:留言本