打开支付宝首页搜“523966799”领红包,领到大红包的小伙伴赶紧使用哦!

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 637|回复: 0

大厂方法论 + 案例:从 0 到 1 轻松拆解产品需求,对程序员的质疑说不 ...

[复制链接]

1614

主题

737

回帖

6663

积分

论坛元老

积分
6663
发表于 2023-6-16 18:18:22 | 显示全部楼层 |阅读模式
产品需求是如何落地到原型设计的?本文将结合案例和大厂产品经理常用的方法论,通俗化讲解如何系统拆解产品需求,希望对你有所收获。4 w& m( w# j+ y$ T" M

# L( G: @& N! ?
/ c. E- N5 `6 t" D* v" i$ g9 u0 A, b
一、产品经理设计思路是什么样* w4 k0 t! M& K; L1 S; U
面临新业务线拓展或者产品升级的时候,在收集到一大堆乱七八糟的需求后,你可能会想,我要怎么着手呢?答案是,搭框架找思路。% @" m4 X3 h6 p3 @8 v) l& x8 I* ^: ?
这是一个产品经理通用的设计思路框架,遵循由粗到细、自上而下的流程,具体如下:
- A% x: i2 B# ~0 q5 O战略层—–业务目标是什么,即定方向,含用户、使用终端、市场竞争力和解决方案、项目计划;想清楚做什么,即把具备价值的需求进行梳理优先级排序包括形成产品初步架构
' P5 Q" `2 ?0 ~搭框架—–(功能和 DFX 非功能框架)难点在于梳理功能的全面和思路;dfx 需求:保证用户使用产品的安全、性能、可拓展等需求注:DFX 其实很重要但大部分都会被忽视,此文不做拓展、后续会通过一篇文章进行详细说明,(产品经理千万不能只盯住功能做产品)9 ?' E6 b, @  `
拆细节—–业务流程(重点梳理异常分支和外围数据交互)、业务操作、信息结构)/ N& ]1 j7 Z4 k% F, J6 F/ f7 U
画界面—–交互设计、信息设计2 B0 |7 o9 E0 y/ y- h6 Q4 F
以上的思路大家可以按需参考,本文着重讲解拆解 2 步骤的方法,即搭建初步功能框架,并可落地到原型指导设计。
8 f; Q: ?( D" P7 r3 C 二、如何搭建功能框架呢?1 q. d0 k; H+ Y2 c) i
注:搭功能框架也是从宽度上定义业务范围,而不是要深挖细节、要注意避免陷入思路混乱、把握好分寸、见好就收。9 R* c) r; y4 s# c
1. 用例驱动设计法(UDD)% l* G% h$ j7 I+ G8 N  k- m
用例驱动设计是一种基于用户行为和需求来设计软件开发的方法,有步骤有层次梳理出系统功能的方法,可粗浅理解为用户故事,是一个通用的搭框架方法;如类似网购下单、酒店预定、银行贷款等场景;2 a4 ]' Q0 o( Q
整体思路遵循:识别参与者使用场景及问题—–定义描述用例(目标层用例—步骤层用例— - 实现层用例)并简化
2 L, }7 u! Y* X- e3 A; p(1)识别使用场景及问题% [% W! B. L* J  z7 D& a! R1 N
首先,我们通过华为 IPD 需求管理思路那篇,知道产品需求 = 基于场景的解决方案,因此拿到一个产品需求,我们需要想清楚对应的场景,即 5w1h1e。
- v" q3 I6 l) T1 h' H/ F& _2 owho(面向对象)、why、when+where(场景)、what(干什么)、以及 how(怎么实现)、else(限前置和后置), c9 w6 Z* N& d! F1 A
比如要做一个访客预约系统,按照上面的描述方法,我们明白了系统的使用场景是这样:0 }% M7 t! D- k$ q1 t5 B
一个基于外来访客,由于园区为了保障安全管理,在临时进入园区前,需要进行线上登记个人资料、并实名认证的产品,并且园区审核通过,验证身份才可以进入和离园。% D! J8 W$ a0 Q8 y
(2)拆分:目标层 - 步骤层 - 实现层
8 h7 k5 X2 L* l1 e" p/ f结合上面的例子:
+ o& V" M; B- X& Z. j  c访客进入园区就是目标层用例,为了实现这个整体目标,我们需要步骤层用例进行支撑,这时候就可以拆分为第一个大框架
) N) B9 v' Q( U9 a具体为:
2 ~- L% f3 A7 V4 h& D, o4 [步骤 1:访客在系统上提前登记—–线上预约/ _5 a" ?' O3 Z2 h6 r6 f
步骤 2:访客填写登记资料—–填写表单. s( J' F& J, i+ G$ p, [  x
步骤 3:园区通过系统审核资料并通知访客结果—–审核管理  Z( u# r, g0 b9 C4 P
步骤 4:访客接收通知— - 消息提醒, M$ v5 j: p! W! q( p7 c. c  w9 n
步骤 5:访客查看提交记录—–预约记录. O5 t2 X6 S) O3 v
步骤 6:访客获得许可进入园区—身份验证8 r* V& e$ y8 B, t
步骤 7:访客离园确认—身份验证
/ b1 I  @8 p( T5 Y# [7 J那针对每一个步骤层、具体如何实现呢?按照这个思路,通过拆分形成实现层用例(也就是用什么方案实现)
9 @/ k4 a2 z0 |8 q' ]" D% A+ r最终这个功能框架会形成这样、(注意把不同用户端分开保证用例全面)如图:
1 Q" ?3 W4 S& c* ^4 z: K
% s8 I) D* V/ l
7 H" F) A# R. {/ v. Y; c/ x9 e: J+ W7 i8 ]8 @- j
当然这是初步框架,仅作部分举例说明,你们可以自行拓展,只要保证覆盖全部的用例就行。
. B2 ?- U( O6 p# r+ X& k  Y2 _在这里,我们要注意几点:3 L  V3 v2 q# Z, l# `3 s6 T5 G5 H& [
在多种实现方案并存的情况下,如何权衡呢?
1 |3 o+ c" R+ N0 ~+ k1、结合功能实现成本、第三方对接周期、客户需要、技术实现能力、外围的交互模块等多方面因素进行决策,选择一个较为合理的实现方案:& p' h) c3 s2 y: Y( t7 I- n
2、如上面的进出身份验证,给了 4 种方案,有通行扫码、临时卡、人脸识别、指纹、语音,包括我们常见的支付也可以多种路径实现,如现金支付、信用卡支付、微信支付等
! m3 t! P5 Z" z5 a( Q: a, K: Q小结:3 r; c' _/ N( O( u6 H6 j: r
1、工具:建议用思维导图、或者用例图进行梳理' p+ D. l7 X" T4 ^6 S7 P. ]
2、目标:是形成产品功能结构(含一级特性、二级特性、甚至三级特性)
& }4 V( R( X/ X3、适用项目:比较独立、小型或需要快速迭代和更新的项目,注重从用户的角度出发来描述系统的功能需求
9 Y9 N, J: B# ~5 E# j2 d6 L4、特点:方便快捷、拓展性较差、易于理解协作,但难以适用复杂业务
  m% X/ ], Z# B& j) e 2. 流程驱动设计法(PDD)
6 j4 H9 z8 O3 c9 \适用于业务协作方较多,具备较复杂的业务层级及审核,更注重流程标准化管理的产品,如 CRM、ERP 系统、工单管理系统、采购系统、数据精细管理等。3 z/ T8 y8 k0 k, W4 C6 o. r
整体思路遵循:识别关键业务流程—–拆分目标层用例—–业务操作
4 M3 R6 x6 S& o9 A1 i4 l" a# ]比如 CRM 系统的流程是有明显前后顺序的,且为了精准做好客户关系管理,标准化的流程非常重要。通常按照以下步骤进行操作:& f7 n: m( o! |; {3 X6 m
1、客户档案创建和维护—–客户管理流程
6 L+ X+ N' W5 K3 B: [( U' G2、销售机会(Lead)创建和跟进——销售管理流程" E8 _* I$ w. Z2 s" U9 ^5 W
3、市场活动的策划、执行和跟进—— - 市场活动管理流程# s6 Y  d' v, f: |0 n
结合以上顺序流程,就很适合用 PDD 来搭框架,我们大概拆分出几个目标层,并进一步落地到具体的功能模块中。下面是一些可能包括的模块:* ?% L) ^4 n/ D& |/ D4 Y
客户管理模块:
" F# c. F* T- s' v; A8 S2 Wa. 客户档案:创建、查看、编辑、删除客户资料;
& r4 O; N: x' [6 ]! i6 [: Sb. 客户分类:对客户进行分组和标记,例如根据客户来源、优先级、交易状态等进行分类;9 q- ]2 H; m; t; h# `5 f9 F) j. w
c. 客户关系历史记录:记录客户与企业之间的活动历史,包括通话、邮件、漏斗进展等。3 o( k" H1 ?  P; M
销售管理模块:
; E9 b! W- H0 E" p) s9 c* Wa. 销售机会(Leads):创建、跟进、评估及关闭销售机会,可以关联相关的客户信息;
1 }1 Y- D6 J2 O  {- }b. 产品 / 服务信息:录入、查看、编辑和删除产品或服务信息;+ y& ?+ `4 N, Y9 u' C9 ^% ^1 H
c. 报价单 / 订单:创建、发送、听取意见、确认并完成报价和订单交付等流程;9 M  _7 y+ V$ ]6 l
d. 合同信息:建立一个合同管理库存储合同信息,以追踪合同执行情况和收款计划。4 r9 F' g+ _, z1 o1 ]: X0 g
市场活动管理:
- ], x$ c4 Q% P1 n- j, F6 }a. 活动策划:创建市场活动,定义主题,摘要、预算、时间表等参数;
2 X# C. N# o. W4 O! e/ cb. 活动跟踪:批量创建活动推广计划来实现对活动方案的执行,包括在线广告、email、电话营销等;  D- ~# O9 L. q5 z
c. 活动分析:记录活动成效,比如邮件打开率、转化率等进行绩效统计,以及对活动与销售数据的关系分析。
4 z7 ]) S, i; O+ p在设计过程中,功能模块要尽量紧密贴合上述 CRM 系统的整体流程,具体实现时,也可依据企业的运营或者工作方式进行特定的定制。9 [8 o- f# J" E% L# k6 r' {, e+ y
例如,在某些企业中市场活动管理可能更为重要,根据不同的客户属性,社交媒体营销方式有些偏年轻化公司会利用大量互联网和移动设备,而传统行业的企业上门拜访更常见。
! R: U7 @4 E7 r7 o, r! P' O- p' O1、适用项目:PDD 适用于更大型、复杂或需要对业务流程进行全面分析和优化的项目。
# V* B3 N- W7 o  b# b: G# _2、工具:UML 流程图、状态图等, p2 i5 k1 X1 F- o0 ?- T3 Z0 A
3、优点:帮助理清内部系统数据、业务流程,基于过程建模,从整体到局部深度设计,复杂业务简单化' d5 C' r7 R/ d8 F) t2 _3 T. W
4、缺点:过于关注流程,导致各个子系统业务耦合较高,难以实现拓展* a' y8 F- }, E' g  \
3. 领域驱动设计(DDD)' j2 M3 i+ R, J
领域驱动设计(Domain-Driven Design,DDD)是由领域驱动设计之父埃里克 · 埃文斯提出的,涵盖面较广,其核心思想是先梳理领域信息结构和业务规则,再梳理业务的用例、流程和操作等内容。
8 ^. Y8 J1 _) o# Y  p# V整体思路遵循:确定场景领域— - 识别核心领域对象(信息结构)— - 业务规则(定义对象之间的属性关系及行为)—–其他模块的交互9 X$ l1 u/ W4 ]6 O7 v* C
举例:场景领域— - 电子商务平台! r) C3 G, B( ]- K$ I
我们识别到的核心对象为:
0 [2 u1 t1 z/ s1 W商品管理:包括商品信息的管理、上架、下架、分类、标签等。! Q* q/ L/ L( \. G2 F# v
订单管理:包括订单的生成、查询、修改、删除等。4 f& R' T# p* K, `
用户管理:包括用户信息的注册、登录、个人信息维护等。) }: c% A" N$ \( B
支付管理:包括各种支付方式的接入、支付状态的管理和处理等。
" c" l/ s/ w1 J; V物流管理:包括订单状态的跟踪、配送信息的记录、快递单信息的管理等。
6 V$ ]6 k. ^% f! t售后服务:包括退换货的处理、客户服务的管理、投诉反馈的处理等8 i9 U. W; g6 U! j# z! D
这里以订单管理为例,用类图表达信息结构。
6 W8 A3 q5 L! \+ z# m+ K; a- O" g信息结构表述了信息内容之间的关系。这种关系可以用类图(Class Diagram)来表达。
4 U( M9 }2 Q- F
3 U! O' T3 K; l1 Q0 m3 f0 r! w9 J1 E5 Y; \. m9 f3 I0 R# R

