书写是人类发明的最伟大的技术。
如果没有记载,人类文明如何繁衍,历史如何传承?
对于软件开发来说,缺乏记录和文档也会对软件项目产生严重影响。 记录和文档在软件开发中至少发挥以下作用:
1. 回溯
记录的一个重要作用是帮助人们记住。
开发人员与用户讨论需求后,记录正确的需求。 那么,当软件后期被接受时,我们就不必仅仅依靠不可靠的记忆来判断软件是否满足用户的需求。 简单记录下确认过程。
当项目结束时,我们需要统计完成整个项目所花费的工作量。 当我们想要衡量项目生产力时,我们不需要依靠自己的大脑来回忆。 我们只需要把阶段报告和里程碑报告中的工作量数据统计出来就可以了。
如果没有记录开发文档软件,这些内容只会依靠大脑的记忆,会产生很大的偏差,数据就会失去意义,工作也会受到影响。
2. 重复利用
前人的成就被记录下来,后人可以在这些成就的基础上迈出更大的步伐。
“站在巨人的肩膀上”,这句话也是对唱片作用的巨大肯定。
软件重用是最好的软件工程实践之一。 重复使用的前提是保留相关记录。
重用在软件开发过程中随处可见。 历史数据可用于项目估算,优秀的文档示例可用于文档编写,良好的文档化实践可用于调度任务,代码重用或组件重用可用于代码编写,测试用例可重用于测试设计...
如果没有这些记录,软件重用从哪里开始呢? 如果没有复用,软件开发的效率将会极低!
3. 沟通
沟通不畅可能是团队成功的最大障碍。 沟通也离不开记录和文档。 不仅沟通的结果需要记录,沟通的内容也需要记录。
沟通时,如果仅依靠双方的口头描述,而不展示文字、图表或实物,可能会出现双方以为自己在谈论同一件事,但实际上却是猴子的情况。吃东西一波三折——这很尴尬。
4. 焦点
软件开发是一项非常复杂的思维活动。 当你想要编码、实现的时候,你要记住需求、设计、编码标准……如果你脑子里总是回想起这些细节,而你又要写出好的代码,你的大脑就很难了能够长时间承担这样的满负荷运转。
有了记录,您就可以放心地把这些需求、设计和规范的细节放在一边,专注于功能实现。 在进行代码审查时,您只需获取这些记录并对照它们进行检查即可。
有了记录,你可以减轻记忆的负担。
因此,软件开发离不开文档。 软件越复杂开发文档软件,就越离不开文档。 而且,软件项目越复杂,对文档的质量要求就越高。 只有文档更加准确,才不会给紧张的开发工作增加障碍。
即使在敏捷开发中,也只是说“可用的软件比完整的文档更重要”,并不意味着不需要文档。
这正是:
不要以为文档太麻烦,没有记录就很难
回顾性沟通是不可能的,软件重用也是不可能的。
参考文献:《程序之美》系列:团队和项目管理之美,Andrew Stellman、Jennifer Greene、Scott Berkun,机械工业出版社
作者简介:王小双长期从事GJB5000的推广、实施、评估和改进工作。 创建“软件工程思考”微信公众号,一直在“软件工程思考”中分享GJB5000、CMMI和软件工程的知识和见解。 现致力于GJB5000软件过程改进和软件工程能力提升的咨询和研究工作。