A. 你觉得为什么需要写产品需求文档

1)清晰明确地传达产品需求;
2)保证各部门沟通顺畅且有理有据;
3)确保工作传承。
当初在黑马程序员培训时候,老师就说这是做产品经理必须要写的东西。

B. 产品需求文档规范-精品文档

对于产品经理来说,产品需求文档(PRD文档)是工作的核心产出。一份严谨、优秀的产品需求文档能够给项目的其他人员,包括设计师,开发工程师,测试工程师,运营人员等带来很大的帮助。但对于产品经理来说,撰写一份完整的产品需求文档往往需要花费相当多的时间和精力。

今天我们一起来看看,如何提升产品需求文档的撰写效率。

为什么要写产品需求文档?

对于稍微大一点的产品开发团队来说,产品经理未必能向所有团队成员准确传达产品开发需求,这时就需要一份完整的产品需求文档供项目参与人员阅读。

首先,产品经理可以根据项目的阶段运营目标提出合理需求,通过PRD文档阐述产品整体设计需求背景,设计思路,功能范围,交互逻辑,页面细节及其他信息。

其次,团队的相关人员可以快速获取自己需要的信息,节省反复沟通的时间成本,更好地开展工作。

最后,产品需求文档也是一个产品项目投入开发前的重要附件之一。团队领导可以根据产品需求文档清晰了解为什么需要开发这样一款产品。项目的其他相关方也可以随时参阅需求文档,了解项目的基本信息。

总的来说,产品需求文档有三个核心作用:

  • 传达产品开发需求;

  • 保证团队成员沟通顺畅;

  • 制定产品质量控制标准。

  • 产品需求文档的在项目中的重要性已经不言而喻。那么对于产品经理来说,有哪些技巧可以更好地完成产品需求文档的撰写呢?

    产品需求文档包含哪些内容?

    通过下图,我们可以简单了解产品需求文档需要呈现的基本内容。

    使用摹客等高效便捷的产品文档撰写工具,可以简化产品文档撰写流程,提升产品经理的文档撰写能力,让产品经理事半功倍。

    总结

    产品需求文档作为产品开发团队的重要沟通文档,文档的质量好坏会直接影响到各部门是否能够明确产品的功能和逻辑。一份简洁易懂、逻辑清晰的产品需求文档,可以让团队沟通更加高效,从而有效提高产品开发团队的工作效率。

C. Android APP开发需求文档范本

软件需求文档格式的标准写法
1.引言

1.1 编写目的

· 阐明开发本软件的目的;

1.2 项目背景

· 标识待开发软件产品的名称、代码

· 列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设计员、程序员、资料员以及与本项目开展工作直接有关的人员和用户;

· 说明该软件产品与其他有关软件产品的相互关系。

1.3 术语说明

列出本文档中所用到的专门术语的定义和英文缩写词的原文。

1.4 参考资料(可有可无)

列举编写软件需求规格说明时所参考的资料,包括项目经核准的计划任务书、合

同、引用的标准和规范、项目开发计划、需求规格说明、使用实例文档,以及相关产品

的软件需求规格说明。

在这里应该给出详细的信息,包括标题、作者、版本号、发表日期、出版单位或资

料来源。

2.项目概述

2.1 待开发软件的一般描述

描述待开发软件的背景,所应达到的目标,以及市场前景等。

2.2 待开发软件的功能

简述待开发软件所具有的主要功能。为了帮助每个读者易于理解,可以使用列表或

图形的方法进行描述。使用图形表示,可以采用:

· 顶层数据流图;

· 用例UseCase图;

· 系统流程图;

· 层次方框图。

2.3 用户特征和水平(是哪类人使用)

描述最终用户应具有的受教育水平、工作经验及技术专长。

2.4 运行环境

描述软件的运行环境,包括硬件平台、硬件要求、操作系统和版本,以及其他的软

件或与其共存的应用程序等。

2.5 条件与限制

