编辑导语:需求文档和需求规格说明书,二者都与产品有关,但是其所应用的场景又有所差异。产品经理可以利用需求规则说明书进行系统的校验或评判,使之更好地为实际场景所服务。本篇文章里,作者阐述了他所理解的需求规格说明书,一起来看一下。一、前言作为一个需求工作经验(ToB端)2年的小白,在没有大手子知道的情况下摸爬滚打磕磕绊绊,属实有点闭门造车,希望大家多指点指点,如何才能更好地完成需求工作。另一方面,想让自己的胡思乱想可以记录下来,避免真的变成了胡思乱想。二、编写需规的目的是什么?为什么要将需规的编写目的放在第一位?作为产品岗来说,发掘用户需求是我们的最终目标。针对这种思维结构,那么在探讨如何写好需规的前提,我们要想明白需规存在的含义是什么?为了什么而存在?我们不妨继续通过用户场景来分析,我们在什么场景下使用需规呢?场景A:需求人员在需求传递环节,通过需规来与开发团队的成员讲述我们的系统要做功能A、功能B、功能C等等。场景B:开发同事发现业务A,有两种理解方式,不清楚该使用哪一种。场景C:项目进入需求验证阶段,需求同事要验证系统是否通过。场景D:测试同事提了一个BUG,但开发同事认为这不是BUG,认为需求如此。针对以上四种场景,我们可感受到,我们需要利用需规去指导、去校验、去评判当前开发的系统是否是正确的。从场景中分析的需规作用,可以理解为一种解决方案。我们再进一步地去思考,是否可以认为,需规的根本目的是“保证所开发的系统就是客户想使用的系统”。三、需求文档和需求规格说明书有什么区别一样又不一样。说他俩一样。因为他使用的主要对象都有:开发、测试、项目经理;都是要描述核心业务、具体用例描述、功能&内容描述等。说他俩不一样。因为需求文档是站在产品的角度去讲述。而需求是站在系统的角度去讲述的。两者都有交集,但没有必要去划分的很清楚到底一不一样。在面对矛盾的时候我们要理解矛盾点在哪里。一般来说,矛盾大多是由利益矛盾产生的。那么是谁的利益矛盾呢?无非是阅读者与编写者的矛盾。阅读者想要快速地、简练地获取到自己想要的信息,因为懒!毕竟冗长的文档读起来对读者是精神与肉体的双重折磨。而编写者,总是想要把事情说的足够详细避免产生二义性,又或者还是懒!所以我认为,需求文档更侧重于对产品的描述,产品的定位、目标市场、目标用户及其竞争产品。而需规更侧重于系统的描述,实现逻辑、约束、输入输出条件等。四、从遇到的问题中反思既然需规的目的是“保证所开发的系统就是客户想使用的系统”(我们先假定我们的需规内容与客户的想法一致)。我们先从可能存在的场景去分析需规应该有哪些内容。1. 一定要有业务场景描述其实关于业务场景的描述,更多地想要让文档读者更快地带入到系统中。由于公司资源调整,项目里很多同事换来换去的,直接参照着文档讲,容易给同事们讲的一脸懵逼。所以能够让团队成员更容易理解,更容易融入其中,对于业务场景的描述也是至关重要的。我们在描述场景的时候,最好讲明“谁”(参与者),在“什么样的场景下”,为了完成某个“目的”,而做了“什么操作”。通过上述的几个要素,个人觉得可以通俗易懂的讲述需求背景。2. 尽量用用例的方式去划分功能点“一千个读者一千个哈姆雷特”,关于需规的结构每个人的理解必然不一样,个人觉得要保持中心思想去做需规:用户可以通过系统完成什么事情。即系统的用例,我们通过各种方式来梳理出系统的用例有哪些,这样就可以更直观地看出系统有哪些功能。例如:在“场景A”的情况中,我们要来指导开发团队去开发功能,那么我们需要尽量描述清楚每一个功能,一定要保证功能不存在遗漏项。那么怎样的逻辑才能让功能描述得全呢?我认为在项目做规划的时候,要把模块范围划分清楚,每一个模块的定义、目的、适用范围,然后再根据模块规划用例。这样就可以保证开发的内容保持功能全覆盖。读者在看的时候也可以很直观地看到,原来我们的系统可以完成这这这等等功能。3. 复杂逻辑功能的流程图很重要为什么要单独提出来重点功能这个概念呢?我们会发现场景B、C、D总结下来就是我们针对功能的理解都不一样。文字描述总会有其弊端,断句、描述顺序、描述逻辑都存在偏向主观。所以我们可以通过画流程图来辅助对文字的描述。同时,我们一定要确定好我们的流程图的范围,是针对业务流程进行的还是对这个用例进行描述的。因为我遇到过把业务场景跟用例画在一起的操作。这样很容易误导读者,使读者的迷惑。那么为什么要单指复杂逻辑功能呢?其实,我们完成了目的,讲明白需求就可以了,所有的功能都画的话,很浪费时间跟精力的,所以挑重点说就好。本文由 @小钟也会胡思乱想 原创发布于人人都是产品经理,未经作者许可,禁止转载。题图来自 Unsplash,基于 CC0协议。
本文出自快速备案,转载时请注明出处及相应链接。