如何交付高质量的产品需求(一)

3 评论 17520 浏览 200 收藏 13 分钟

需求是产品设计中非常重要的一部分,有需求才能输出对应的产品。本篇文章将分析完整需求中包含的一些场景,对产品经理岗位提供一些参考,希望能对大家有所帮助。

产品需求的重要性:

在整个产研过程中,产品需求是源头活水,是产研工作最重要的输入。产品经理作为产研体系的发动机,交付高质量的产品需求,是提高产研效率、节省产研成本的重要保障。

从项目管理角度看,如果需求是不清不楚的,意味着项目范围的不确定性,更无从谈起项目成功了。

产品需求质量差的表现:

研发、测试同学吐槽的需求不清不楚的常见场景:

  • 一句话需求。
  • 需求点这里漏那里漏了。
  • 需求描述模棱两可、含糊不清。
  • 缺少以前功能逻辑的描述。
  • 有没有性能需求。

交付高质量的产品需求:

一份高质量的产品需求,应该是具备以下重要特性:完整、具体、准确、友好。

完整

产品需求的完整性,包括标配需求,分支流程、异常流程的闭环;包括功能逻辑的齐全;包括不同的业务场景;包括上下游关联影响的说明;包括附件资料;包括非功能性需求…

标配需求

犹如键盘之余电脑、座椅之余桌子,是最基本该有的,一提到主体就该想到不能缺的部分。

很常见标配需求的场景:

1. 表单(新增、修改数据)

  • 是否必填:需描述字段是否必填,以及必填的提示。
  • 是否可编辑:说明数据项是否允许编辑,是否只允许特定用户、特定条件才能编辑,允许哪些用户、哪些特定条件才可编辑。
  • 数据唯一性:哪些字段值、或字段值组合不允许重复。
  • 长度:允许输入内容的长度,包括最大长度、最小长度;输入、黏贴超长的内容如何处理。
  • 格式:允许输入内容的格式; 例如只允许输入数字和小数点、不允许输入“*”。
  • 默认值&选项:需要有默认值的字段(例如下拉框),描述清楚 默认值是多少,有选项的字段,列举每个选项的具体内容。
  • 隐藏字段:界面不展示但需赋值的隐藏字段,描述该字段的取值逻辑。
  • 非输入字段:非手动输入但界面又需展示的字段,需描述如何取值;如果是由其他触发条件自动带出数据的情况,描述清楚具体触发条件,以及根据什么逻辑带出数据。
  • 表单验证触点:描述数据验证的触点;例如光标离开验证、键盘松开验证、提交表单验证。
  • 验证提示:每种验证(必填、格式错误、重复等)都需提供验证提示语;验证提示语中如有变量,需描述变量的取值规则;验证提示语的展示位置,展示形式。
  • 提交数据:提交表单时,提交、或保存按钮不可重复点击;表单提交后,页面跳转的目标页面。

新增数据的示例:

2. 数据列表

  • 查询条件:指明默认的查询条件;输入类的查询条件,描述输入的字符种类、长度限制,以及是否支持模糊查询、左模糊、右模糊、还是左右模糊查询; 选择类的查询条件,描述具体的选项、以及是否支持多选等。
  • 查询:进入数据列表默认就查询并展示数据,还是需点击“查询”按钮再展示数据。
  • 查询的数据量:当查询的数据量很庞大,需限制只能查询满足特定条件的数据(例如只查某时段的数据);或者查询出结果前提示用户:查询大量数据需等待。
  • 数据展示形式:列表中默认需展示哪些字段;特殊数据类型的展示格式、内容超长情况下的展示形式;例如时间字段,格式展示为1900-00-00 00:00 。
  • 排序:数据列表默认按哪个字段排序; 列表中哪些字段需支持点击列头排序。
  • 分页:数据列表是否有分页,每页默认展示多少条数据,是否支持动态选择每页展示的数据量、选择项有哪些。
  • 其他配套功能:是否需要个性设置列表字段的功能;是否需要导入、导出功能等。