6 N) T" z/ V1 `5 p/ h+ l6 A. H' R该图片来源于图书【" 图解 " 产品:产品经理业务设计与 UML 建模】作者擎苍
& G# ]$ N% i2 c当我们使用类图来识别领域模型和实体关系后,需要根据业务需求和限制条件定义对象、属性、操作业务规则和流程,如买家只能在特定时间段内下单,不能重复购买同样的商品;订单满足 3 人立刻成团进入待支付;订单超时未支付自动取消等。
. C$ g  J/ t' R* v最后,在实现层,我们需要识别系统内的其他部分或与系统交互的部分,并确定他们对业务领域的影响。比如,与支付相关的银行接口、第三方支付接口、物流跟踪动态数据的集成等都是我们必须考虑的。* q6 Q7 ]9 ?# P6 b/ h2 P% L
适用行业:复杂且灵活多变的行业需求,开发此软件的公司,通常是行业的引领者,如中台等大型团队项目8 }* Z; A5 s0 r
工具:UML 类图、思维导图
; r5 l' P9 e* V$ Y9 G" i; R6 m8 y优点:低耦合可扩展、能灵活应对复杂业务变更需求、可增强代码质量* H% s  x3 |8 w6 D, t: R
缺点:团队技能要求高、时间成本高、协调难度高、编码量增加(长期来看是值得的)) h" G1 {+ O' w, V, j. B
注:通过选择合适的方法论,我们完成了产品设计第 2 步:搭框架,后续再通过第 3 步拆细节,重点梳理各分支下的异常流程,逐步完善细节,最后一步,再进行页面信息收集填充,剩下的就是画原型了,此处不做展开。$ m# q% D4 D+ d
三、面对不同项目,如何选择?
& D$ G8 k; |( Q' k6 a; B综上,通过以上 3 种搭功能框架的方法论,我们知道,产品设计方法论,包含用例驱动设计发(UDD)、流程驱动设计法(PDD ) 、领域驱动设计法(DDD),我们来整体再做个对比总结,通过以下维度进行决策,方便我们在具体的项目设计中,选择较为合适的方法。
2 N8 T! q) K) _! S4 G/ e  f
/ W- f3 O$ j4 [/ `$ e% b' f5 h& B1 Z
; Q: N- y* n2 u+ ]
& l: ~4 }1 ]( K0 Z% s0 \9 }& o当然,他们各自有优缺点,在一个项目里,完全可以结合交叉使用。
4 E) u! T, G% O4 _, B8 u 四、拆解需求需要具备的能力和思维
3 o) m: ?- z+ m$ l+ G设计思维:清晰的产品设计思路、并形成自己的通用方法论,掌握并应用(如上面的 3 种方法)、包括其他的成熟模型(如 AARRR 模型…)1 b' w# X3 J6 k; N- R) s9 Z) V
设计方案:内心要有很多成熟可用的方案思维和评估方案的能力,就需要多练多看、多去关注一些最新的技术,不然没法梳理框架里具体都包含什么,怎么实现8 |$ b% _2 P! A& g2 K
深度思考能力:多使用结构化思维培养深度思考能力、体现在异常流程、外围数据交互处理上(平时要多观察竞品、多问几个为什么、包括开发阶段潜在的问题、面对开发的质疑才可以真正说不)
  ]4 F' e* `' Z- W  \0 J7 ?" I; D1 a最佳的 UI 感及交互设计能力(审美、人机交互最佳策略)
- ]& F1 X& q; Q工具使用能力:巧用 UML 建模,事半功倍(重点关注类图、用例图、状态图、流程图)、还有其他思维导图等
' [$ q- N! q0 n! \8 @ 五、其他想说的话2 F4 g1 w- }! E. R, [. Z
本文的重点是教大家如何通过成熟的方法论,拆解需求指导原型设计,在写的时候,里面其实包含了很多知识点,并没有展开:. U- S1 E: Z+ C  O6 Q
比如最容易被忽视的 DFX 需求:UDD、PDD、DDD3 种方法论如何灵活保证系统的 DFX 需求,这部分产品经理必须有相应地思考和考量,不能老是产品做了用不起来或者代码混乱、后面维护难、迭代难……
  Q0 ]% R: X) P9 U' pUML 建模能力的学习:高效辅助产品经理工作,梳理需求和团队协作、包括作为评审材料后期可进行系统设计检视,很值得研究运用,但不是都要学;
; V1 S9 `( r' R' D" G, o- U5 ~再比如产品设计由静态到动态,框架的各个模块之间如何进行交互设计关联;页面信息结构怎么收集并合理展示…… ..: q# K, |! u  k. V% P* ~$ d$ R
后续我也会慢慢整理总结、输出。
+ \7 K# m, f4 U& j3 I, ^8 m最后,我们还可以问自己一个问题,从程序员角度,逆向考虑下,程序员拿到一个需求,都是怎么拆解并实现的?2 K5 m+ l( G. w
或许你会知道,你设计的功能是不是相对完美的。
; W( l+ `- o6 d0 S本文由 @凯拉 Kella 原创发布于人人都是产品经理,未经作者许可,禁止转载。4 O  e9 M. @" d3 K) S
题图来自 Unsplash,基于 CC0 协议。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /7 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )

GMT+8, 2024-9-20 06:53 , Processed in 0.028757 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表