软件分析与设计笔记 05:范围界定(用户侧):用户画像与客户旅程图

为什么「所有用户」是一个陷阱,项目边界该怎么划,用户画像要写哪五个要素、最容易写成什么废纸,客户旅程图怎么把阶段、想法和情绪画在同一张纸上,以及怎么从这两样东西一步步推到可验证的需求。

学习#需求分析#用户研究#用户画像#学习笔记

本文是 《软件分析与设计笔记》 系列的第 5 篇,共 28 篇

这是我在学习软件分析与设计时整理的系列笔记。概念部分是我按自己的理解写的,示例场景与图示都是自己编、自己画的。理解有偏差的地方欢迎指出。

贯穿案例:片区家电维修派单系统。04 篇做了预习,这一篇做范围界定(谁来用、用在哪、什么不做)。

0 「所有用户」是个陷阱

需求讨论里最常见的一句话是:「这个功能所有用户都会用到。」

问题在于,「所有用户」根本不存在。在贯穿案例里,「客户」这个词至少包着三种完全不同的人:

  • 赶时间的上班族 —— 只想知道「今天下午能不能来」,能请假等他;
  • 独居老人 —— 关心「师傅靠得住吗」,宁愿等也要熟人;
  • 替父母报修的子女 —— 人在外地,只能远程盯着进度。

面对同一个「报修」页面,他们焦虑的点完全不同。为所有人设计,通常等于为没人设计。

范围界定(scoping)的第一步,就是先做一次用户分群(user segment),再从里面挑出真正要服务的那几个。

1 先把边界划出来

1.1 两份清单

在谈用户之前,先明确项目的边界,通常写成两个清单:

  • in scope(在范围内):这次要做的业务、角色、渠道;
  • out of scope(在范围外):这次明确不做的部分。

贯穿案例的第一版可以这样写:

in scopeout of scope
客户在线报修、查进度在线支付维修费(本期线下收)
客服建单、派单、改约配件采购下单(只做缺料提醒)
工程师接单、回填、申请备料客户自助更换配件
仓管出入库、缺料预警工程师绩效考评
片区经理看板与厂商保修系统的对接

1.2 为什么 out of scope 更值钱

第二个清单比第一个更值钱。项目后期一半的争执,来自「这个当初是不是说了要做」—— 如果一开始就写清「本期不含在线支付」,后面就不需要争。

而且这张表有个隐蔽的好处:它逼你说出「本期做不到的事,用户怎么办」。比如「不做在线支付」,那就要在界面上写清「费用由工程师上门收取」,否则客户会来问。

边界与 scope boundary(范围边界)是同一个东西的两种叫法:它划的是责任范围,不是能力范围。

2 用户画像(Persona):五个要素

2.1 五个要素

Persona(用户画像)是一个虚构但典型的用户档案。它的价值不在于「像真人」,而在于让团队讨论需求时有一个具体的人可以指。

一份有用的用户画像至少包含五个要素:

要素要回答的问题本例:客服小林
目标 Goals他想达成什么?一天结束时不留下未派的单
行为 Behaviors他现在怎么做这件事?把报修记在 Excel,然后逐个打电话问工程师
环境 Context他什么时候、在哪、用什么做?办公室,两台显示器,电话不断
痛点 Pain Points他在哪一步受挫?不知道谁有空;临时塞单会打乱工程师路线
限制 Constraints什么条件约束了他?不能给工程师排太满;客户要求当天响应

2.2 「行为」这一栏最容易写废

「行为」这一栏最容易被写废。常见的错误是把用户画像写成人口统计表:35 岁、女性、本科学历、年收入 8.5 万 —— 这些信息很难指导任何设计决策。

能指导决策的是行为:他上一次做这件事时的实际操作是什么样的。

对比一下两种写法:

写废的版本能用的版本
小林,28 岁,大专,已婚小林先把报修记进 Excel 的第 37 行,再翻开一个写着工程师名字的便签本,逐个打电话问「你明天上午有空吗」;如果对方没接,她会先记下来,处理完别的再打第二次

右边这一栏直接告诉了你三件事:她的工作记忆靠 Excel 和便签本、她必须串行确认、她会因为联系不上而中断流程。每一条都能变成设计输入。

