【产品经理修炼之道】- 从需求到功能的转化过程

产品经理的最大作用是将需求转化为产品或者功能,从需求到功能,会经历哪些过程?本文总结了从需求到功能的转化过程,希望对你进一步了解有所帮助。

“大部分的产品经理特别是数字化产品经理其核心价值就是如何去解决如何把需求转化为用户可使用、易使用、爱使用的并能够解决业务实际问题的功能或产品。”

01 概述

产品经理最大的作用就是把需求转化为产品(由很多功能组成的系统,如果放在实物领域就是能够满足人们某些特定需求的载体),看了很多产品经理的工作方式,这10多年也和很多产品经理有合作过也了解他们的工作方式,发现从需求转化为产品其实是一件很麻烦、很难的事。

一般来说从需求到产品大概可分为这几个阶段:用户调研、市场分析、产品规划、需求收集、需求分析、代码开发测试、试运行、上线、迭代升级。

一般的产品经理很难负责所有的环节,只有是某一个产品的负责人才会对整个过程负责,大部分的产品经理都是在产品规划到代码开发测试 这部分环节开展工作,而这个阶段也是把需求转化为功能的关键阶段,解决的是做什么的问题。

在这个阶段之前都是处于规划、设计阶段,更多的是论证可行性,在这个阶段之后只是把已经确定的系统实现出来更多的是资源、时间、进度的问题,而只有这个阶段会决定用户使用你产品的体验会如何,产品功能是如何能够让用户获得价值的。

很多产品经理忽视了这个阶段最本质的价值输出,陷入了一种解决问题的天性中了,用户的需求即是他所面对的问题或者是体验很差,产品经理在扑捉到用户的需求后立即想的是如何去解决这个问题,缺少对真实诉求的分析,也缺少从系统设计的整体性层面去进行需求分析。

02 从需求到功能

大部分的产品经理特别是数字化产品经理其核心价值就是如何去解决如何把需求转化为用户可使用、易使用、爱使用的并能够解决业务实际问题的功能或产品。

想要体现这个核心价值,产品经理不能成为用户的传话筒,一定要能够透过现象看到用户的真实诉求、底层需求,要看到情绪层面、价值层面的逻辑;也需要考虑系统整体架构的合理性,能够从业务、应用、数据、体验等不同维度去思考如何进行设计。

我举几个例子,看看大家在日常工作中有没有遇到啊。

故事一:有一次在评审活动类型的产品需求时,只看到了前台商城上面的页面,并没有对应活动配置的页面,问产品活动时间如何控制、活动价格如何控制、活动库存如何控制皆无法回答,和其讨论时来了一句用户只提了这些需求,产品不是业务的传话筒和原型设计人员,我们是产品经理,我们需要搞清楚产品功能上每个字段、每个交互后面的逻辑、含义。

故事二:在几年前,我们做过一个电商重构的项目,当时我负责商品、交易相关的功能模块,在设计商品模块时由于自己经验也有限,只能从过往比较粗浅的经验以及在网上找到的一些资料出发去进行功能设计。看到了一个完整的电商商品的功能结构-SPU+SKU的体系,当时把这个体系抄过来后还洋洋得意,感觉自己能够实现如此复杂的功能模块也是蛮厉害的,但上线之后发现很多问题,在电商的商品模型里面缺少供应链所需的业务逻辑,更多的是站在如何对商品进行售卖的角度出发,但商品的库存如何管理、采购环节需要什么关键信息、财务对商品又有一些什么需求并没有在模型中进行提现,导致后期在上线后各方使用商品数据时还是比较混乱、无序。

故事三:设计一个移动端代客下单的功能,在产品经理和用户进行详细的需求调研、分析后,设计的整体用户操作路径为:订单列表页-新增订单页-选择商品页-填写商品下单信息-回到新增页-循环以上步骤,只支持单个单个商品操作,在选择商品的页面提供了搜索框和筛选条件,支持按商品名称、编码、规格搜索,支持按品牌、规格以及其它属性进行筛选。从逻辑上面看这个功能设计的完全没有问题,但在上线后,却成为了员工们吐槽最多的功能。为什么呢?我们去调研了吐槽的实际使用人员,主要以下原因:

  • 操作步骤太繁琐,在一些订单中经常会有超过5个以上的商品,用户一次只能选择一个商品操作,意味着下这个单需要至少操作25个动作;
  • 在选择并填写好一个商品后,该商品显示在了列表最后,但选择完以后还需要用户填写一些内容,让大家还需要增加一个下滑的操作;
  • 在选择商品的业务虽然支持了搜索和筛选,但是在搜索结果的排列上出现了问题,系统中有大量的很少使用的商品会排在列表中,影响大家快速找到自己想要的商品,等等在这一个功能上还有很多用户吐槽的点。

