1975年的人月神话

1975年《人月神话》的观点:

第一章 焦油坑

1、编程系统产品开发的工作量是供个人使用的、独立开发的构建程序的9倍。我估计软件构件产品化引起了3倍工作量。将软件构件整合成完整系统所需要的设计、集成和测试又加强了3倍工作量,这些高成本的构件在根本上是相互独立的。

2、编程行业“满足我们内心深处的创造渴望和愉悦所有人的共有感情”提供了五种乐趣:

创建事物的快乐

开发对其他人有用的东西的乐趣

将可以活动、相互啮合的零部件组装成类似迷宫的东西,这个过程所体现出令人神魂颠倒的魅力。

面对不重复任务,不断学习的乐趣。

工作在如此易于驾驭的介质上的乐趣——纯粹的思维活动——其存在、移动和运转方式完全不同于实际物体。

3、这个行业的苦恼(6个)

追求完美

由他人来设定目标

真正的权威来自于每次任务的完成

任何创造性活动都伴随着枯燥和艰苦的劳动,编程也不例外

人们通常期望项目接近结束时会收敛快些,实际相反

产品在完成前都有面临陈旧过时的威胁

第二章 人月神话

1、缺乏合理的时间进度是造成项目滞后的最主要原因,它比其他所有因素的总和影响还大。

2、由于编程人员通过纯粹的思维活动来开发,我们期待在实现过程中不会碰到困难。但是,我们构思本身是有缺陷的,因此总会有bug。

3、人月是危险和带有欺骗性的神话,因为它暗示人员数量和时间是可以相互替换的。

4、在若干人员中分解任务会引发额外的沟通工作量——培训和相互沟通。

5、关于进度安排,我的经验是1/3计划、1/6编码、1/4构件测试和1/4系统测试。

6、作为一门学科,我们缺乏数据估计。

7、我们对自己的估计技术不确定,因此在管理和客户压力下,我们常常缺乏坚持的勇气。

8、Brooks法则:向进度落后的项目增加人手,只会使进度更加落后。(主要原因为3个,任务重新分配本身造成工作中断,培训新人员,额外的相互沟通)

第三章 外科手术队伍

1、优秀专业的程序猿生产率是较差程序猿的10倍

2、数据显示,经验和现实之间没有相互联系,我怀疑这种现象是否普遍成立

3、小型、精干的队伍是最好的——思绪尽可能的少,但对于真正的大型系统,小型精干队伍太慢了

4、绝大多数大型编程系统的经验显示,一拥而上的开发是高成本、速度缓慢、低效的,开发出的产品无法进行概念上的集成

5、一位首席程序猿,类似于外科手术队伍的团队架构,既能获得由少数头脑产生的产品完整性,又能得到多位协助人员的总体生产率,还彻底地减少了沟通的工作量。

第四章 贵族专制、民主政治和系统设计

1、概念完整性是系统设计中最重要的考虑因素。

2、功能与理解上的复杂程度的比值才是系统设计的最终测试标准,而不仅仅是丰富的功能。

3、为了获得概念完整性,设计必须由一个人或者一个具有共识的小型团队来完成。

4、对于非常大型的项目,将体系结构方面的工作与具体实现相分离是获得概念完整性的强有力方法。

5、纪律、规则对行业是有益的。外部体系结构规定实际上是增强,而不是限制实现小组的创造性。

6、概念上统一的系统能更快地开发和测试。

7、体系结构、设计实现、物理实现的许多工作可以并发进行。(软硬件设计都可以并行)

第五章

1、尽早交流和持续沟通能使结构师有较好的成本意识。使开发人员获得对设计的信心,并且不会混淆各自的责任分工。

2、结构师如何成功地影响实现

牢记是开发人员承担创造性的实现责任,结构师只能提出建议。

时刻准备着为所指定的说明建议一种实现的方法,准备接受任何其他可行的方法。

对上述建议保持低调和平静。

准备对所建议的改进放弃坚持。

听取开发人员在体系结构上改进的建议。

3、人们所设计的最危险的系统,通常是过分地进行设计。

4、为功能分配优先权值是一个很有价值的规范化方法。

第六章 贯彻执行

必须明确定义体系结构中与先前定义不同的地方,重新定义的详细程度应该与原先的说明一致。

出于精确性考虑,我们需要形式化地设计定义,同样,我们需要记叙定义来加深理解。

允许体系结构师对实现人员的询问做出电话应答解释是非常重要的,并且必须进行日志记录和整理发布。

项目经理最好的朋友就是他每天要面对的对手——独立的产品测试机构/小组。

第七章 为什么巴比伦塔会失败

缺乏组织和交流

需要尽早尽量仔细的设计工作手册结构

每个团队成员应该了解所有的材料(看到网页)

实时更新是至关重要的

组织结构应该是网状,而不是树型结构。

第八章 胸有成竹

构建独立的小型程序的数据不适用于编程系统项目

当使用适当的高级语言编程时,程序编制生产率可以提高5倍。

第九章 削足适履

除了运行时间外,程序所占据的内存空间也是主要开销。规模本身不是件坏事,但不必要的规模是不可取的。

软件开发人员必须设立规模目标,控制规模,发明一些减少规模的方法。

对于每个关键的文档的维护提供了状态监督和预警机制

对于每个文档本身就可以作为检查列表或者数据库

第11章 未雨绸缪

开发人员交付的是用户满意程度,而不仅仅是实际的产品。

用户的实际需要和感觉会随着程序的构建、测试和使用而不断变化。

对于一个广泛使用的程序,其维护总成本通常是开发成本的40%或者更多。

缺陷修复总会以20%-50%的几率引入新bug

第12章干将莫邪

第13章整体部分

今天软件工程的一些特殊问题

1.如何把一系列程序设计构建成系统。

2.如何把程序或者系统设计构建成健壮的、经过测试的、文档化的、可支持的产品。

3.如何维持对大量的复杂性的控制。

//本书最亮的地方,在于通过过去看现在,看历史演进,看谁主沉浮。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 198,932评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,554评论 2 375
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 145,894评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,442评论 1 268
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,347评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,899评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,325评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,980评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,196评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,163评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,085评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,826评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,389评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,501评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,753评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,171评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,616评论 2 339

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,226评论 25 707
  • 关于班里的教学设计和教学方案,从一开始办班到现在,我实际上经历了多次变化。可以说,班级走到今天这个状态,是我...
    田中玉10495阅读 483评论 0 0
  • GCD的基本使用 一、主队列介绍 主队列:是和主线程相关联的队列,主队列是GCD自带的一种特殊的串行队列,放在主队...
    GitHubPorter阅读 628评论 3 4