这两周我继续看了人月神话这本书,虽然没有开发大型项目的经验,但其中许多内容对目前的课程理解及将来的工作都十分有用。
第7章
巴别塔为何失败如果缺乏良好有效的沟通和协作,成员间难以有效的配合,团队项目的目标就无法实现。清晰的工作文档,明确的组织结构,合理的职责分配,都是大型软件项目最终成功的保证,一个大的项目并不是能靠一个人完成的,只有良好的团队配合,才是能够成功的关键。虽然我们现在的团队只有三个人,但如果不沟通好,也会使得我们的工作无法进行。
第8章
胸有成竹系统编程需要花费多长的时间?需要多少的工作量?如何进行估计?软件项目估计一直是困扰编程人员的一大问题。软件项目过程存在不可预测的方面。作者在本章列举了许多数据计算方法及其优缺点。
第9章
削足适履程序所占据的空间也是主要开销。由于规模是软件系统产品用户成本中如此大的一个组成部分,开发人员必须设置规模的目标,控制规模,考虑减小规模的方法,就像硬件开发人员会设立元器件数量目标,控制元器件的数量,想出一些减少零件的方法。同任何开销一样,规模本身不是坏事,但不必要的规模是不可取的。数据的表现形式是编程的根本。
第10章
提纲挈领本章讲了拥有正式的文档的必要性。首先,书面记录决策是必要的。只有记录下来,分歧才会明朗,矛盾才会突出。
第二,文档能够作为同其他
人的沟通渠道。最后,项目经理的文档可以作为数据基础和检查列表。通过周期性的回顾,他能清楚项目所处的状态,以及哪些需要重点进行更改和调整。
第11章
未雨绸缪管理上的问题不再是“是否构建一个试验性的系统,然后抛弃它?”你必须这样做。现在的问题是“是否预先计划抛弃原型的开发,或者是否将该原型发布给用户?”从这个角度看待问题,答案更加清晰。将原型发布给用户可以获得时间,但是它的代价高昂——对于用户,使用极度痛苦;对于重新开 发的人员,分散了精力;对于产品,影响了声誉,即使最好的再设计也难以挽回名声。因此,为舍弃而计划,无论如何,你一定要这样做。
第12章干将莫邪就工具而言,即使是现在,很多软件项目仍然像一家五金店。每个骨干人员都仔细地保管自己工作生涯中搜集的一套工具集,这些工具成为个人技能的直观证明。正是如此,每个编程人员也保留着编辑器、排序、内存信息转储、磁盘实用程序等工具。
这种方法对软件项目来说是愚蠢的。人月神话这本书,对于我来说有些难懂,不管是从语言还是内容,但它作为一本经典,一定有它的可取之处,所以我会坚持把它读下去。