对产品文档重要性的一些看法

张志军 11个月前 (04-03) 185次浏览 0个评论

当前软件开发敏捷大行其道,在敏捷的大背景下,需求文档,设计文档等是否还有必要?有产品代码是否可以承载所有?我从事过研发,市场,售前等岗位,目前做产品运营,结合我自身的一些经验,和大家分享一下,需求文档,设计方案,测试文档是否在当前的软件开发背景下是否还有必要保留。

去年换了工作,现在在新公司做平台运营的工作。最近参加公司产品工作量的评审工作,发现产品文档(需求文档,设计方案,测试用例)五花八门,文档模板,文档内容,写作方式,内容格式可以说各产品各具特色是自。此外,测试没有测试方案和测试策略文档,测试用例缺少明确的输入输出,测试报告没有测试完备性的说明等等。

一句话,就是产品文档处于聊胜于无的状态。

我个人本身是研发出身,基于以前工作经验的积累,此次的评审结果和当前产品质量(新公司做过一次产品质量回溯),我谈谈我对产品文档的一些看法。

一、需求文档的价值

需求文档承载几个方面的内容:
1、原始需求:需求文档中需要描述客户原始需求(OR)。原始需求可以是客户主动提出的,也可以是产品管理规划的,也可以是现网问题触发的。原始需求只是从基于客户语言将业务场景和要求描述清楚,作为需求分析的输入。

2、需求分解:基于原始需求,结合当前产品对需求进行分解。如将一个需求再细分为不同的场景,同时也可能因为其它原因,需要适当的对需求进行调整,或直接将一个特殊需求转换为一个通用需求。此处的需求分解需要遍历所有原始需求的场景,做到需求分解不遗漏。(此处不讨论需求是否接纳的问题,只关注需求分析是否全面和完整)

3、需求分发:需求分发是将需求分解分析出的所有需求场景,按照产品的功能模块或其他划分方式,将场景进行一些拆解,能够落地到产品。特别是产品规格之类的,需要再需求中进行细化。(说明这个地方的需求分发一般都是基于产品特性的维度进行细分,如果产品还有设计方案,则此处的描述可以从简。)
需求文档到细化到场景级别是否足够?有必要进一步细化吗?

这个问题按照实际情况来分析。如果支撑开发的只有需求文档,则需求文档要细化到能够支撑开发进行产品的实现,例如细化到某个表的设计,或者某个字段的设计,达到基于需求文档就能进行产品开发的层次(开发工程师不需要再考虑产品的实现方式)。如果有单独的技术方案,则需求文档实现部分的描述可以相对从简,产品开发重点参考技术方案进行开发。

回归到开始,需求文档的价值是什么呢?

从上面的描述我们已经可以看到,需求主要的一点是支撑产品开发。除了这点之外,需求文档还是产品测试策略,产品测试方案的输入。需求评审和讲解,都是需要测试工程师参与的,通过需求场景的讲解和评审,测试可以全面了解需求,然后基于需求进行测试设计,避免被开发影响。

二、技术方案的价值

在介绍需求文档的时候我们已经介绍过技术方案文档了。在一些产品设计的时候,技术方案文档有时候和产品需求文档是合二为一的,在做需求分解的时候,产品SE就已经结合业务场景和产品能力对实现方案进行了设计。因此技术方案文档按照实际情况决定是否保留。

三、测试策略的价值

测试策略是指导测试活动开展的重要依据。测试策略一般由测试经理开发,测试策略一般会涵盖版本转测试计划,版本功能测试计划,版本功能回归计划/范围,DFx测试计划,测试方法等。测试策略制定是否合理,在一定程度上决定了测试工作量的多少。因此测试策略制定前,测试经理一般都会和版本SE,开发人员等反复沟通测试影响范围,参与代码走读等,确保测试计划方面无遗漏。

四、测试方案的价值

测试方案重点是针对新功能进行测试的设计。测试方案的输出相对简单,只是基于业务需求,技术方案再结合测试工程方法,进行测试用例的设计。此处工程方法和测试工具的选择是否合理,在一定程度上也会影响测试效率及测试质量,测试完备性。
此外,优秀的测试工程师,可以结合测试工程方法,测试出该功能设计是否正确。

五、测试用例的价值

测试用例和测试方案就相当于测试的代码库。测试用例基于测试方案生成,因此测试用例质量的高低,在一定程度上取决于测试方案的质量。当然要排除人为的因素了。(此处需要重点说明,测试用例应该要有统一的格式和标识,能够进行用例的调度,选择等)

六、测试报告的价值

测试报告是支撑版本管理团队决策版本是否可以GA的重要依据。测试报告应该对测试策略,测试执行结果,及结果分析,代码覆盖率等进行阐述,证明测试测试是完备的,满足版本要求。因此,测试报告中至少应该包括以下内容,才能说明版本质量是满足版本要求的,如果以下内容缺少的话,那么版本测试完备性可能要被质疑。

1、通过测试策略的阐述,说明版本测试活动是完备的;

2、测试结果及测试测试分析,代码覆盖率的阐述,说明版本质量满足商用要求,可以商用;

3、版本DI分析;

4、实验局测试结果;

5、测试分析包含功能性和非功能性(性能,可靠性,升级等)

七、总结

尽管当前在敏捷开发中大家都在提减少文档,但是我认为在项目运作不成熟,或者团队能力还需要大幅提升的阶段,文档还是必不可少的。特别是需求文档,如果没有技术方案的话,需要文档应该要详细说明实现方案,能够知道开发和测试进行相关的开发活动和测试活动。此外,测试是产品质量的守护者,测试既要对内验证产品能力,还要站在客户角度验收产品,因此测试方案及测试用例的质量,直接关系到产品最终质量是否合格。因此不论需求文档,还是测试文档,再团队技能,运作熟练度没有达到一定要求的话,还是要作为重要交付件产出。

0 0 投票数
文章评分

版权申明:

本博客所有文章除特别声明外均采用BY-NC-SA 4.0许可协议。依据BY-NC-SA 4.0许可协议,转载请附上原文出处链接及本声明。

原文链接:https://ilearning.org.cn/program/dui-chanpingwendang-zhongyaoxing-de-kanfa.html

客官,说点什么吧!

订阅评论
提醒
guest

0 评论
内联反馈
查看所有评论
关于本站
立学网是一个分享个人学习总结的知识网站,内容覆盖编程技术讨论,金融经济,历史哲学,读书笔记,生活随笔等内容。
关注我们
关注微信公众号 关注微博