用户画像与客户旅程图的结构:上半部分是 persona 的五个要素,目标、行为、环境、痛点、限制,每个要素都配了本例中客服小林的具体内容;下半部分把客户报修旅程分成报修前、等待上门、上门中、上门后四个阶段,每列列出用户在想什么、触点是什么,并用一条情绪折线标出情绪起伏,其中「等待上门」阶段情绪最低

3 客户旅程图(Customer Journey Map)

3.1 一列里放什么

Persona 说清「他是谁」,Customer Journey Map(客户旅程图)说清「他经历了什么」。它把一件事拆成连续的阶段(stage),每一列包含:

  • 阶段 —— 报修前 → 等待上门 → 上门中 → 上门后;
  • 他在做什么 —— 具体动作;
  • 他在想什么 —— 每个阶段的顾虑和疑问;
  • 触点(touchpoint) —— 他在哪个界面、渠道或人那里接触到你;
  • 情绪(emotional curve) —— 把每个阶段的感受高低连成一条线。

贯穿案例里,客户这条旅程填出来大致是:

阶段他在做什么他在想什么触点情绪
报修前找报修电话、描述故障「能不能今天来?多少钱?」电话、小程序平
等待上门在家等,反复看手机「到底几点到?我要不要请假?」无(真空)最低
上门中开门、说明情况、看维修「这个零件该不该换?贵不贵?」工程师中
上门后付款、试机、留评价「会不会又坏?保修多久?」纸质单、短信回升

3.2 情绪曲线才是重点

最后那条情绪折线是整张图的重点。它把「哪里让人不爽」从模糊的感受变成看得见的位置 —— 图上情绪最低的那一格,就是最值得先动手的地方。

注意上面那张表里「等待上门」这一行的触点写的是「无」。这是个很重要的发现:不是这个环节做得不好,而是这个环节根本不存在 —— 客户付完报修电话之后就进入了信息真空。这比笼统地说「客户体验差」有用得多,因为它直接指向了「进度可见性」这个具体缺口。

3.3 旅程图同时也是用例图的底稿

这一点和考试直接相关。样卷里有一问要求「用客户旅程图,标出每个阶段的期望由哪些用例回应」。那张表其实就是把上面这张旅程图的最后两列,配上用例名:

阶段该阶段的期望回应的用例
报修前快点找到人Report Fault
等待上门想知道几点到Track Engineer Arrival
上门中希望一次修好Update Work Order、Request Parts
上门后想评价、想查历史Rate Service

写完旅程图,用例图的骨架就有了。这也是为什么这两件事在课程里挨着讲 —— 它们本来就是同一份材料的两面。

4 只挑关键的那一两个

用户画像不是越多越好。常见的做法是分主要用户画像(primary persona) 和次要用户画像(secondary persona):主要的那一个决定核心流程怎么设计,次要的只要求「不被妨碍」。

贯穿案例里,主要画像应该是客服小林,而不是客户 —— 这个判断可能反直觉,但理由是成立的:系统的核心动作是派单,而派单是小林在做。客户是受益者,但不是操作者;如果按客户的画像去设计,会做出一个漂亮的查询页,而派单依然靠 Excel。

次要画像给客户和工程师:客户只要求「能看到进度」,工程师只要求「别给我排冲突的单」。

如果团队能画出五个同样重要的用户画像,通常说明还没有做出取舍 —— 访谈取样时要按类别挑代表性用户(representative user),而不是随手找最方便的人。

5 从这两样东西推到需求

5.1 从画像到需求的三步

有了 persona 和 journey map,往前推需求的路就清楚了,大致三步:

  1. 找情绪最低点。 定位到具体阶段与触点 —— 本例是「等待上门」,触点是「无」;
  2. 问为什么低。 回到用户的想法栏 —— 「到底几点到?我要不要请假?」;
  3. 写成可验证的需求假设。 「客户在等待阶段的主要焦虑是不知道时间 → 如果提供工程师实时位置与预计到达时间,客户来电询问进度的次数会下降」。

第 3 步是这三步里唯一有交付价值的:它同时写清了要做什么、以及怎么判断有没有效。

