产品经理-一份标准需求文档的8个模块(14)

一份标准优秀的产品需求文档包括:
❑ 封面;
❑ 文档修订记录表;
❑ 目录;
❑ 引言;
❑ 产品概述:产品结构图
❑ 详细需求说明:产品逻辑图、功能与特性简述列表、交互/视觉设计、需求详细描述;
❑ 统计需求:指标定义、统计逻辑、数据报表;
❑ 客服文档:用户常见问题
需求详细说明
在完成产品概述之后,面对已经拆解到最末一级的各个功能点,我们需要进行详细的功能需求说明。
数据统计需求
数据是衡量一个产品需求效果的最佳指标,所以在产品需求文档中,我们需要明确该需求统计监控哪些指标,以便开发人员进行数据统计埋点。
层次清晰,先大后小
首先按照需求覆盖端(PC、H5、ANDROID、iOS)进行一级拆解,然后按照用户身份(未登录、登录(是会员、不是会员))进行二级拆解,这样就保证了在信息层级逐渐下沉的过程中信息的完整性。
在需求文档的功能描述环节,适当的搭配图片或表格可以起到“一图胜千言”的作用
一些常见的异常情况供大家参考。
❑ 网络错误:中断、无法联系、服务器繁忙。
❑ 产品兼容:新老版本兼容、跨操作系统兼容、国内国际版本兼容
❑ 按钮状态:正常状态、不可用状态、悬浮状态、按下状态、焦点状态。
❑ 极端情况:高频次访问、多用户访问、机器人挂机、多进程同时操作。
❑ 权限控制:管理员、超级管理员、普通用户、未登录用户。
❑ 后台配置:灰度测试、后台推送。
❑ 按钮状态:正常状态、不可用状态、悬浮状态、按下状态、焦点状态。
❑ 极端情况:高频次访问、多用户访问、机器人挂机、多进程同时操作。
❑ 权限控制:管理员、超级管理员、普通用户、未登录用户。
❑ 后台配置:灰度测试、后台推送。
理清用户及产品需求、撰写了需求文档、画好了交互图后,下一步就是研发的过程了。
在研发过程中,产品经理梳理的那么多需求,是怎么安排进一个一个版本的?
版本规划应该如何来设计?
互联网时代大家都说敏捷迭代,那什么是敏捷迭代?
和我们一般生活中看到的传统产品在研发过程中有什么不同?在敏捷迭代的过程中产品经理又担当一个什么角色?
瀑布模型
第一,解决了多人协作的问题,单一产品生产能聚集为之生产的人变多,使得几十,甚至成百上千的人们能够聚集在一起共同为一款产品的生产贡献劳力
第二,有了分工,不同的人在流水线上面有了明确的分工,每个人只负责生产环节的某一个部分,这样每个人都可以被培训成熟手的时间被大大缩短,也最大化地提升了生产效率;
第三,有了明确的流程和质量把控,每个环节丝丝相扣,甚至每个环节的时间也被严格要求,不超过1分钟甚至更短,而且拆分到每个环节,质量把控也变得更加容易和清晰。
瀑布模型是一个项目开发架构,开发过程是通过设计一系列阶段顺序展开的,从系统需求分析开始直到产品发布和维护,每个阶段都会产生循环反馈
随着市场变化趋势越来越强,而后在瀑布模型的基础上面演化出了迭代模型,敏捷迭代开发以用户的需求进化为核心
采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试
具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
互联网产品不是在产品研发前就被“设计”好的,而是在研发的过程中慢慢完善,甚至是在产品上线后根据用户的使用反馈不断成熟起来的
小步快跑,快速迭代”的迭代思维构
成了互联网产品研发的核心思维。这也是为什么我们看到很多互联网产品刚出来的时候会有Beta版本的编号,说明他们还在不断测试和完善中。
敏捷迭代的优势
敏捷迭代和传统研发模式相比,更适合互联网的原因是
1)速度更快:互联网的市场更讲究速度,敏捷迭代可以把特性拆小,把之前半年才能完成的产品提前到两三个月推出第一个测试版本,能够提
前抢占市场;
2)便于验证:互联网的用户更讲究体验,通过迭代可以更早地接触用户,通过用户使用中的反馈不断磨练改善,逐步推出更优的产品体验。
敏捷迭代的研发流程
研发团队的组织架构
在开始说清楚迭代流程之前我们先说下互联网研发团队的组织结构,因为一个研发团队的产品迭代流程和沟通方式往往和团队的组织架构息息相关
适用:规模较小,以技术为重点的内部项目,不适用于时间限制性强或对变化快速响应的项目
为什么职能型组织架构容易造成以下结果。
1)不能真正关注客户需求(“我们按照市场部提出的要求开发产品”);
2)各人自扫门前雪(“你们的事情,而不是我们的事情”)
)签字审批手续繁杂,决策缓慢,没完没了地转来转去;
4)协调沟通困难,各执己见(每个部门都认为自己是正确的)
5)关注所谓的部门利益,而不是公司的整体表现(在部门中表现好的人不一定对产品或公司好)。
项目型组织架构
优点:项目经理全权负责,成员全职,发挥团队
精神,决策反应速度快,以市场/客户为导向。
缺点:资源配置重复,规章制度执行不一致,横向沟通少,员工职业发展存在困难
适用:包括多个相似项目的单位或组织以及长期的、大型的、重要的和复杂的项目,不适用于规模小的企业
从团队演进来讲,当是小团队且项目不多时,由于人手较少,一般采用职能型的团队结构,但当团队逐渐壮大,而项目分支也越来越多时
会改为第二种项目型组织架构以减少各团队间的沟通成本,提升项目速度。当然也有两者兼有的组合型架构,
如产品、研发这种相对专注的岗位使用项目型,而测试、设计这种可复用资源的岗位则采用职能型,以保证资源得到最大化利用
需求文档是用来提供需求信息的,方便代码工程师,业务逻辑的实现,具备一定的指导作用,做什么东西,都需要有依据,不能拍脑袋,做事,指哪,打哪,那肯定是不行的
所有成功的互联网公司,令人使用尖叫的产品,都有自己的一套研发流程
产品经理-关于需求文档详解(13)
2024-07-11
产品经理-一些交互设计原则和技巧(12)
2024-07-10
产品经理-交互设计动手实践(11)
2024-07-09
产品经理-需具备的能力- 辨别用户的真需求与伪需求(10)
2024-07-08
产品经理-的职业发展(9)
2024-07-07