以上的一些故事,相信大家可能也有遇到过类似的情况,而这些都是一个产品经理不够成熟的表现,一个成熟的产品经理是能够具备良好的从需求转化成功能的能力,而不是简单的去实现功能。要做好这种转化工作需要产品经理具备一些专业的知识。

所有的系统功能都应该是为了业务落地的,业务在网络空间的一种映射,比如说:库存管理中有出入库单,对应的就是实际业务中的出入库操作;商品管理中有上下架功能,对应的其实就是现实业务中上下架商品的业务;在比如交易过程中有加入购物车、下单、支付等功能,其实也是对应我们现实购物场景中的实际操作。

我们要想做好需求转化为功能的过程,第一步就是能够对业务进行抽象建模,我们需要梳理清楚业务流程是从哪到哪,每一个环节涉及的角色、操作、处理逻辑有哪些,是怎么样的,也需要明白这个业务流程最终给哪些用户输出了什么样的价值。我们在做产品策划的过程中脑子里面时刻要记住系统是业务在网络空间的映射,脱离了业务流程、业务场景去设计功能都是闭门造车。

业务流程分析:

【干货】从需求到功能的转化过程

对业务进行梳理后,我们真正进入了需求分析的过程中,很多同学到这个阶段不知道如何去开展工作,只能简单的从需求中提炼一些表面的信息,直接去进行产品原型的设计,以为原型出来产品策划的工作就基本完成了,这是打错特错的,你这样做之后大部分的情况会陷入我们上面讲的三个故事一样的境地。

系统是业务在网络空间的映射,在网络空间中建设系统至少要在这几个维度上去进行设计:数据结构、代码逻辑、页面交互,当然还需要在物理环境、网络环境层面进行设计,但这些与产品的工作关联性不大。

软件系统说的简单点就是使用角色对系统进行输出,系统更具代码逻辑做出必要的反应,给出输出。

在前面业务分析的过程中我们梳理出来了角色、操作、处理逻辑以及每个节点的输入和输出,这些内容是我们做需求分析最核心的输入,我们需要把这种业务语言转换成软件语言,我们可以从这些内容中提炼出关键的名词、动词以及一些限定词汇,关键的名词往往是我们功能操作的主要对象,我们也可以称之为实体或对象,为了表达它们我们需要对这些概念进行定义,并通过主要的属性以及生命周期去把定义显性化,不同概念的差别也主要提现在了这些地方。

提炼出实体后,我们还需要去梳理各个实体之间的关系,能够明晰哪些实体的变化会对其它实体有影响,影响是什么。这部分的分析结论,不是一蹴而就的,也是需要反复推敲琢磨的。能够有类似以下的一些输出物:

实体模型:

【干货】从需求到功能的转化过程

状态机:

【干货】从需求到功能的转化过程

状态描述:

【干货】从需求到功能的转化过程

以上的过程我们更多是在数据结构层面进行梳理,在这个过程之后我们还需要对业务逻辑进行抽象分析,我们需要能够详细定义如何去获取或者接受输入信息,输入的信息有哪些内容,传输的方式是什么样的,频率如何,如果发生了极端情况我们如何处理。

然后我们需要对每个节点的业务逻辑进行分析,形成结构化的语言去进行描述,在系统中大部分的业务逻辑都是需要通过操作或者是系统自动的方式去触发它,而具体的操作也是我们去进行业务逻辑结构化描述的起始点,从这里开始我们逐步分析这个操作对哪些实体有影响,影响了实体的哪些属性的变化,这些影响是怎么样去生效的,在系统中业务逻辑说到底就是用户的操作对数据产生变化或者是能够对用户输出特定的一些信息的规则、步骤,我们在描述这些规则、步骤的时候一定要互相独立、完全穷尽,做到不遗漏、不重复。

最后我们还需要分析清楚当前的这个环节对后续那个流程节点或者是角色有影响,我们需要定义用何种方式去对影响他们,是通过实体属性的变化产生了影响,还是通过下游环节输入的形式,亦或者只是需要提醒或通知到某些角色即可。