给出影响开发人员在设计软件时的约束条款,例如:

· 必须使用或避免使用的特定技术、工具、编程语言和数据库;

· 硬件限制;

· 所要求的开发规范或标准。

3.功能需求

3.1 功能划分

列举出所开发的软件能实现的全部功能,可采用文字、图表或数学公式等多种方法

进行描述。

3.2 功能描述

对各个功能进行详细的描述。

4.外部接口需求

4.1 用户界面

对用户希望该软件所具有的界面特征进行描述。以下是可能要包括的一些特征:

· 将要采用的图形用户界面标准或产品系列的风格;

· 屏幕布局;

· 菜单布局;

· 输入输出格式;

· 错误信息显示格式;

建议采用RAD开发工具, 比如Visio,构造用户界面。

4.2 硬件接口

描述系统中软件产品和硬件设备每一接口的特征,以及硬件接口支持的设备、软件与硬件接口之间,以及硬件接口与支持设备之间的约定,包括交流的数据和控制信息的性质以及所使用的通信协议。

4.3 软件接口

描述该软件产品与其有关软件的接口关系,并指出这些外部软件或组件的名字和版本号。比如运行在什么操作系统上,访问何种类型的数据库,使用什么数据库连接组件,和什么商业软件共享数据等。

4.4 通信接口

描述和本软件产品相关的各种通信需求,包括电子邮件、Web浏览器、网络通信协议等。

4.5 故障处理

对可能的软件、硬件故障以及对各项性能而言所产生的后果进行处理。

5.性能需求

5.1 数据精确度

输出结果的精度。

5.2 时间特性

时间特性可包括如下几方面

·响应时间;

·更新处理时间;

·数据转换与传输时间;

·运行时间等。

5.3 适应性

在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,软件的适应能力。

6.其他需求

列出在本文的其他部分未出现的需求。如果不需要增加其他需求,可省略这一部分。

7.数据描述

7.1 静态数据

7.2 动态数据

包括输入数据和输出数据。

7.3 数据库描述

给出使用数据库的名称和类型。

7.4 数据字典

对于数据流图、层次方框图中出现的所有图形元素在数据字典中都要作为一个词条加以定义,使得每一个图形元素都有唯一的一个清晰明确的解释。

数据字典中所有的定义必须是严密的、精确的,不可有二意性。

7.5 数据采集

·列出提供输入数据的机构、设备和人员

·列出数据输入的手段、介质和设备;

·列出数据生成的方法、介质和设备。

8.附录

包括分析模型,待定问题图表等。

D. 市场需求文档和产品需求文档区别是什么

该文档是软件产品项目由“准备”阶段进入到“实施”阶段的第一文档,其作用就是某个软件产品进行市场层面的说明”,这个文档的质量好坏直接影响到产品项目的开展,并直接影响到公司产品战略意图的实现。一般在互联网企业中MRD都是由运营人员和产品设计人员共同制定完成的,互联网软件产品由于最终直接面向终端用户,且需要长期运营,作为互联网企业中的运营人员是最清晰市场动向?产品受众是哪些人?为什么需要产品人员配合呢,主要是因为运营人员很普遍的观念是以运营商品的视角来考虑问题并未能深埋产品级的需求,所以两者配合来制定编写市场需求文档是最合适不过的。产品需求文档(Proct Requirement Document,PRD),该文档在产品项目中是一个“承上启下”的作用,“向上”是对MRD内容的继承和发展,“向下”是要把MRD中的内容技术化,向研发部门说明产品的功能和性能指标。该文档一般是由产品设计人员来完成,也就是传统意义上的需求分析,其主要内容有,功能使用的具体描述(每个UC一般有用例简述、行为者、前置条件、后置条件、UI描述、流程、子流程、分支流程,等几大块),功能点业务流程框线图,界面说明,Demo等。

E. 产品需求文档中包含实现技术吗

产品需求文档 包含功能和业务需求,不包含实现方式,当然如果有特定技术需求的话可以包含实现技术条件

