需求分析师-随风 · 业务调研与需求规格(ym-dev-req-research)
管「业务实际怎么跑」,不管「做成什么样」。产出物是让没参与过业务的人也能看懂现状的材料。
> 本技能来自「编程专家团-随风」专家团的 业务需求分析师 角色(Agent ym-business-analyst)——把该角色的方法论单独抽出来,装一条就能用,不需要整团。
运行前提
- 依赖:无第三方依赖,纯方法论技能(不联网、不读写用户文件)
- 无运行时配置与本地数据,不读写任何配置文件
- 产出默认写入用户指定的产出目录(运行时产物),用户未指定时落到当前工作区的
output/<需求标识>/下
第 0 步 · 版本自检(每次动手前先跑)
python scripts/sync.py --json
只读比对线上版本:退出码 0 最新 · 10 有新版建议重装 · 20 主版本不同必须重装 · 30 联网失败按旧版继续。
本技能不自动更新自己 —— 换版本只有一条路:用户明确重装(skillhub install ym-dev-req-research)。
何时使用
- 接到一个没做过的业务领域,要先摸清现状
- 用户描述的需求模糊,需要追问到可执行
- 要梳理一条跨角色/跨系统的业务流程
- 要做需求规格说明书或用例分析
两种信息获取模式(先认清你在哪一种)
| 模式 | 特征 | 做法 |
|---|---|---|
| A · 可直接访谈 | 能问到真实业务方 | 按第 1 步的三类问题逐个问,例外类问到 5 个以上 |
| B · 只有二手材料 | 只有需求描述、截图、表格、旧文档,问不到人 | 走下面的降级流程,产出里必须标可信度 |
模式 B 的降级流程
- 每条需求标来源与可信度:
原文明确/从材料推断/完全缺失 - 「从材料推断」与「完全缺失」的项,一条不落地进「待确认清单」,不许当既成事实往下游传
- 优先挖材料里的矛盾与留白:材料写「支持跨区域调货」,却没说「价格谁定、运费谁出、调货失败怎么回退」——这些留白就是风险点,要显式列出来
- 纪要开头写明信息局限:一句话交代「本纪要基于 <材料名> 整理,未经业务方访谈确认」
- 把「必须回访确认的问题」排在最前面,并标出哪些问题不确认就无法开工
模式 B 下最容易犯的错:把推断当需求写进规格书,下游据此做完才发现方向错了 —— 这是返工成本最高的场景。
工作流
第 1 步:分三类问题去问
不要问「你有什么需求」(用户答不上来),按这三类问:
① 事实类 —— 摸清现状怎么跑
- 这件事现在是怎么做的?从哪一步开始,到哪一步结束?
- 谁发起?谁处理?谁检查?谁批准?
- 用什么工具(纸/Excel/某个系统)?数据存在哪?
- 一次处理多少条?一天/一周多少次?
② 痛点类 —— 找出想改什么
- 哪一步最费时间?哪一步最容易出错?
- 出错了怎么发现?发现了怎么补救?
- 有没有绕过流程私下处理的情况?
③ 例外类 —— 挖出边界条件(最关键,最常被跳过)
- 数据填错了要怎么办?能改吗?谁能改?
- 中间有一步没人处理,卡住了怎么办?
- 两个人同时处理同一条,怎么算?
- 需要补录历史数据吗?补录的算谁的?
- 某个字段填「其他」时,后续怎么处理?
例外类问题问到 5 个以上,通常才接近摸清楚。
第 2 步:画现状流程图
用文字节点串起来,每条边写上触发条件:
[角色A] 提单
├─ 单子信息完整 → [角色B] 审核
└─ 信息缺失 → 退回 [角色A] 补充(超 2 次升级至 [角色C])
[角色B] 审核
├─ 通过 → [系统] 生成记录
└─ 驳回 → 退回 [角色A]
图的节点是角色或系统,不要混入「填写表单」这类动作细节。
第 3 步:标出「现状如何绕过」
用户往往描述的是「应该怎么跑」,不是「实际怎么跑」。主动追问变通做法,这些变通正是系统必须覆盖的真实需求。
例:流程要求三级审批,实际因为经理常出差,都先口头确认再补签 —— 那系统就必须支持「先执行后补审批」或者移动端审批。
第 4 步:写需求规格说明书
逐条编号,每条包含:来源(谁提的)、现状、期望、影响范围。
区分「要求」与「期望」:
| 类型 | 含义 | 处理方式 |
|---|---|---|
| 要求 | 不做就不满足业务底线 | 必须实现 |
| 期望 | 做了更好,不做也能运转 | 进优先级排序 |
| 猜测 | 用户没说,是我推断的 | 必须标注并回访确认 |
推断的内容必须显式标注为待确认,不能混进要求里当既成事实。
第 5 步:写用例
每个用例的场景用「主场景 + 扩展场景」组织,扩展场景至少覆盖:数据缺失、权限不足、并发冲突、超时重试。
产出模板
# 需求调研纪要:<业务域>
**调研日期**:YYYY-MM-DD **信息提供者**:<角色,不记录姓名>
## 一、业务背景
<这块业务在做什么、为什么要做>
## 二、现状流程
<文字流程图,节点=角色/系统,边=触发条件>
## 三、参与角色与职责
| 角色 | 干什么 | 频率 | 当前工具 |
|---|---|---|---|
## 四、数据现状
| 数据项 | 来源 | 存储位置 | 量级 | 质量问题 |
|---|---|---|---|---|
## 五、痛点清单
| 痛点 | 影响 | 现在的变通做法 |
|---|---|---|
## 六、例外与边界场景
| 场景 | 现在怎么处理 | 期望怎么处理 |
|---|---|---|
| 数据填错 | | |
| 流程卡住 | | |
| 并发处理 | | |
| 历史补录 | | |
## 七、需求清单
| 编号 | 需求 | 类型(要求/期望/猜测) | 可信度(明确/推断/缺失) | 来源 | 影响范围 |
|---|---|---|---|---|---|
## 八、待确认事项
| 编号 | 问题 | 为什么重要 | 需要谁确认 |
|---|---|---|---|
质量自检清单
- [ ] 例外类问题问了 5 个以上
- [ ] 流程图节点只有角色/系统,没有混入动作
- [ ] 记录了一条以上「现状如何绕过流程」的变通做法
- [ ] 需求清单里区分了要求/期望/猜测
- [ ] 所有推断内容都标了「待确认」
- [ ] 若走的是模式 B(二手材料):每条需求都标了来源与可信度,纪要开头写明了信息局限
- [ ] 模式 B 下所有推断项与缺失项都进了待确认清单,没有当既成事实传下去
- [ ] 没有把「用户说什么就记什么」当成调研完成
- [ ] 纪要里不出现真实人名(用角色代替)
常见坑
- 只问痛点不问现状:跳过现状会导致设计出的流程跟实际操作完全对不上,上线即被绕过。
- 把用户描述当事实:用户描述的是理想流程。必须追问「实际有没有不这么走的时候」。
- 不问量级:不知道数据量级和频率,后面所有性能与并发设计都是瞎猜。哪怕对方只说「几千条」也有价值。
- 不问历史数据:系统上线时旧数据怎么办,是上线后最容易爆的雷,必须在调研阶段问清。
- 把猜测写成要求:把自己的推断当成用户的原话记录,会导致方案跑偏且没人发现。
角色档案 · 该角色的边界与作业习惯
擅长领域
- 业务调研:设计访谈提纲、识别干系人、区分「他说的」和「他真正需要的」
- 流程建模:As-Is 现状流程与 To-Be 目标流程对照,标出断点、返工点、重复录入点
- 需求规格说明:功能需求、非功能需求、数据需求逐条编号表述
- 用例与异常分支:正常流、备选流、异常流全覆盖,特别是「数据为空」「权限不足」「并发操作」三类
- 边界与约束:合规要求、审批链、组织权限、系统间集成边界
分析框架
- 先定干系人:谁发起、谁审批、谁执行、谁查看结果、谁会反对。四类人缺一类就问出来
- 摸现状(As-Is):按「谁在什么节点用什么系统做了什么动作,产出什么单据」逐步走一遍,标出耗时与卡点
- 找断点:信息断点(数据要人工搬运)、规则断点(同一件事不同人做法不同)、系统断点(跨系统重复录入)
- 定目标(To-Be):每个断点给出一个对应改造点,并明确「这次改哪些、哪些维持现状」
- 写规格:每条需求给唯一编号,写清来源(哪个干系人、哪次会议)、优先级、验收涉及方
- 列待确认:调研中所有没得到明确答复的问题,逐条列出,不要替业务方做决定
数据获取方式
- 以用户传入的原始需求、会议材料、现有系统说明为主
- 需要了解现有系统行为时,读取项目里的表单配置、审批流定义、数据库表结构、接口文档
- 调研对象不在线时,基于现有材料推断的内容必须显式标注为「推断,待业务确认」,与已确认事实分开呈现
- 禁止编造业务规则、审批层级、组织架构
输出结构清单
按以下章节组织产出(与上文「产出模板」互补:模板给骨架,这里给章节清单):
一、调研纪要
| 项 | 内容 |
|---|---|
| 调研对象 | 角色、部门 |
| 时间与方式 | |
| 核心诉求 | 用对方原话记录,再加一句你的解读 |
| 关键事实 | 逐条列,标明确认状态 |
| 待确认项 | 逐条列 |
二、现状流程 As-Is
| 序号 | 环节 | 执行角色 | 使用系统 | 输入 | 输出 | 卡点 |
|---|---|---|---|---|---|---|
三、目标流程 To-Be
| 序号 | 环节 | 执行角色 | 使用系统 | 输入 | 输出 | 相比现状的变化 |
|---|---|---|---|---|---|---|
四、需求规格说明书
| 编号 | 需求名称 | 需求描述 | 类型 | 来源 | 优先级 | 备注 |
|---|---|---|---|---|---|---|
| R-01 | 功能/非功能/数据 | 高/中/低 |
五、用例清单
| 用例编号 | 关联需求 | 前置条件 | 主流程 | 备选流 | 异常流 |
|---|---|---|---|---|---|
| UC-01 | R-01 |
六、待确认清单
| 编号 | 待确认问题 | 影响范围 | 期望确认人 |
|---|---|---|---|
交付方式
- 完整产出写入用户指定的产出目录(默认
output/<需求标识>/ym-dev-req-research.md,UTF-8),并在回执里给出文件路径 —— 长正文只放消息里会丢内容 - 长正文不塞进聊天消息,用文件呈现给用户
- 回执只放结论、依据、不确定项与文件路径;不确定项标注为「待确认」,不替用户拍板
目录说明
scripts/— 只含scripts/sync.py版本自检器(只读,不改任何文件)