日常工作中,尤其在做项目时,会有各种各样的文档,比如SOW工作说明书、SRS需求分析、HLD概要设计、系统测试报告、项目总结等等。
为什么需要写这么多文档呢? 写这些东西有什么用呢?
刚开始工作那段时间,我真的不理解,也不明白,感觉纯粹是在浪费时间。
现在,我有些明白了,整理了一下,与大家分享。
(一)存在合理性
任何事物的存在必然有其合理性。
公司是希望降低人力成本的。既然公司要求那么多文档,“浪费”我们那么多时间,相信必然有其合理性(当然其中也可能存在不足)。先说一下其存在合理性。首先,应该认识到当前这种工作流量、工作文档、文档模板等的合理性。若尚未找到这种存在合理性,那么当前认识是可能不全面的、不深刻的。
(二)软件项目管理的需要
软件项目管理,尤其是产品级的管理。怎么管理,这是一个比较大,也是比较难的问题。如何把握项目进度、项目质量?如何保证与需求一致?如何管理项目风险?这些若不能得到有效解决或控制,那项目就会变得不可控。
文档,项目管理阶段的各种文档,是项目质量、项目进度的一种体现,使得项目这个抽象的事物变得具体化,变得可管理、可衡量。
(三)文档的存在价值1---发现新问题
在写项目概要设计HLD等文档时,可能会遇到很多新问题,而这些问题往往是在预研、需求分析SRS、概要设计调研准备的时候没有发现的。为什么?文档,是给别人看的,需要准确表达自己的思路或方案。这个写文档的过程,也就是重新梳理思路的过程。在这个过程中,会想得更全面,也就会发现一些新问题。
(四)文档的存在价值2---评审的需要
项目中,需要对SRS需求分析、HLD概要设计等做评审,也就是需要其他相关同事看一下项目相关文档,指出其中存在的缺陷与不足。在文档评审阶段,往往是会发现很多问题的,哪怕的公司大牛的大作。
一个人的能力毕竟是有限的,知识、经验也是有限的。但参与评审的人员多了,思路就开阔,见仁见智,发现一些新问题。把项目风险控制在项目初期,提高项目质量。
(五)文档的存在价值2---系统维护的需要
项目代码不是一次性筷子,只用一次,可能一直用下去,用几年,几十年,或许时间会更长。那么后续的这部分功能代码肯定会有不同的人员来维护。只有有了比较详细、比较全面的设计文档,才能更好、更快的了解系统功能、设计方案。
本文仅仅与大家分享一下心得,见仁见智、、、