敏捷开发还需要PRD吗
一、PRD有什么用
prd提升与RD或者未来接手人的沟通效率
二、为什么会有PRD
首先来说说为什么会有PRD文档。
1、稍微大一点的团队产品经理未必能向每个人传达产品需求,这就需要有一个文档的形式来向项目的所有成员来传达需求,这就是文档的来源。
2、由于产品经理经常会变更需求,经常爱拍脑袋,容易变卦,所以程序员就想到用一个文档来约束产品经理。
3、测试人员需要根据产品需求文档来验收产品质量。
4、当你的项目有新人进入的时候,可以让新人更快的了解产品。当你离职的时候,继任的产品经理也可以根据你的文档来熟悉产品迭代的内容。
三、什么是敏捷开发
埃德蒙·伯克说过[我们担心人们会依照自身的理性主导起生活和交易,因为我们怀疑每个人的理性是相当有限的。]
应用到产品经理身上,我们可以把它翻译为:[我们担心产品经理们会依照自身对用户和社会的理解,来固执的设计产品,因为我们怀疑每个产品经理对用户的理解都是相当有限的。]
这就是敏捷开发的起源,那么我们该如何做到敏捷开发呢?
1、快速迭代。
产品通过短周期的迭代交付,通过不断的迭代完善产品。
2、快速尝试
避免长时间的需求分析和用户调研,快速进行尝试。快速验证市场和需求的真伪,抢占市场。
3、快速改进
在地带周期过后根据客户反馈快速改进。因为产品迭代很快,肯定会有不完善的情况,产品上线后需要收集用户需求,方向错了就调整方向,有bug就快速改bug。
4、充分交流。
团队成员的无缝交流,如每天短时间的站立会议。交流尽量扁平化,团队成员可以在坐的近一些,这样交流起来比较方便,而不是像大公司一样,一件事情需要走很多流程。
5、简化流程
拒绝一切形式化的东西,使用简单易用的东西开始工作。例如;把冗长的word文档去掉,代指在原型上简单的标注,其实说实话,你写的很长篇幅的PRD文档,开发的兄弟妹妹也不一定会看,白白浪费写文档的时间。
三、敏捷开发PRD文档该怎么写
既要敏捷开发,又要保证开发质量,这个时候PRD文档就显得重要了。
1、做好版本控制
版本历史记录要有。你的原型可能会更新好几次,这个时候你需要做好版本控制。每次更新的时候在版本命名上显示是那个几点几版本。同时在版本控制上显示每一版本更新了那些内容,这样别人一看就会一目了然。
2、feature list要有
feature list 告诉项目成员我们这一版本迭代那些内容,前台需要做那些,后台需要做那些,这样开发即使没有文档,也可以根据feature list来,而不会有遗漏,测试也可以根据你的feature list。feature list可能会更新,每一次更新可以用不同颜色的文字给表示出来。
3、功能说明直接在原型图上标注
程序猿一般都是看着原型开发,你之前写的冗长的PRD文档根本不看的。那么遵循敏捷开发的“尽量减少文档原则”,可以直接讲功能说明和需要注意的东西标注在文档上面,对于减少PM和PD的工作量都很有帮助,当然前提是你的PRD需求完整且逻辑清晰。
4、产品全局结构图以及一些重要的流程图不能省略
首先,全局结构图。产品全局结构图相当于房子的骨架,相当于文章的目录,别人看过你的全局结构图就知道你的产品大概分成那几个部分,这样别人阅读接下来的原型设计和文档的时候就会思路清晰。
其次,一些重要的功能流程图需要写。一些基本的流程图可以不写,但是一些重要的功能流程图,例如:充值、提现、购买这些流程。这样项目成员在会议以后也可以通过文档来重新温习一下。同时你把流程图整理好,也有助于开发人员的开发思路的建立,大大提升开发速度。
5、需要把规则和异常情况写上去
很多时候产品经理开需求评审会挨批的原因就是没有考虑周全,只考虑正常的流程,而没有考虑异常流程情况,无网络的情况等。例如:网贷平台用户支付系统你只想到用户输入支付密码,完成购买。但你没想到新用户用户如果没有实名认证是不是先要实名认证,认证完成以后要不要设置交易密码,如果交易密码输入错误怎么办?是提示他忘记密码还是让它重新输入?同时交易密码错误次数需不需要进行限制?如果支付金额不足怎么半…等等。这些只有考虑的细,考虑的全面。开会的时候才能少被喷,才能有气场。同时你考虑全面了,开发人员也会节省时间,不会在做的过程中给你发个邮件说出现某某情况怎么办。只有让他们信服你,减少他们的工作量,你和他们沟通起来,才会顺畅。
6、重要的名词需要清晰简洁的定义
重复出现的名字就不需要解释了。例如用户,当然如果你的目标用户变更了就需要重新解释一下,当然解释的词语的原则就是第一次出现而且比较重要,同时尽量用简洁精炼的语言把名词解释出来。
总结:其实实现敏捷开发文档只是一个手段,更重要的是多沟通,减少因为沟通少而产生的误解。当然一个好的PRD文档可以增加你们的沟通效率。
相关文章:

