《程序员修炼之道》中的一段废稿
我在翻译《程序员修练之道》第二版时,一开始拿到的版本并不是现在出版的这个。所以在中途更换过一个版本,即最后英文版的最终版。前后两个版本都不是原始 markdown ,而是 pdf 格式的。试过几个 diff 软件都无法很好的比对,只好花了不少时间人肉校对了一遍。
虽然两个版本先后只差了几个月,但是增加,调整的段落非常之多,可见作者维护的非常频繁。我当时特别想一观他们的内部写作仓库。记忆比较深刻的是有一大段谈团队的文字被删掉了。不知道原因。但我觉得挺可惜的,这是我很喜欢的一个段落。为了忠于原著,我也从中译版里删除。
下面记录一下这段废稿:
项目团队
你是否注意到,一些项目团队非常高效,每个人都知道该做什么,并做出了充分的贡献;而其他一些团队的成员却总是争吵不休,似乎无法相互谦让?
通常这就是一个正交性问题。当团队组织重复到架屋迭床时,成员会对职责感到困惑。每修改一个东西都需要整个团队开会,因为修改会影响每个人。
如何将团队组织成职责明确、重叠最少的不同小组?没有简单的答案。这一定程度上取决于具体项目,以及你对可能发生变化区域的分析;同时还取决于你能调用的人手。我们的首选做法是,先将基础设施从应用程序中分离出来,让每个主要的基础设施组件(数据库、通信接口、中间件层等)都有自己的子团队,让应用程序中特别明显的不同功能都能简单地分开。然后再查看我们拥有(或计划拥有)的人员,并相应地调整分组。
有一个通俗的方法,可以用来评估项目团队结构的正交性——只需简单看看,在讨论每个修改时,有多少人需要参与进来。人数越多,组织的正交性越差。显然,一个正交的团队更有效率。(话虽如此,我们还是鼓励子团队间保持相互沟通。)
Comments
Posted by: bear | (12) December 6, 2020 02:05 PM
Posted by: Drimoon | (11) June 10, 2020 11:34 AM
Posted by: 付老师 | (10) May 21, 2020 03:16 PM
Posted by: Wu | (9) May 18, 2020 09:51 AM
Posted by: 永新昌 | (8) May 18, 2020 09:50 AM
Posted by: miyosan | (7) May 15, 2020 09:04 AM
Posted by: 跟风逐云 | (6) May 14, 2020 09:44 AM
Posted by: tidyoux | (5) May 11, 2020 04:31 PM
Posted by: 克劳德 | (4) May 9, 2020 02:23 PM
Posted by: 霓裳 | (3) May 9, 2020 09:26 AM
Posted by: felix | (2) May 8, 2020 05:08 PM
Posted by: 止水 | (1) May 8, 2020 02:07 PM