通过以上几个环节,我们把产品功能设计中最为抽象的部分做完了,但在产品功能设计的工作中还有具象化的部分的工作,那就是如何把信息呈现并与用户产生互动,这两步的内容我们可以参考用户体验要素的模型中最上面三层:结构层、框架层和表现层。

  1. 结构层。关注产品的信息架构和交互设计,信息架构涉及如何组织和呈现内容元素,以促进用户理解,交互设计涉及用户如何与产品互动,包括点击、填写表单等操作。
  2. 框架层。关注产品的页面布局和导航结构,包括banner的位置、按钮的位置等,确保产品易于导航和使用。
  3. 表现层。关注产品的视觉传达,包括色彩、字体、图像等视觉元素,这些元素应与产品的整体目标和结构相协调。

此处不做过多的方法论的说明,需要的同学推荐可以去看一下《用户体验要素》这本书。输出物一般为功能结构图、用户使用路径图、产品原型、设计稿等。

更想说的是,交互、视觉、用户体验这些内容很多时候是被大部分的产品不太重视的,总认为逻辑正确、模式正确那产品一定会成功,但我想说的是大部分的用户他们不关心或者说首先关心的不是逻辑正确、模式正确,他们首先能够感受到的是交互、视觉、体验,好不好用、容不容易使用是他们首先能够感受到的,只有他对产品功能的印象是正面的他们才有可能继续使用或者是能够“友好”使用你的产品。

我们做产品设计时既要能够“从下往上看”(从数据-逻辑-应用-体验),也能够“从上往下看”以用户视角去看自己设计的产品。

03 总结

以上是近期重新开始做具体产品设计工作的一些感悟、总结,也算是对自己这些年经历的不同产品阶段工作中可能遇到的一些问题以及如何去解决的一些思考,希望对在成长过程有相似困惑的产品经理有所帮助,也欢迎大家一起留言讨论。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/574351.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL主键:自增id、UUID、雪花算法

视频可看: 动画讲解:为什么不能使用自增ID或者UUID做MySQL的主键,雪花算法生成的主键存在哪些问题_哔哩哔哩_bilibili 一、MySQL分布式架构中,为什么不能使用自增id作为主键 自增主键的好处:写入效率高 弊端&#x…

你只可以转让未使用“通过 Apple 登录”功能的 App。

你只可以转让未使用“通过 Apple 登录”功能的 App。 因为这个问题遇到的比较少,同时也比较难以解决,所以这个问题的答案,必须要开会员我才让你们看。 华丽的开会员分割线 当前问题的主要原因是被接入的账号有30天的封号提示了,…

12(第十一章,数据仓库和商务智能)

目录 概述 目标和原则 基本概念 商务智能 数据仓库 数据仓库建设方法 数据仓库架构组件 加载处理方式 1、历史数据 2、批量变更数据捕获(CDC) 3、准实时和实时数据加载 活动 运营分析应用 方法 数据仓库构建 架构演进 数据处理过程 数…

Python+Selenium基于PO模式的Web自动化测试框架

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供…

pytest教程-30-测试数据管理插件-pytest-datadir

领取资料,咨询答疑,请➕wei: June__Go 上一小节我们学习了pytest重复执行用例插件pytest-repeat,本小节我们讲解一下测试数据管理插件-pytest-datadir。 在软件测试中,有效管理测试数据对于编写全面的测试用例至关重要。Pytest…

Allure精通指南(04)静态和动态生成报告标记

文章目录 Allure 静态定制报告标记Allure 动态生成报告标记Allure 实现方式选择Allure 分类执行运行epic相关运行feature相关运行story相关运行story相关运行feature和多个story相关(取并集) Allure 静态定制报告标记 定义和用法: Decorators…

Learn ComputeShader 01 First Computer Shader

使用Unity版本:2019.4.12f1 整体流程: 1添加一个quad object并添加一个无光照材质 2.相机投影模式设置为正交 3.调整quad使其完全显示在相机内 4.创建脚本并且使用计算着色器覆盖quad的纹理 5.创建一个compute shader 前三步完成以后结果应该是这…

深入了解计算机系统——利用循环展开对程序的优化

系列文章: 操作系统详解(1)——操作系统的作用 操作系统详解(2)——异常处理(Exception) 操作系统详解(3)——进程、并发和并行 操作系统详解(4)——进程控制(fork, waitpid, sleep, execve) 操作系统详解(5)——信号(Signal) 文章目录 一些概念CPE 初步优化消除不必…