敏捷开发还需要PRD吗
一、PRD有什么用 prd提升与RD或者未来接手人的沟通效率 二、为什么会有PRD 首先来说说为什么会有PRD文档。 1、稍微大一点的团队产品经理未必能向每个人传达产品需求,这就需要有一个文档的形式来向项目的所有成员来传达需求,这就是文档的来源。 2、由…...

完整教程:使用Spring Boot实现大文件断点续传及文件校验
一、简介 随着互联网的快速发展,大文件的传输成为了互联网应用的重要组成部分。然而,由于网络不稳定等因素的影响,大文件的传输经常会出现中断的情况,这时需要重新传输,导致传输效率低下。 为了解决这个问题ÿ…...

数位dp-- 数字游戏
题目 思路 也是一道比较典型的数位dp的问题,关键的思想跟我上一篇博客很像, 首先把区间值变成[1,Y]-[1,X-1]的值,然后单独计算得到结果。 总的来说就是把这个数的每一位都单独拿出来,然后根据选0-an-1和选**an**两种方案单独计算&…...
Linux脚本 启动、重启、停止、授权
在jar包所在目录 vim start.sh | reload.sh | stop.sh输入以下命令 然后保存,进行授权 1.启动 nohup java -jar -Dfile.encodingutf-8 IntegrationFrame-sso-1.0.0-SNAPSHOT.jar & echo "started"2.重启 pid$(ps -ef|grep IntegrationFrame-sso-1.…...

Pytorch深度学习实战3-8:详解数据可视化组件TensorBoard安装与使用
目录1 什么是Tensorboard?2 Tensorboard安装3 Tensorboard可视化流程4 Tensorboard可视化实例4.1 常量可视化4.2 特征图可视化1 什么是Tensorboard? 在深度学习领域,网络内部如同黑箱,其中包含大量的连接参数,这给人工…...
华为OD机试 - 旋转骰子(C 语言解题)【独家】
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 使用说明本期题目:旋转骰子…...

如何做SpringBoot单元测试?
前言单元测试(unit testing),是指对项目中的最⼩可测试单元进⾏检查和验证的过程就叫单元测试,对于Java来说或者是在SpringBoot项目中,最小的可测试单元就是一个方法。做单元测试就是为了证明某段代码的执⾏结果是否符…...
ZZULI训练: 数组和字符串专题
ZZULI训练:数组和字符串专题ZZULI训练: 数组和字符串专题ZZULI训练:数组和字符串专题 部分多实例没写循环多次是因为在main里面循环了, 你们写的时候要加上只提供大概思路和核心代码建议多尝试一下c, 并没有想象的那么难 7-1 个位数统计 可以开个数组来存一下每个数组出现的…...
ElasticSearch如何解决深分页问题?
文章目录 前言From/Size参数Query阶段Fetch阶段深度分页问题Scroll遍历数据基本使用遍历优缺点缺点:优点:」Scroll Scan基本使用Scroll Scan与Scroll的区别Sliced ScrollSearch After基本使用基本原理优缺点总结ES7版本变...

JDK8新特性宝典
JDK8新特性 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机,Java 仍是企业和开发人员的首选开发平台 课程内容的介绍 了解Java发展史Lambda表达式…...

【C++】关于C++模板的分离编译问题
文章目录1.阐述模板的实例化和重复定义问题2.分离编译可能出现的问题3.解决方法将函数模板的定义放到头文件中模板定义的位置显式实例化模板总结1.阐述模板的实例化和重复定义问题 C模板是一种非常强大的工具,可以为我们提供通用的代码实现方式。然鹅,在…...

小应用记账本-第2章-数据库设计
小应用记账本-第2章-数据库设计 在上一章《小应用记账本-第1章-需求分析》已经罗列了我们需要的功能,因为很简单,所以这一章就来设计数据库吧。 Account表:账户表 字段名类型说明取值idint账户idaccount_namevarchar账户名称remaining_sumd…...

Spring Boot+Vue前后端分离项目练习06之网盘项目创建vue项目
1.安装环境 构建vue项目,需要提前安装相应的环境,这里主要就是node,npm和Vue CLl。 #1、安装nodejs brew install nodejs #2、再执行下面命令来安装npm(npm是开发nodejs时所用的依赖库) brew install npm #3、安装vue cli npm install -g v…...
Python - 单元测试
python-单元测试1 Unittest2 Pytest3 两者区别断言方面用例执行编写规则前后置操作setUp, setUpclass, setUpmodule 区别4 实战操作unittest:pytest:1 Unittest unittest属于python的内置框架,支持多种自动化测试用例的编写,以及支持用例前置条件和后置…...

特权级那些事儿-实模式下分段机制首次出现的原因
前言: 操作系统的特权级模块在整个操作系统的学习中应该算的上是最难啃的了,提到特权级就要绕不开保护模式下的分段机制;如果想要彻底弄明白就要对比实模式下的分段机制有什么缺陷。这就衍生出很多问题如:什么是实模式?…...

详解Vue安装与配置(2023)
文章目录一、官网下载node.js二、安装Node.js三、环境配置四、idea导入vue项目五、IDEA添加Vue.js插件一、官网下载node.js Vue是前端开发框架。搭建框架,首先要搭建环境。搭建Vue的环境工具:node.js(JavaScript的运行环境)&…...

TypeScript深度剖析:Vue项目中应用TypeScript?
一、前言 与link类似 在VUE项目中应用typescript,我们需要引入一个库vue-property-decorator, 其是基于vue-class-component库而来,这个库vue官方推出的一个支持使用class方式来开发vue单文件组件的库 主要的功能如下: metho…...

linux面试高级篇
题目目录1.虚拟机常用有几种网络模式?请简述其工作原理或你个人的理解?2. Dockerfile中最常见的指令是什么?3.docker网络模式有哪些?4.Kubernetes有哪些核心组件这些组件负责什么工作?5. Pod是什么?6.描述一…...

java 4 (面向对象上)
java——面向对象(上) 目录java——面向对象(上)面向对象的思想概述类的成员(1-2):属性和方法对象的内存解析类中属性的使用类中方法的使用1.举例:2.声明方法:3.说明4.re…...
HTTP报头的2个方法
在采集网页信息的时候,经常需要伪造报头来实现采集脚本的有效执行 下面,我们将使用urllib2的header部分伪造报头来实现采集信息 方法1、 #!/usr/bin/python -- coding: utf-8 -- #encodingutf-8 #Filename:urllib2-header.py import urllib2 import…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

Python爬虫(一):爬虫伪装
一、网站防爬机制概述 在当今互联网环境中,具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类: 身份验证机制:直接将未经授权的爬虫阻挡在外反爬技术体系:通过各种技术手段增加爬虫获取数据的难度…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...

Python 实现 Web 静态服务器(HTTP 协议)
目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1)下载安装包2)配置环境变量3)安装镜像4)node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1)使用 http-server2)详解 …...