聊聊精益需求的产生过程
这是鼎叔的第七十八篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。
欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》已出版(机械工业出版社),各大电商平台热销中,30万字350页。
本篇开启第六个专辑《测试左移与右看》的领域主题分享,中间也穿插其他原创的知识思考内容。
对产品研发而言,最大的风险在于用户需求没有挖掘清楚,而且产品的需求描述和传递过程失真,最终导致生产出来的产品不是用户真正想要的。精益需求生产过程,就是希望尽可能地降低这种极大的生产浪费。这套互联网行业的生产过程,也适用于任何行业的产品精益生产。
在互联网行业中,业务需求变化很多,很快,业务人员,产品人员和技术人员经常对要交付需求的上线优先级无法达成一致,产生推诿和争吵。那么,完整的精益需求产生过程应该是怎样的?它如何尽可能提高产品成功的概率,并降低研发过程中的偏差和耗费?
用户需求的本质
业务团队的需求是从愿景出发,围绕商业方向确定目标用户群。
用户的需求是从自己的问题和痛点出发,希望有产品功能能够解决它们。
产品功能方案如果成功解决用户问题,就能积少成多,一步步实现商业价值。
用户需求的本质特征是隐形的,只有对市场和用户有深入洞察力的产品经理,才能将其挖掘出来。因为:
用户嘴里说的,不等于用户实际做的,也不等于用户心里想的。
用户需求往往是动态变化的,不是确定不变的。
用户需求是多层次的,产品经理需要一定的创造力才能找出最契合的定义。
需求往往在社会化协作中产生,产品经理需要使用一致的高效的描述语言。
什么是精益产品思维
精益需求的核心设计思维及实践,就是要持续洞察用户和市场,开放探索。精益产品的成功也来自于整个过程中更强的应对不确定性的能力。
作为拥抱敏捷的团队,产品的成功来自快速试错,Fail Fast。快速的价值反馈闭环,即“Build-Measure-Learning”,能够降低试错成本,让团队学习到宝贵知识,并更快地走向成功。
产品设计思维,精益思想,敏捷研发,三者互相成就一款成功的产品。设计思维的目标是“挖掘问题”,精益的目标是“做正确的事”,敏捷的目标是“正确地做事”。
三者合一的详细指导方法过程如下:一个产品的产生有探索,定义,设计和交付四个主要阶段,精益原则贯彻整个需求生命周期的始终。这个周期中的具体活动包括:定义业务愿景,梳理产品战略,筛选业务重大举措,提炼需求定义,进行实验验证解决方案和确认需求优先级,再通过多个迭代构建产品并运行,交付给用户,同时获得持续改进的知识。
精益产品的全生命周期管理
下面我们从一个基本流程开始详细介绍。
精益需求的全流程,大概可以分为十个步骤。前五个步骤是从原始需求到问题定义的推导,后五个步骤是从问题定义到待开发的产品需求确认。
在需求产生过程,需要理解并实践的核心问题有:
一 如何定义产品需求?产品的定位和目标是什么?
根据KANO模型,本需求是哪个类型?必备型(基础能力),期望型,还是魅力型?参考:聊聊竞品体验对比评测(上)。
本需求处于什么周期中,是引入期,成长期,还是成熟期?
确定产品的定位和目标,这个过程容易么?如果困难,难在什么地方?
有信息输入不够的地方么,具体是哪些?哪些信息还不太确认,需要做进一步的验证?
产品经理如何让开发、设计、测试和管理者对产品的目标和定位达成一致?
产品的定位和目标可以用下列信息要素来梳理:
-
目标用户:核心用户群体的关键特征是什么?早期用户群体的关键特征呢?
-
客户需求:关键用户的问题和期待是什么?
-
解决方案:提供怎么样的产品或服务?
-
业务价值:业务的定位,贡献的目标和价值。
-
独特卖点:相对于现有方案和竞品,优势和卖点是什么?
-
产品愿景:一句话描述。
当面对新的需求时,如果想不通该不该做,就重新思考产品定位和目标。
二,如何挖掘用户的问题和目标?
注意用户的表达,要求不等于需求,请求不等于需求,反馈也不等于需求!我们给出的解决方案,也不等于需求本身。
需求的第一条原则,还是要从用户的问题出发来推导。
三,产品的用户和干系人是谁?
按用户距离,可以分为直接用户,间接用户或关联用户。
从其他维度,还可以区分为内部用户和外部用户,生产者和消费者,B端用户和C端用户。
针对用户如何建立更细致的类型区分?基于什么属性进行进一步的区分?下面是一个简单的属性分类示范。
下一步,如何找出本产品最核心的用户类型?
我们可以通过象限法来绘制不同用户类型所在的地方。横轴是用户数量或规模,纵轴是用户的需求,或用户影响力,或用户贡献。
也可以通过矩阵法,针对当前的价值贡献,潜在的价值贡献和流失风险,定出该类型用户的优先级。
四,用户画像如何绘制?
前面说过,内部用户和外部用户的画像可能完全不同,需要区分绘制。
我们可以给典型用户绘制一个卡片,让团队成员觉得真实可信,我们充分想象,人物就在我们眼前,用户形象如何,叫什么,她有什么基本信息,特征描述,他/她的痛点/期待是什么,目标是什么。
对于内部用户,我们可以把卡片信息聚焦在内部协作场景,职责,痛点和期待。
比如内部负责监控的IT工程师客户,他的痛点描述语言会更加技术化,痛点场景也以内部典型的跨部门协作场景为主。我们绘制的用户画像会把他的职责和期待目标也定义得非常具体,使用的专业术语比外部用户多出很多。
最后,我们对用户特征梳理进行复盘:
我们的用户特征情报从何而来?如何确认信息靠谱?哪些信息输入还不够?
一定是直接用户的问题才需要关注么?关联用户/间接用户,他们的问题有什么启发?
五,产品电梯演讲
电梯演讲,就是在电梯的一分钟时间里,以XX为对手,用一段话说服老板接受一个产品方案。
我们上面的用户对象分析,对标产品电梯演讲的目标用户群,有什么差异?
六 接下来,从用户出发,发现场景
这一块就要利用之前介绍的用户故事知识了。聊聊用户故事与测试启发
一个用户故事发生的场景,包括这些要素:时间(WHEN),地点(WHERE),和谁(WHO),前情(BEFORE),后果(AFTER)等。
利用用户故事挖掘场景,我们要特别关注逻辑合理性,多问自己这些问题:
-
核心用户、问题(痛点)和场景的逻辑合理么?
-
可以用什么手段去验证这个场景是真实存在的?
-
用户为什么会遇到这样的问题?
-
其内心深处的目标和动机是什么?这个目标是真正的目标么?
-
真正的目标和当初的问题有怎样的关联?
-
当前哪些信息输入还不够?可以通过哪些手段获得这些信息?
七 洞察用户目标
通过上面的过程,用户清楚了,目标清楚了,那准确的问题定义应该是什么?
我们想给用户的可能是一个很复杂的产品,用户想要的东西可能非常简单。
为了洞察出用户真正的目标,我们可以不断追问问题的本质,如下:
-
从问题的描述,发生的场景要素,我们判断是哪一类用户的问题?
-
问题的根本原因是什么?
-
问题发生后对用户造成的影响是什么?
-
问题发生后对业务的影响是什么?
明确了用户真正的目标,精益需求的前半部分才算是真正完成,后面的环节就依次是:针对痛点的创意发散,端到端设计用户体验路线,原型设计,最后进入技术评估方案。这些本文就暂不展开了。
相关文章:
聊聊精益需求的产生过程
这是鼎叔的第七十八篇原创文章。行业大牛和刚毕业的小白,都可以进来聊聊。 欢迎关注本公众号《敏捷测试转型》,星标收藏,大量原创思考文章陆续推出。本人新书《无测试组织-测试团队的敏捷转型》已出版ÿ…...
Linux - 还不懂 gdb 调试器?(调试软件)
前言 当前,我们可以使用 make/makefile 来程序化执行代码文件;可以使用 gcc/g 等编译器来编译代码;可以使用 vim 编辑器来编写代码;其实在 Linux 当中还有一个工具,可以实现调试工作,这个工具就是 -- gdb。…...
Linux:程序地址空间/虚拟地址等相关概念理解
文章目录 程序地址空间虚拟地址和物理地址地址的转换地址空间是什么? 程序地址空间 在C和C程序中,一直有一个观点是,程序中的各个变量等都会有一定的地址空间,因此才会有诸如取地址,通过地址访问等操作,那…...
Python之爬虫
目录 HTTP请求HTTP响应获得页面响应伪装用户访问打包数据爬取豆瓣top250 HTTP请求 HTTP:HypertextTransferProtcol 超文本传输协议 1、请求行 POST/user/info?new_usertrue HTTP/1.1#资源了路径user/info 查询参数new_usertrue 协议版本HTTP/1.1 2、请求头 Ho…...
打造自己的前端组件库(奶妈版,超详细)
打造自己的前端组件库 demo是开源的,自己上npm 或者 github 上都能搜到 新建vue项目(sass js vue2) vue create yt-ui 修改文件目录(如下) 修改: 1.src 更名 examples; 2. src/components移动到项目最外层;3.vue.config.js更改入口文件 /…...
6.调制阶数相关
1、调制阶数与峰均比的关系 调制阶数(modulation order)对峰均比(有一定的影响。 峰均比是用于衡量调制信号或波形在幅度上的动态范围的指标。它表示信号的最大峰值与平均功率之间的比值。较高的峰均比可能导致信号在传输或放大过程中出现过…...
Maven多模块管理(转载)
注意:父模块需设定打包方式为pom https://cloud.tencent.com/developer/article/1667275 dependencyManagement 统一管理子类依赖版本 在父类maven中加入,不会继承给子类,只能规定子类的依赖版本,子类加入dependence后无需写入 …...
运维学习CentOS 7进行Nightingale二进制部署
.因为Nightingale需要MySQL保存一些数据,所以可以参考《CentOS 7.6使用mysql-8.0.31-1.el7.x86_64.rpm-bundle.tar安装Mysql 8.0》部署MySQL。 https://github.com/ccfos/nightingale/releases是可以github上下载Nightingale二进制安装包。 https://n9e.github.io/…...
安装Docker
本安装教程参考Docker官方文档,地址如下:https://docs.docker.com/engine/install/centos/ 卸载旧版 首先如果系统中已经存在旧的Docker,则先卸载: yum remove docker \ docker-client \ docker-client-latest \ docker-common…...
【uniapp/uView】解决消息提示框悬浮在下拉框之上
需要实现这样的效果,即 toast 消息提示框在 popup 下拉框之上: 解决方法,把 <u-toast ref"uToast" /> 放在 u-popup 里面即可,这样就可以提升 toast 的优先级: <!-- 弹出下拉框 --><u-popu…...
有效管理token,充分发挥ChatGPT的能力
目录 给提供了 Token 的计算工具,来理解一下Token的计算方式,网址如下: 窗口如下: 实际消耗 Token 数量为 59个,换算之后为2.1-2.2的比例,即一个汉字消耗2.12.2个Token, 再测一下英文的Token消耗,包含空格在内,一共52个英文字母,消耗Token 13个,正好对应13个单词,…...
Python —— 验证码的处理执行JavaScript语句
1、验证码的处理 1、概述&绕过验证码的方案 很多的网站都在登录页面加入了识别文字,识别图片,拖动拼图的验证码方式来防止爬虫、恶意注册 等,如果是做自动化,需要绕过验证码才能进入下一步操作,那么有4种方案可以…...
MS12_020 3389远程溢出漏洞
1.search ms12_020 搜索ms12_020 2.use auxiliary/scanner/rdp/ms12_020_check 检查是否存在ms12_020漏洞 show options 查看所需参数 set RHOSTS x.x.x.x 设置目标IP地址 run 执行 检测出来有Ms12_020漏洞 3.use auxiliary/dos/windows/rdp/ms12_020_maxchannelids 选择…...
Pytorch ddp切换forward函数 验证ddp是否生效
DDP及其在pytorch中应用 ddp默认调用forward函数,有些模型无法使用forward函数,可以对模型包装一下。 class modelWraper(nn.Module):def __init__(self, model):super().__init__()self.model modeldef forward(self, *args, **kwargs):return self.…...
C++中按引用向函数传递参数
C中按引用向函数传递参数 在参数传递过程中,如果实参与引用参数不匹配,C将生成临时变量。当前,仅当参数为 const 引用时,C才允许这么做,但以前不 是这样。如果引用参数是 const,则编译器将在下面两种情况…...
【Asp.net】Asp.net core中IIS配置注意事项
1、应用地址池设为无托管代码 一、提示:关于IIS上运行ASP.NET Core 站点的“HTTP 500.19”错误 安装dotnet-hosting-3.1.2-win.exe ASP.NET Core 3.1 Runtime (v3.1.2)下载地址: https://download.visualstudio.microsoft.com/download/pr/dd119832-dc4…...
Redis实现附近商户
GEO数据结构的基本用法 GEO就是Geolocation的简写形式,代表地理坐标。Redis在3.2版本中加入了对GEO的支持,允许存储地理坐标信息,帮助我们根据经纬度来检索数据。常见的命令有: GEOADD:添加一个地理空间信息…...
【COMP305 LEC 3 LEC 4】
LEC 3 A basic abstract model for a biological neuron 1. Weights of connections Neuron gets fired if it has received from the presynaptic neurons 突触前神经元 a summary impulse 脉冲, which is above a certain threshold. Signal from a single synapse突触 ma…...
国密https访问
前言 现在的SSL的加密算法实际上主要是国际算法,包括JDK,Go等语言也仅支持国际算法加密(毕竟是国外开源项目),hash。随着国密算法的普及,比如openssl就支持国密了,还要新版本的Linux内核也开始…...
31二叉树-递归遍历二叉树
目录 LeetCode之路——145. 二叉树的后序遍历 分析 LeetCode之路——94. 二叉树的中序遍历 分析 LeetCode之路——145. 二叉树的后序遍历 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
线程同步:确保多线程程序的安全与高效!
全文目录: 开篇语前序前言第一部分:线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分:synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分ÿ…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
