第七章 为什么巴比伦塔会失败
1. 项目人员之间的交流和沟通是项目能否顺利和成功的一个重要因素。
2. 缺乏交流引起进度灾难、功能的不合理和系统缺陷纷纷出现。随着工作的
进行,许多小组慢慢地修改自己程序的功能、规模和速度,他们明确或者隐含
地更改了一些有效输入和输出结果用法上的约定。
团队如何进行相互之间的交流沟通:
清晰定义小组内部的相互关系和充分利用电话,能鼓励大量的电话沟通,从而
达到对所书写文档的共同理解。
常规项目会议。会议中,团队一个接一个地进行简要的技术陈述。这种方式非
常有用,能澄清成百上千的细小误解。
在项目的开始阶段,应该准备正式的项目工作手册。
3. 项目工作手册不是独立的一篇文档,它是对项目必须产出的一系列文档进
行组织的一种结构。
项目所有的文档都必须是该结构的一部分。这包括目的、外部规格说明、接口
说明、技术标准、内部说明和管理备忘录。
4. 使用项目工作手册的原因:
技术说明几乎是必不可少的。如果某人就硬件和软件的某部分,去查看一系列
相关的用户手册。他发现的不仅仅是思路,而且还有能追溯到最早备忘录的许
多文字和章节,这些备忘录对产品提出建议或者解释设计。
正确的文档结构非常重要。事先将项目工作手册设计好,能保证文档的结构本
身是规范的。另外,有了文档结构,后来书写的文字就可以放置在合适的章节
中。
控制信息发布,确保信息能到达所有需要它的人的手中。
5. 团队组织的目的是减少不必要的交流和合作的数量。减少交流的方法是人
力划分和限定职责范围。当使用人力划分和职责限定时,树状管理结构所映出
对详细交流的需要会相应减少。
第八章 胸有成竹
1. 问题:系统编程需要花费多长时间?需要多少工作量?如何进行估计?
2. 工作量是规模的幂函数。
Portman的数据:工作花费的时间大约是估计的两倍。
Aron、Harr、OS/360的数据:生产率会根据任务本身的复杂度和困难程度表现出
显著差异。
Carbato的数据:对常用的编程语句而言。生产率似乎是固定的。这个固定的生产
率包括了编程中需要注释,并可能存在错误的情况。使用适当的高级语言,编程的
生产率可以提高5倍。