项目的基本组成
先了解一下软件项目中所涉及到的一些重要角色和关键词,分别是 项目,项目经理,需求,用户,开发人员,测试人员和产品人员。
项目: 代表软件研发的项目,包括了从前期项目预研,立项,组建项目团队,设计开发软件,测试调试,交付验收,以及软件运营等各项具体的工作。
项目经理:软件项目的总负责人。项目经理既需要广泛的计算机知识,又需要项目管理技能,能够对项目的成本,人力,进度,质量,风向,安全等进行准确的分析和管理。从而使项目按照计划顺利完成。
需求: 用户需求,有了需求,才有项目,开发人员根据需求开发对应的产品。
用户:这里一般指的是提出需求的用户,同时软件验收的主要人员。
开发人员: 软件项目组中负责研发的技术人员。
测试人员:软件项目组中负责测试的人员。
产品人员:负责产品的设计,需求分析整理等工作。
评审需求文档
1、需求文档是一个文字描述性的文档,开发和测试在阅读的时候可能会有不同的理解,所以需要 产品,测试,开发三方人员进行评审。
2、评审的方式一般是:
产品经理对着需求文档的内容一一讲解,然后解释其中的意思。
测试,开发针对一些自己理解不一致的需求进行提问,提出自己的开发和建议。
产品人员最终决定。
最后形成一个标准的,统一的需求文档
如何评审需求文档
正确性: 对照原始的需求,检查产品人员制定的文档是否偏离了原始的用户需求。
明确性:检查需求文档中是否包含一些含糊其辞的词汇,比如 过多 , 过少 , 适量 , 是否 。检查用语是否清晰,无歧义。
完整性:对照原始的需求文档,检查产品人员制定的需求文档是否完全覆盖用户所有的需求点。
限制性:每个需求中是否清晰描述了这个软件能做什么,不能做什么,什么能输入,什么不能输入。
优先级:需求文档中哪些文档比较重要,哪些不重要,要有优先级。
一致性: 检查需求文档中的内容是否前后一致,确保不冲突,不矛盾。
常见问题
1、测试工作是从什么时候开始的?
参考回答: 我之前工作的单位,在做测试工作的时候,我们一般在拿到需求文档的时候就开始了。
2、需求评审的目的是什么?
参考回答: 我觉得需求评审的目的主要是歧义,完善细节,最后达成共识,如果不进行评审,就意味着开发人员和测试人员可能会对需求文档的理解存在偏差,最终可能导致产品的质量不符合需求文档要求。
3、你是如何评审需求文档的?
参考回答: 我们公司之前评审需求的时候, 主要是从6个方面进行的... (参考上文)。
基本上,我们会从这6方面来进行评审,当然每个公司的评审机制可能会有一些差异,但是主要目的就是把需求文档的细节理解清楚,达成共识,谢谢。