F. 产品需求文档应该包含哪些内容

规范化软件开发过程中的《需求说明书》的编写,使之成为整个开发工作的基础。

2 适用范围

本规范适用于集团开发项目的(软件)《需求说明书》的编写。

3 编写内容提示

1 引言

3.1.1 背景说明

说明被开发软件的名称,任务提出者,用户及实现该软件的计算机网络。

3.1.2 参考资料

列出有关资料(名称,发表日期,出版单位,作者等)。

3.1.3 术语和缩写词

列出本文件中用到的专门术语的定义,及术语缩写词。

3.2 软件总体概述

3.2.1 目标

软件开发的意图、应用目标、作用范围以及需说明背景材料。

3.2.2 系统模型

图示说明该软件的所有功能及其相互关系和数据传递情况。

3.2.3 假设和约束

说明影响软件开发、运行环境和系统能力(如预告出错类型的能力)的某些假设和约束。3.3 详细需求

详细描述此软件系统的功能需求和性能需求。

3.3.1 功能需求

对系统中每一个功能,要详细描述(图示或文字)。

概述 叙述功能名称,目标和作用。
输入 输入该功能的信息。
处理 描述该功能做什么,如何对输入信息进行加工并转换成输出信息。
输出 列出内部生成的文件。

3.3.2 性能需求

定量地描述此软件系统应满足的具体性能需求。可考虑以下方面:

3.3.2.1精度

说明系统的精度要求,如:

数据的精度要求。
数字计算的精度要求。
数据传送的误码率要求。

3.3.2.2 时间特性

说明系统的时间特性要求,如:

解题时间。
询问和更新数据文件的响应时间。
系统各项功能的顺序关系。

3.3.2.3 灵活性

说明当需求发生某些变化时系统的适应能力,指出为适应这些变化而需要设计的软件成分和过程。

3.3.2.4系统容量

包括系统的设计容量和理论(计算)容量。

3.3.3 输入和输出

解释各输入输出数据类型,并逐项说明某媒体、格式、数值范围等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。

3.3.4 数据管理能力

说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求作估算。

3.3.5 故障处理

列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。

3.4 环境

描述所开发软件运行所需的环境。

3.4.1 设备环境

描述运行软件系统所需的设备能力,如:

处理器的型号和内存容量。
存储媒体的数量。
通信网络(包括说明网络结构,线路速度及通讯协议等)。

3.4.2 支持软件环境

列出与待开发的软件互相配合的支持软件(包括名称,版本号和文件资料),必要时还应列出测试软件,还要指出该软件用的编程语言,编译程序,操作系统和数据管理系统。

3.4.3 接口

说明本软件与其他软件之间的接口、数据通信协议等。

3.4.4其他

说明本软件系统在安全和保密方面的要求以及用户对使用方便、可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求。

G. 产品需求文档模板

首先告诉你产品需求文档肯定是有的!一个经过实际工作检验、经历过“质疑”、“挑战”和“斗争”之后沉淀下来的模板,肯定是已经吸收了各类人的偏好、意见,固化了很多符合实际业务必须的内容要求,能够起到很好的业务承接作用。格式化、标准化本身是一个很好的思维、工作方式,可以让你在编辑文档和接受文档的双方关系中建立一种“标准”的沟通机制和预先定义的沟通基础,减少额外的沟通成本,提高效率。


不过,在享受别人智力和经验梳理好的模板进行需求编写的同时,还是应该了解模板形成的原因,并在此过程中形成自己对于模板的理解,进而形成对于产品需求文档的理解,在理解中使用,裁剪和优化


要理解和分析模板,理解和分析产品需求文档,可以运用以下几个方法:


一、描述-解释-预测-监控


描述,是对观察过程和观察结果的描述。观察的对象因不同的研究而有差异,其目标是尽可能完整地将观察者根据自己的观察得到的现象、由此现象所产生的思想和感觉,以及在观察过程中选择纳入的过程参与者对现象的反应等信息进行描述。

