Files
harness_coding_docs/docs/07-user-stories.md
T
chengma 5d68fca5e7
Harness governance / validate (push) Has been cancelled
docs(tasks): complete H-410 template consolidation
2026-07-17 09:54:56 +08:00

5.8 KiB

用户故事清单

本文记录“谁在什么场景下,为了获得什么价值,要完成什么目标”。它是产品需求的细化清单,不写接口、数据字段、组件实现或逐个按钮的行为。 页面如何响应操作见交互清单;页面入口和导航见路由与页面结构;接口形状以API 合约为准。

一、何时使用

  • 有用户角色、业务目标或交互式界面的项目,必须为每个 P0 闭环维护用户故事。
  • 无图形界面的 CLI、批处理或纯基础设施项目,也可用本文描述操作者目标;没有界面交互时,不必建立交互清单。
  • 一个用户故事描述一个可感知的业务结果,不按“一个页面”“一个按钮”机械拆分。

二、职责边界与关联

信息 权威文档 说明
MVP 范围、优先级、非目标 需求 先定做什么,再细化故事。
用户目标、场景与验收场景 本文 每个故事使用稳定的 US 编号。
页面操作、状态与反馈 交互清单 每项交互使用稳定的 IX 编号,并回链 US。
页面入口、导航与组件归属 路由与页面结构 不在本文复制路由表。
接口、事件与错误格式 API 合约 不在本文虚构接口路径或字段。
  • 用户故事 ID 使用 US-001、US-002 的形式;编号一经引用不要重用。
  • 一条用户故事可以关联多条交互;每条面向用户的 P0 交互都应回链至少一个用户故事。
  • 需求变化时,先更新需求,再同步本文和受影响的交互清单、任务验收。

三、用户故事总表

ID 标题 优先级 角色 要达成的目标 关联功能 关联交互 状态
US-001 【一句话故事名】 P0 【角色】 【用户结果】 【功能名】 IX-001、IX-002 【待确认 / 已定】
US-002 【一句话故事名】 P1 【角色】 【用户结果】 【功能名】 【IX 编号或不适用】 【待确认 / 已定】

四、故事详情模板

US-001 【故事标题】

  • 优先级:【P0 / P1 / P2】
  • 关联功能:【02-requirements.md 中的功能名称】
  • 关联页面 / 入口:【路由、命令或入口名称】
  • 关联交互:【IX-001、IX-002;无 UI 时写不适用】
  • 角色:【谁】
  • 使用场景 / 前置条件:【何时、在什么限制下】

用户故事

作为【角色】,我想要【完成的目标】,从而【得到的价值】。

范围

  • 包含:【本故事必须覆盖的结果】
  • 不包含:【明确不做或由其他故事承担的内容】

验收场景

  1. 假如【前置条件】,当【用户目标相关的动作发生】,那么【用户可观察到的结果】。
  2. 假如【异常、权限或数据边界】,当【用户尝试目标】,那么【系统如何保护用户并给出下一步】。
  3. 假如【需要保存、同步或恢复】,当【用户离开再返回】,那么【应保留或应丢弃的结果】。

待确认

  • 【业务规则、角色权限、数据边界或文案决策】

五、编写规则

  • 先写角色、目标和价值,再写验收场景;不要把“点击某按钮”当作故事本身。
  • P0 故事必须可独立验收,并明确成功、失败或无权限时用户得到的结果。
  • 同一故事的细粒度点击、输入、加载、校验、确认与撤销,写入交互清单。
  • 未确认的规则写为【待确认】,不要让 agent 在代码中自行补全。
  • 需求、优先级或范围改变后,检查关联 US、IX、任务文件和验收标准是否仍一致。

六、交付前检查

  • 每个 P0 功能至少关联一个 US 编号。
  • 每个故事都说明角色、目标、价值和可验证的验收场景。
  • UI 故事已关联对应 IX 编号;无 UI 的故事明确标为不适用。
  • 故事没有复制接口、字段或组件实现细节。
  • 范围、优先级与需求一致。

七、填写示例

本节只演示如何填写字段,所有【占位符】必须替换为项目事实;不要把示例当作通用业务规则。

示例总表

ID 标题 优先级 角色 要达成的目标 关联功能 关联交互 状态
US-001 【完成核心操作】 P0 【目标角色】 【完成后得到的价值】 【功能 1】 IX-001 【待确认 / 已定】
US-002 【确认执行影响数据的操作】 P0 【目标角色】 【理解影响后完成操作】 【功能 2】 IX-002 【待确认 / 已定】

US-001 【完成核心操作】

  • 关联页面 / 入口:【页面、命令或入口】
  • 使用场景 / 前置条件:【用户已满足的条件】

作为【目标角色】,我想要【完成核心操作】,从而【获得明确价值】。

验收场景

  1. 假如【前置条件】,当用户【执行目标相关的动作】,那么【可观察到成功结果】。
  2. 假如【异常、权限或边界条件】,当用户尝试该目标,那么系统【解释原因并提供下一步】。

US-002 【确认执行影响数据的操作】

  • 关联页面 / 入口:【页面、命令或入口】
  • 关联交互:IX-002

作为【目标角色】,我想要在了解【操作影响】后确认或取消【操作】,从而【避免意外结果】。

验收场景

  1. 假如【操作会影响已有数据】,当用户发起【操作】,那么系统【明确说明影响并提供确认与取消】。
  2. 假如用户取消或操作失败,那么系统【保留必要上下文并说明恢复路径】。