《人月神话》——读后感5

发布时间 2023-04-27 12:58:01作者: sodamate

过去是怎么做的:

  对于某个项目的功能规格制定或说明,我总是喜欢在项目一开始就规定好大体框架。然后在具体的功能实现中,如果发现了有其他功能缺失,会再添加进来。

为什么这样不好:

  我觉得我这样没什么问题。但是我的项目开发经验确实还不足。

解决办法:

  多认真完成老师要求的项目任务。有余力自己可以开展某些项目的工作任务。

具体读后感:

画蛇添足:

如果将制订功能规格说明的责任从开发快速、成本低廉的产品的责任中分离出来,那么有什么样的准则和机制来约束结构师的创造性热情呢?

结构师的交互准则和机制:

结构师必须牢记:

  • 开发人员承担创造性和发明性的实现责任,所以结构师只能建议,而不能支配;
  • 时刻准备着为所指定的说明建议一种实现的方法,同样准备接受其他任何能达到目标的方法;
  • 对上述的建议保持低调和平静;
  • 准备放弃坚持所作的改进建议;

一般开发人员会反对体系结构上的修改建议。通常他是对的——当正在实现产品时,某些特性的修改会造成意料不到的成本开销。

自律——开发第二个系统所带来的后果:

开发第二个系统所引起的后果(second-system effect)与纯粹的功能修饰和增强明显不同,也就是说存在对某些技术进行细化、精炼的趋势。由于基本系统设想发生了变化,这些技术已经显得落后。

结构师如何避免画蛇添足——开发第二个系统所引起的后果(second-system effect)?是的,他无法跳过二次系统。但他可以有意识关注那些系统的特殊危险,运用特别的自我约束准则,来避免那些功能上的修饰;根据系统基本理念及目的变更,舍弃一些功能。

一个可以开阔结构师眼界的准则是为每个小功能分配一个值:每次改进,功能 x 不超过 m 字节的内存和 n 微秒。这些值会在一开始作为决策的向导,在物理实现期间充当指南和对所有人的警示。

项目经理如何避免画蛇添足(second-system effect)?他必须坚持至少拥有两个系统以上开发经验结构师的决定。同时,保持对特殊诱惑的警觉,他可以不断提出正确的问题,确保原则上的概念和目标在详细设计中得到完整的体现。