人月神话阅读笔记(三)
看完整本书我看到作者一直再强调文档的重要性
他曾经很勤奋的向软件工程师们讲述文档的必要性以及优秀文档所具有的特点方面的讲座
但是效果都非常的的不好,他们知道如何来写出优秀的文档,但是他们缺乏热情
所以作者采用向马车搬收银机的方法向他们展示如何来完成这项工作
结果显示这种方法的效果还是挺好的。那我们在开发的过程中需要什么样的文档呢?
不同用户需要不同级别的文档
某些用户仅仅偶尔使用程序, 有些用户必须依赖程序,还有一些用户必须根据环境和目的的变动对程序进行修改使用程序
每个用户都需要一段对程序进行描述的文字
可是大多数文档只提供了很少的总结性内容,无法达到用户要求,验证程序
除了程序的使用方法, 还必须附带一些程序正确运行的证明, 即测试用例
修改程序。 调整程序或者修复程序需要更多的信息
显然,这要求了解全部的细节,并且这些细节已经记录在注释良好的列表中
和一般用户一样, 修改者迫切需要一份清晰明了的概述
另外一个让我印象深刻的观点是:要保证一个项目的进度被大幅度推迟,制定进度表很重要
进度表由里程碑和完成时间组成
里程碑必须具体,明确,可界定
某一里程碑要么到达,要么没有到达,不应该是80%到达的
而我的经验是,制定进度表非常重要,而且要求制定者有很强的技术背景,这样才能对碰到的问题和可能花掉的时间做出更准确的估计