解释,是回答 “为什么”,是对于描述的理解、归类、定义和解释。其目标是将描述内容背后的成因、原理、动机,内容中各部分之间的相关,依存、依赖和影响关系等进行说明,以便对于描述内容有更清晰、更细致、全面的了解。

预测,根据以因果关系为内容的内在联系,相互影响来推导未来的发展或者将要发生的事情。通过研究解释内在的联系,准确地表达内在联系,从中推导出正确的预测。

监控,是对于预测行为、现象的观察和监督,包括了观察到的预测中的行为、现象的发生或者预测以外的行为、现象的外发生,以及因此而采取的对应的反映动作;这些反映动作是预测过程中根据内在联系制定的“响应”机制,并任其自然发生或者通过提供“系统”的自制能力来实现。


二、需求准备、编写和检查

回归到产品经理的日常工作中,在时间占比上较为集中的就是产品需求管理了,包括了需求的准备、分析、编写和检查过程。在这个过程中,描述——解释——预测——监控这个通用的科学分析过程也同样使用,且可以贯穿其中,并可以帮助理解、形成并固化成我们前文提到的需求文档的模板。这个科学分析的过程、方法在不同阶段运用的侧重点会有所不同。


1. 描述

描述的过程是客观的进行“需求向”描述的过程,是一个“背景”信息的补充,用来说明,这个需求文档的源出是什么,是针对什么问题,这个问题是在具体什么领域,在怎样的范围内,涉及到的是那些人;在需求相应的功能设计实现之前,当前的解决方案存在的问题是什么,参与者是怎么解决的,解决的情况怎么样,是好,还是不好,还是勉强可以,对于新的需求的紧迫性是什么样的。此外,描述的过程还需提供一个基础的概念和流程的解释,用来统一作为背景去理解一个现实的业务场景和“沟通字典”,避免在沟通中因为误解而产生不必要的偏差。


需求准备的过程:了解需求来源(管理部门、市场部门、运营部门等),需求背景(行业、同业规则现状等);

需求分析的过程:了解需求目标、预期效果(时间、结果等)、使用者习惯、相关人影响;

需求编写的过程:描述需求目的、背景、时间和结果要求、业务流程、交互过程、系统架构、干系人角色和影响范围;

需求检查的过程:需求的背景、目标、过程、干系人、结果预测和预防的完整性检查;


2. 解释

解释在需求来源的基础上描述了 “为什么”接下来这个需求可以解决遇到的问题,同时还加入了“是什么”和“怎么样”的部分。就是这个需求是通过怎么样的方法解决了“描述”过程中提到的问题,这个新的解决方法需要要做什么,对于原有的业务过程有哪些改变,会提升什么,会降低什么,会影响哪些人、哪些业务部分、哪些业务系统以及哪些数据的产生。这个部分,是需求文档的最主要、最核心的内容部分,也是在内容上占比最大的一部分。


这里的解释根据产品需求面向的要解决的问题不同,而可能存在多个层面,多个维度的层面,比如对于运营的影响,对于前端市场的影响,对于用户的影响,对于财务、法务的影响;从技术开发、技术实现维度,比如对于前端开发的影响、对于服务端开发的影响、对于数据平台的影响,还可能涉及到对于运维资源的影响等;因此对应到实际的产品需求工作中:


需求准备的过程:了解需求可能涉及的相关业务系统及系统对应的数据流程和逻辑、了解需求可能涉及的外部服务的数据流程和逻辑;了解面向的内外部用户的产品使用水平、学习能力和使用习惯;

需求分析的过程:选择和制定最有效的,满足时间、资源投入等要求的方案;

需求编写的过程:详细描述需求的业务流程,通过各种图表格式说明新的解决方法在各服务系统之间、各业务部门之间、用户与产品,产品与后服务之间的数据、文件和行为的交互过程、详细的信息输入、信息处理和信息输出;每个业务节点明确的输出物和节点标志,重要性和优先级;系统架构、干系人角色和影响范围;