注意第 3 步里那个「→ 后面」的半句。它不是修辞,而是验证条件。没有它,这只是一句愿望;有了它,你才知道上线后该看哪个数字。

6 常见的四个错误

  • 把 persona 写成简历。 堆人口统计信息,看不出行为特征,对设计没有帮助;
  • journey map 只有流程没有情绪。 那它就退化成一张普通的流程图,失去了「哪里最痛」这个信息;
  • 只画「应该发生」的旅程。 旅程图要画用户实际怎么走,包括那些变通做法(workaround)—— 本例里客户为了知道几点到,会再打一遍电话,这个「重复拨打」就该画进去;
  • 画像和需求脱节。 画完贴在墙上,后续文档再也用不到 —— 好的用法是让每条需求都能指回某个画像的某个痛点。

本节自测

  1. 为什么「所有用户都会用」这句话对设计没有帮助?本例中「客户」至少可以分成哪三类?
  2. in scope 和 out of scope 两份清单,哪一份在项目后期更有价值?为什么?
  3. 用户画像的五个要素里,哪一栏最容易被写成无用信息?应该改成记录什么?
  4. 客户旅程图里的情绪曲线解决了什么问题?本例情绪最低的那一格有什么特别之处?
  5. 把「客户老是打电话问几点到」改写成一条可验证的需求假设。
  6. 为什么本例的主要用户画像应该是客服小林,而不是客户?
  7. 客户旅程图和用例图是什么关系?

参考答案

  1. 因为「所有用户」不存在,为所有人设计等于为没人设计。本例「客户」至少分三类:赶时间的上班族(只关心能不能今天来)、独居老人(关心师傅靠不靠谱)、替父母报修的子女(只能远程盯进度)(§0)。
  2. out of scope 更值钱。因为项目后期一半的争执来自「这个当初说了要做吗」,写清不做什么能直接消掉这些争执;它还逼你说出「做不到的事用户怎么办」(§1.2)。
  3. 「行为」这一栏。最容易写成人口统计(年龄、学历、收入),这些指导不了设计。应该记他上一次做这件事的实际操作,例如小林怎么翻便签本、怎么打第二次电话(§2.2)。
  4. 它把「哪里不爽」从模糊感受变成看得见的位置。本例情绪最低的是「等待上门」,特别之处在于它的触点是「无」 —— 不是做得不好,而是这个环节根本不存在,客户进入了信息真空(§3.2)。
  5. 「客户在等待阶段不知道工程师何时到达 → 如果提供实时位置与预计到达时间,来电询问进度的次数会下降」。后半句是验证条件,没有它只是愿望(§5.1)。
  6. 因为系统的核心动作是派单,而派单是小林在做。按客户画像设计会做出漂亮的查询页,而派单依然靠 Excel。客户是受益者但不是操作者(§4)。
  7. 旅程图的最后两列(期望 + 回应方式)配上用例名,就是用例图的骨架。样卷要求「用旅程图标出每个阶段由哪些用例回应」,那张表正是两者之间的桥(§3.3)。

术语表

术语中文一句话解释
scoping范围界定明确本次做什么、不做什么
scope boundary范围边界划清系统与项目责任的那条线
in scope / out of scope在范围内 / 范围外本期要做 / 本期明确不做
persona用户画像虚构但典型的用户档案,用于讨论需求时指代具体的人
primary persona主要用户画像决定核心流程设计的那一个用户形象
secondary persona次要用户画像只需保证不被妨碍的用户形象
user segment用户分群按特征把用户划分成若干群体
customer journey map客户旅程图把用户完成一件事的阶段、动作、想法与情绪画在一起
stage阶段旅程图上的一列,表示旅程中的一个环节
touchpoint触点用户与产品、服务或人员发生接触的位置
emotional curve情绪曲线把各阶段的情绪高低连成的线,用来定位最痛的位置
pain point痛点用户在当前流程中受阻或不满的地方
representative user代表性用户能代表某一类用户的关键个体,常用于访谈取样
workaround变通做法用户绕开现有流程问题的临时手段

© 2026 HuanYu Blog

记录技术,也记录思考