3. 增加字段

  • 字段的用途、业务类型、长度:描述清楚 要增加字段的作用和用途,用于存储什么类型的业务数据,该种业务数据可能的最大长度,最好提供示例数据。
  • 字段默认值、取值规则:要加的字段的默认值,如果是选择类型的字段,列举选项有哪些;如果要加的字段是系统自动赋值,需描述具体赋值规则。
  • 字段的展示:要增加的字段在哪些地方需要展示,例如详情页、列表页;描述字段加在那个功能模块。
  • 字段的查询、编辑:要增加的字段是否要支持查询、是否用于查询条件;是否可编辑,是否由特定人才能编辑。
  • 对外接口:需描述哪些数据接口需要同步增加出参。
  • 存量数据:描述清楚,增加字段后,存量数据是否需处理,以及如何处理。

增加新字段后,对于存量数据的处理是被遗漏最多的。

在以下示例中,要在客户信息中增加新字段 最后跟进时间, 对于增量数据从客户跟进信息的子表中自动赋值,对于存量数据如果漏了做处理,则该字段就是空值。

用户想查询最近N天未跟进的客户,就查不出完整的数据,对于用户就是个系统Bug 。

4. 删除数据

  • 删除限制:描述 删除数据前,要有哪些限制,不允许随意执行删除逻辑。
  • 删除提示:描述 删除数据前的确认提示,提示用户系统将删除哪些或多少条数据;如果删除数据失败,如何提示。
  • 批量删除:是否需要支持批量删除;如需要批量删除,数据列表中需要支持批量选择数据;批量选择数据后,如选中了不可删除的数据,执行删除时如何处理。
  • 级联删除:删除主表数据后,是否要同步删除子表数据、以及上下游强关联的数据,删除哪些子表的数据,哪些强相关联的数据;删除子表的数据后,是否要同步删除主表的冗余数据,删除主表哪个字段的数据。
  • 数据恢复:描述清楚,被删除的数据是否还可以恢复,如何恢复。

如以下示例中,1个客户对应有N个联系人, 同时客户信息主表中冗余了客户主负责人姓名和电话。

当删除客户信息时,需说明对应的N个联系人是否需同步删除。

同样的当删除客户联系人子表中的主负责人时,客户信息主表中冗余的主负责人姓名和电话是否需同步删除。

5. 导入数据

  • 导入模板:需提供导入摸板,以及导入的示例数据;提供重要字段的填写说明;用星号标明必填字段;如果是枚举字段,模板文件中需支持下拉选择;对于金额类字段,标明金额的单位,设置数据验证只能输入数字和小数点。
  • 模板格式:针对Excel模板文件,设置好模板文件的默认行高,避免用户要重新自己表格行高。
  • 导入验证:描述 导入模板中哪些字段必填,模板中字段与系统中字段的对应关系;描述 允许导入什么格式的数据文件、导入多大的数据文件。
  • 导入结果:展示执行导入的进度信息,提示导入数据的结果(成功多少条、失败多少条)。
    需提供查看、或下载导入失败的数据的功能,并且记录某项数据导入失败的具体原因,可在导入失败的文件中查看。

典型的导入模板文件示例:

6. 导出数据

  • 导出模板:提供导出模板,并描述要导出的每个字段的取值逻辑。
  • 导出大批量数据:描述导出数据量的最大限制,如果要导出的数据超过最大限制时,如何提示。
  • 导出数据以及结果:描述导出哪些数据,比如是导出 查询出的所有数据、还是导出当前页的数据;查询无数据时导出按钮是否可点击;导出数据完成后,需提示导出的结果。

7. 定义数据接口

  • 接口的调用场景:描述清楚接口在业务上的应用场景。
  • 接口调用方:描述 接口用于给哪些业务系统调用。
  • 接口调用量:描述清楚接口大概的日调用量,用于技术同学设计接口性能时作为参考;例如某个查询数据的接口调用量100次/日、与100万次/日,在设计接口性能时需考虑的因素就完全不在一个量级。
  • 接口功能描述:接口内部读取、新增、修改、删除数据的主要功能、业务逻辑。
  • 输入参数:列举接口需要的每个入参,每个入参是否必传,以及每个入参对应哪个模块的哪个字段;接口入参是否要求批量传入。
  • 输出参数:列举接口的每个出参,以及每个出参的读取、计算逻辑。

如以下为定义数据查询接口比较典型的示例:

未完待续。。。

本文由 @天晴一把刀 原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自 Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 可以形成一个写PRD检查清单项,很落地

    来自广东 回复
  2. 写的很详细

    来自北京 回复
  3. 写得太好了,脐带

    来自广东 回复