The Surgical Team 读书笔记

来源:互联网 发布:骚扰电话黑名单数据库 编辑:程序博客网 时间:2024/06/02 03:06


These studies revealed large individual differences between high and low performers, often by an order of magnitude.

(这些研究表明,高效者和低效者之间具体差别非常大,经常达到了数量级的水平)

At computer society meetings one continually hears young programming managers assert that they favor a small, sharp team of first-class people, rather than a project with hundreds of programmers, and those by implication mediocre.

(在计算机领域的会议中,常常听到年轻的软件经理声称他们喜欢由头等人才组成的小型、精干的队伍,而不是那些几百人的大型团队,这里的“人”当然暗指那些平庸的程序员)

But this naive statement of the alternatives avoids the hard problem—how does one build large systems on a meaningful schedule?

(但是这种幼稚的观点回避了一个很困难的问题 -- 如何在有意义的时间里构建一个大型的系统)


The Problem 

(问题  --  productivity variations、astounded、 productivity 10:1、speed and space 5:1、conceptually integrated--概念集成、brute-force-- 一拥而上、人少的团队不一定好、耗时太长)


But the actual measured magnitudes have astounded all of us.

(但是实际测量还是令我们吃惊)

The data showed no correlation whatsoever between experience and performance.

(数据显示经验和实际的表现没有相互联系)

I have earlier argued that the sheer number of minds to be coordinated affects the cost of the effort, for a major part of the cost is communication and correcting the ill effects of miscommunication (system debugging).

(我常常重复这样的观念:需要协作沟通的人员的数量影响着开发成本,因为成本的主要组成部分是相互的沟通和交流,以及更正沟通不当引起的不良结果(系统调试))

This, too, suggests that one wants the system to be built by as few minds as possible.

(这一点,也暗示系统应该由尽可能少的开发人员来开发)

fire the 175 troops and put the managers back to programming.

(开除剩下的175名程序员,让项目经理来开发)

On the one hand, it fails to approach the ideal of the small sharp team, which by common consensus shouldn't exceed 10 people.

(一方面,原有的开发开发队伍不是理想的小型强有力的团队,因为通常的共识是不超过10个人)

This then is the problem with the small, sharp team concept:it is too slow for really big systems.

(接着小型、精干团队观念的问题就来了:对于真正大型系统来说速度上太慢了)

Or will it have been made obsolete by the rapidly developing software technology?

(或者它是否会随着软件开发技术的快速进步,而显得过时呢)

The dilemma is a cruel one.

(这种进退两难的境地是非常残酷的)

For efficiency and conceptual integrity, one prefers a few good minds doing design and construction 

(对于效率和概念的完整性来说,最好由少数干练的人员来设计和开发)

How can these two needs be reconciled?

(如何调和这两方面的矛盾呢?)


Mills's Proposal(Mills 的建议   --  fresh and creative solution、segment of a large job、cutting away、one does cutting、surgeon、)

but that the team be organized like a surgical team rather than a hog-butchering team.

(但是该队伍以类似外科手术的方式组建,而并非一拥而上)

That is, instead of each member cutting away on the problem, one does the cutting and the others give him every support that will enhance his effectiveness and productivity.

(也就是说,同每个成员截取问题某个部分的做法相反,由一个人来进行问题的分解,其他人给与他所需要的支持,以提高效率和生产力)

Let me freely mix metaphors to suggest how such a team might work if enlarged to include all conceivable support.

(让我们继续使用医生的比喻:如果考虑所有可能想到的工作,这样的队伍应该如何运作)

The surgeon.  (chiefprogrammer  --  great talent、ten years experience、considerable system、application knowledge、applied mathematics、business data handling)

(外科医生 :首席程序员  --  首席程序员需要极高的天分、十年的经验和应用数学、业务数据处理或其他方面的大量系统和应用知识)

The copilot. (副手  --  insurance)

His main function is to share in the design as a thinkerrdiscussant, and evaluator.

(他主要的作用是针对设计进行思考、讨论和评估)

He knows all the code intimately. He researches alternative design strategies。

(他需要详细了解所有的代码、研究设计策略的备选方案。)

He obviously serves as insurance against disaster to the surgeon.

(显然他充当外科医生的保险机制)

The administrator.(管理员  --  可同时服务两个团队)

The surgeon is boss, and he must have the last word on personnel, raises, space, and so on, but he must spend almost none of his time on these matters.

(外科医生是老板,他必须在人员、加薪等方面具有决定权,但他决不能在这些事务上浪费任何时间)

The editor. (编辑  --  document)

 However, takes the draft or dictated manuscript produced by the surgeon and criticizes it, reworks it, provides it with references and bibliography, nurses it through several versions, and oversees the mechanics of production.

(而编辑,根据外科医生的草稿或口述的草稿,进行分析和重新组织,提供各种参考信息和书目,对多个版本进行维护以及监督文档生成的机制)

Two secretaries. (两个秘书  --  correspondence)

The program clerk.(版本管理人员  --  technical record)

Absolutely vital to Mills's concept is the transformation of programming "from private art to public practice" 

(Mill‘s观念的真正关键是“从个人艺术到公共实践”的编程观念转换”。)

by making all the computer runs visible to all team members and identifying all programs and data as team property, not private property.

(它向所有的团队成员展现了所有计算机的运作和产物,并将所有程序和数据看做是团队的产物,而非是个人财产)

The specialized function of the program clerk relieves programmers of clerical chores, systematizes and ensures proper performance of those oft-neglected chores, and enhances the team's most valuable asset—its work-product.

(程序职员的专业分工,使程序员从书记的杂事中解放出来,同时还可以对那些杂事进行系统整理,确保了它们的质量,并强化了团队最有价值的财富  --  工作产品)

The toolsmith.(工具维护人员  --  网管)

The tester.(测试人员  --  QA)

The language lawyer.(语言专家  --  钻研新技术达人)

By the time Algol came along, people began to recognize that most computer installations have one or two people who delight in mastery of the intricacies of a programming language.

(随着Algol语言的出现,人们认识到大多数计算机项目中,总有一两个掌握复杂编程语言的人)

The talent here is rather different from that of the surgeon, who is primarily a system designer and who thinks representations.

(这些天才不同于外科医生,外科医生主要是系统设计者以及考虑系统的整体表现)

Often he will need to do small studies (two or three days) on good technique.

(他通常需要对技术进行一些研究(两到三天))

One language lawyer can service two or three surgeons.

(一个语言专家一般能够服务两到三个外科医生)


summary:

一个小型团队人员结构:chiefprogrammer、副手、管理员、编辑、两个秘书、版本管理人员、网管、测试人员、钻研新技术达人











0 0
原创粉丝点击