需求检查的过程:需求的流程、用户交互动作、系统信息交互等完整性检查;


3. 预测与监控

预测与监控在产品需求文档的管理上是联动的,是对于预测的事件发生的时候,进行管理的机制,监控=预测+干预。在产品需求文档的管理上,对于设计好的业务流程、使用功能,在实际过程中可能会出现这样或者那样的 “非规划”的使用,也就是我们通常说的“用户并不总是按照产品设计的方式来使用产品,而且,往往相反。”因此,这部分内容很大的比例需要来对于用户的行为进行预测和监控,并提供“预防”或者“解决”方案。其中:


预防在于,预测产品的用户在使用的过程中,可能会进行的一些超过产品使用半径的操作,一旦进行这些操作,操作的任务流程会中断,掉出,进入其他业务流程中且无法回滚,从而使得操作无法进行下去,功能使用失败,使用者会感觉产品、功能没有包容性,缺乏引导性,导致了最后操作的失败,预想的结果没有实现,而且造成了一定的挫败感,甚至造成了一定的损失。预防的具体方法多采用导航、提示等,不同的系统都有各自标准化的控价,我们在这里不做展开。


解决在于,预测产品的用户在使用产品的过程中,因误解、操作手误而进行了“非标”、“超规”使用“掉出”原本设计的业务流程和操作流程的情况下,需要提供额外的流程和控制来“回转”用户的操作,来帮助用户回到预先设定和他所需要的流程上来。解决的具体方法多通过“导航”引导“跳转”和“返回”、“回退”来实现。对应到实际的产品需求工作中:


需求准备的过程:了解用户特征和使用水平、评估、比较不同方式实现需求对于用户行为的可控性和“非常规”操作的危害程度;

需求分析的过程:选择和确定需求实现方案,评估行为管理方式和管理机制;

需求编写的过程:详细描述需求的业务流程和交互过程中可能出现的用户异常操作,相应异常操作中系统反应,系统对应的控制和引导;

需求检查的过程:需求“异常”流程和相应引导、控制地完整性检查;

在需求管理的过程中,就可以按照这个 描述——解释——预测——监控流程来进行。这四个既是步骤,是需求文档内容的组成部分,也是需求编写完成之后的检查。


四个模块构成了需求文档的完整性,且同时有各自独立,有对应的说明,引导、要求和标准。所谓标准文档,就可以按照这四个模块作为框架、内容和格式。


写在最后

产品需求文档作为产品经理同视觉设计、交互设计以及技术开发人员进行需求沟通的一个载体,我平时用的比较多的是摹客的服务进行创作。一个完整的、充分沟通确认,并最终达成多方理解和共识的产品需求文档,能够最大限度的还原产品、功能的设计,保证产品、功能的实现,最大限度的减少因为各方理解的偏差而造成的时间、人力和经济资源的浪费及复工。

H. 项目需求分析文档都包括哪些内容

需求分析是指理解用户需求,就软件功能与客户达成一致,估计软件风险和评估项目代价内,最终形成容开发计划的一个复杂过程在这个过程中,用户的确是处在主导地位,需求分析工程师和项目经理要负责整理用户需求,为之后的软件设计打下基础。需求分析阶段包括:

  1. 业务需求——反映了组织机构或客户对系统、产品高层次的目标要求,通常在项目定义与范围文档中予以说明。

  2. 用户需求——描述了用户使用产品必须要完成的任务,这在使用实例或方案脚本中予以说明。

  3. 功能需求——定义了开发人员必须实现的软件功能,使用户利用系统能够完成他们的任务,从而满足了业务需求。

  4. 非功能性的需求——描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制。

  5. 需求分析报告——报告所说明的功能需求充分描述了软件系统所应具有的外部行为。“需求分析报告”在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用。