(拓展人脉圈子)
相关文章:
产品经理-一份标准需求文档的8个模块(14)
一份标准优秀的产品需求文档包括: ❑ 封面; ❑ 文档修订记录表; ❑ 目录; ❑ 引言; ❑ 产品概述:产品结构图 ❑ 详细需求说明:产品逻辑图、功能与特性简述列表、交互/视觉设计、需求详细描述&am…...
如何用一个例子向10岁小孩解释高并发实时服务的单线程事件循环架构
I/O密集型进程和CPU密集型进程 聊天应用程序、MMO(大型多人在线)游戏、金融交易系统、等实时服务需要处理大量并发流量和实时数据。 这些服务是I/O密集型的,因为它们花费大量资源处理输入输出操作,例如高吞吐量、低延迟网络通信…...
如何为帕金森病患者选择合适的步行辅助设备?
选择步行辅助设备的步骤和建议 为帕金森病患者选择合适的步行辅助设备时,应考虑以下几个关键因素: 患者的具体症状和需求:帕金森病患者的步行困难可能包括冻结步态、平衡能力下降和肌肉僵硬。选择设备时,应考虑这些症状ÿ…...
【排序算法】1.冒泡排序-C语言实现
冒泡排序(Bubble Sort)是最简单和最通用的排序方法,其基本思想是:在待排序的一组数中,将相邻的两个数进行比较,若前面的数比后面的数大就交换两数,否则不交换;如此下去,直…...
Unity最新第三方开源插件《Stateful Component》管理中大型项目MonoBehaviour各种序列化字段 ,的高级解决方案
上文提到了UIState, ObjectRefactor等,还提到了远古的NGUI, KBEngine-UI等 这个算是比较新的解决方法吧,但是抽象出来,问题还是这些个问题 所以你就说做游戏是不是先要解决这些问题? 而不是高大上的UiImage,DoozyUI等 Mono管理引用基本用法 ① 添加Stateful Component …...
Spark SQL----INSERT TABLE
Spark SQL----INSERT TABLE 一、描述二、语法三、参数四、例子4.1 Insert Into4.2 Insert Overwrite 一、描述 INSERT语句将新行插入表中或覆盖表中的现有数据。插入的行可以由值表达式指定,也可以由查询结果指定。 二、语法 INSERT [ INTO | OVERWRITE ] [ TABL…...
socket功能定义和一般模型
1. socket的功能定义 socket是为了使两个应用程序间进行数据交换而存在的一种技术,不仅可以使同一个主机上两个应用程序间可以交换数据,而且可以使网络上的不同主机间上的应用程序间进行通信。 2. 图解socket的服务端/客户端模型...
如何在linux中给vim编辑器添加插件
在Linux系统中给Vim编辑器添加插件通常通过插件管理器来完成,以下是一般的步骤: 1.使用插件管理器安装插件 安装插件管理器(如果尚未安装): 常见的插件管理器包括 Vundle、vim-plug 和 Pathogen 等。你可以根据个人喜…...
Web 中POST为什么会发送两次请求
文章目录 前言一、浏览器的重试机制二、跨域请求与预检请求三、表单的自动提交四、服务器配置问题五、前端代码的重复执行六、同源策略与CORS总结 前言 我们在做Web开发时,经常会使用浏览器F12查看请求参数是否正确,但是会发现POST请求,一个地…...
C语言经典程序100案例
C语言经典程序100题(完整版) 【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数都是多少 程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。 #include "stdio…...
南京邮电大学统计学课程实验3 用EXCEL进行方差分析 指导
一、实验描述 实验目的 1、学会在计算机上利用EXCEL进行单因素方差分析; 2、学会在计算机上利用EXCEL进行无重复的双因素方差分析。 二、实验环境 实验中使用以下软件和硬件设备 (1)Windows XP操作系统; (2&am…...
2024-07-13 Unity AI状态机2 —— 项目介绍
文章目录 1 项目介绍2 模块介绍2.1 BaseState2.2 ...State2.2.1 PatrolState2.2.2 ChaseState / AttackState / BackState 2.3 StateMachine2.4 Monster 3 其他功能4 类图 项目借鉴 B 站唐老狮 2023年直播内容。 点击前往唐老狮 B 站主页。 1 项目介绍 本项目使用 Unity 2…...
shell脚本-linux如何在脚本中远程到一台linux机器并执行命令
需求:我们需要从11.0.1.17远程到11.0.1.16上执行命令 实现: 1.让11.0.1.17 可以免密登录到11.0.1.16 [rootlocalhost ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created d…...
Spring Data Redis + Redis数据缓存学习笔记
文章目录 1 Redis 入门1.1 简介1.2 Redis服务启动与停止(Windows)1.2.1 服务启动命令1.2.2 客户端连接命令1.2.3 修改Redis配置文件1.2.4 Redis客户端图形工具 2. Redis数据类型2.1 五种常用数据类型介绍 3. Redis常用命令3.1 字符串操作命令3.2 哈希操作…...
在项目中,如何使用springboot+vue+springsecurity+redis缓存+Axios+MySQL数据库+mybatis
要在项目中使用springbootvuespringsecurityredis缓存AxiosMySQL数据库mybatis,可以按照以下步骤进行操作: 创建一个Spring Boot项目,并添加所需的依赖。在pom.xml文件中添加Spring Boot、Spring Security、Redis、MySQL和MyBatis的依赖项。 …...
微调 Florence-2 - 微软的尖端视觉语言模型
Florence-2 是微软于 2024 年 6 月发布的一个基础视觉语言模型。该模型极具吸引力,因为它尺寸很小 (0.2B 及 0.7B) 且在各种计算机视觉和视觉语言任务上表现出色。 Florence 开箱即用支持多种类型的任务,包括: 看图说话、目标检测、OCR 等等。虽然覆盖面…...
【数据结构】二叉树全攻略,从实现到应用详解
💎所属专栏:数据结构与算法学习 💎 欢迎大家互三:2的n次方_ 🍁1. 树形结构的介绍 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做…...
微信小程序加载动画文件
最近在做微信小程序的动画,调研了几种方案 PAG 腾讯自家的,分为完整版和lite版,对于矢量动画挺好的,但是位图会有问题 完整版会逐渐卡死,lite虽然不会卡死,但是很模糊,优点是动画文件很的很小。…...
[计算机网络] VPN技术
VPN技术 1. 概述 虚拟专用网络(VPN)技术利用互联网服务提供商(ISP)和网络服务提供商(NSP)的网络基础设备,在公用网络中建立专用的数据通信通道。VPN的主要优点包括节约成本和提供安全保障。 优…...
SQL 中的 EXISTS 子句:探究其用途与应用
目录 EXISTS 子句简介语法 EXISTS 与 NOT EXISTSEXISTS 子句的工作原理实际应用场景场景一:筛选存在关联数据的记录场景二:优化查询性能 EXISTS 与其他 SQL 结构的比较EXISTS vs. JOINEXISTS vs. IN 多重 EXISTS 条件在 UPDATE 语句中使用 EXISTS常见问题…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...
