如果没有记录,人类的文明如何繁衍,历史如何传承?
对于软件开发来说,缺少记录和软件开发文档,也会对软件项目产生严重的影响。记录和软件开发文档,在软件开发中至少会发挥以下的作用:
1. 回溯
记录一个很大的作用就是帮助人们记忆。
当开发人员与用户讨论完需求之后,把正确的需求记录下来,那么,当后面软件验收的时候,我们不用仅凭不可靠的记忆去判断软件是否实现了用户的需求,只要拿出当时经双方确认过程的记录就好。
当项目结束时,我们要统计下完成整个项目花费的工作量,要测算下项目生产率的时候,不需要靠自己的大脑来回忆,只要拿出阶段、里程碑报告中统计的工作量数据就好。
如果没有记录,这些内容仅靠大脑的记忆,会产生很大的偏差,数据会失去意义,工作会受到影响。
2. 复用
前人的成果被记录下来,后人可以在这些成果之上迈出更大的步伐。
“站在巨人的肩膀上”,这句话也是对记录作用的巨大肯定。
软件复用是软件最佳工程实践,没有之一。而复用的前提就是要保留下相关的记录。
软件开发过程中的复用比比皆是。项目估计可以利用历史数据,编写文档可以利用优秀的文档示例,安排任务可以采用记录的优秀实践,编写代码可以代码复用或构件复用,测试设计可以复用测试用例……
如果没有这些记录,软件复用从何说起;如果没有复用,软件开发的效率将会何其低下!
3. 沟通
沟通不畅可能是团队成功的最大障碍。沟通也同样离不开记录和文档。不仅沟通的结果需要记录,沟通的内容也需要有文档来展示。
沟通的时候,如果仅靠双方口头描述,没有文字、图表、实物的展示,有可能会出现鸡同鸭讲的场面,双方以为说的是一个东西,实际上是猴吃麻花——蛮拧。
4. 专注
软件开发是一个很复杂的思维活动。当你要编码实现的时候,你要记着需求、记着设计、记着编码规范……如果你时刻在大脑中要回想这些细节的东西,你又要写出好的代码,你的大脑很难承担长期这样的满负荷运转的工作。
而有了记录,你可以放心地把这些需求、设计、规范的细节扔在一边,专心投入到功能实现上面。当进行代码审查时,你在拿过这些记录对照着检查就可以了。
有了记录,可以减轻你的记忆负担。
所以,软件开发离不开文档,软件越复杂越离不开文档,而且越复杂的软件项目,对文档的质量要求越高。只有文档记录的越准确,才不会给紧张的开发工作增加障碍。
即使敏捷开发,也只是说“可用的软件重于完备的文档”,并不是说不需要文档。
这正是:
莫嫌文档太麻烦,没有记录才是难
回溯沟通离不了,软件复用无从谈