Mysql基础篇

1 数据库的三大范式 第一范式:强调的是列的原子性,即数据库表的每一列都是不可分割的原子数据项。 第二范式:在第一范式的基础上,消除非主属性对主属性的部分函数依赖。要求实体的非主键完全依赖于主键。所谓完全依赖是指不能存…

Linux进程间通讯

文章目录 Linux进程间通讯1、进程间通信介绍1.1、进程间通信目的1.2、进程间通信发展1.3、进程间通信分类 2、管道2.1、什么是管道2.2、匿名管道2.2.1、标准输入stdin和标准输出stdout通信2.2.2、父子进程通信2.2.3、父子进程通信现象2.2.4、父子进程通信特性2.2.5、进程池 2.3…

【window环境、Linux环境、QT三种方法实现TCP通信】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Windows环境下实现TCP通信1.服务器2.客户端3.运行 二、Linux环境下实现TCP通信1.服务端2.客户端 三、Qt实现TCP通信1.服务端1.客户端 总结 前言 大多数项目…

RAG文本解析工具open-parse

简介 对于RAG来说,将文本有效的分块(chucking)是很重要的一件事,open-parse是一个用来分块pdf的开源工具,它主要基于视觉驱动(Visually-Driven)的方式来将文档分块,也就是说它不仅仅是按照段落或者字数来对文档分块,而…

easyx 按键信息

前言 看看代码吧 ExMessage msg { 0 }; bool button(int x, int y, int w, int h, const char* text) {//绘制按钮setfillcolor(RGB(230, 231, 232));fillroundrect(x, y, x w, y h, 5, 5);if ((msg.x > x && msg.x<x w && msg.y>y && …

为什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?)

目录 1.分表 2.分库 说白了&#xff0c;分库分表是两回事儿&#xff0c;大家可别搞混了&#xff0c;可能是光分库不分表&#xff0c;也可能是光分表不分库&#xff0c;都有可能。 我先给大家抛出来一个场景。 假如我们现在是一个小创业公司(或者是一个 BAT …

java反序列化之URLDNS链学习

一、前言 近来学习java反序列化&#xff0c;听p神所说这个URLDNS利用链比较好理解&#xff0c;故决定由此进入学习的第一篇。 URLDNS是Java反序列化中比较简单的一个链&#xff0c;由于URLDNS不需要依赖第三方的包&#xff0c;同时不限制jdk的版本&#xff0c;所以通常用于检…

hertzbeat 源码阅读记录

关于自定义标签的说明 EmailValid.java HostValid PhoneNumValid 枚举值说明&#xff1a;

【OpenGL实践08】现代渲染管线在GLUT和Pygame和Qt.QOpenGLWidget上各自的实现代码

Qt.QOpenGLWidget进行现代渲染管线实验效果 一、说明 据说QOpenGLWidget是用来取代QGLWidget的继承者&#xff0c;我们试图将GLUT上的旧代码改成QOpenGLWidget&#xff0c;本以为差别不大&#xff0c;轻易搞定&#xff0c;经实践发现要付出极大努力才能完成。经多次实验发现G…

Java面试八股之Java中为什么没有全局变量

Java中为什么没有全局变量 Java中没有传统意义上的全局变量&#xff0c;这是因为Java语言设计遵循面向对象的原则&#xff0c;强调封装性和模块化&#xff0c;以及避免全局状态带来的副作用。 封装性&#xff1a; 全局变量违反了面向对象编程中的封装原则&#xff0c;即隐藏对…

【ZYNQ】zynq启动模式及程序固化

一、前言 由于zynq含有arm cpu ,其启动模式由ps主导&#xff0c;与纯逻辑的fpga不相同&#xff0c;此处做一个记录。 二、zynq启动模式 关于zynq的启动模式详细内容可以参考官方文档&#xff1a;ug585-Zynq 7000 SoC Technical Reference Manual&#xff0c;第六章。 2.1 启…

帮助中心系统搭建不再是难题,这几个工具来帮你

在面临客户服务挑战时&#xff0c;有效的帮助中心系统是提升用户满意度和解决问题效率的关键。幸运的是&#xff0c;搭建一个功能全面的帮助中心不再是什么难事。下面&#xff0c;我要为你介绍三款能够帮忙打造帮助中心的超实用工具&#xff0c;让你的客户支持体验迅速升级。 1…
最新文章