114 lines
4.5 KiB
Markdown
114 lines
4.5 KiB
Markdown
# 需求变更管理
|
||
|
||
本规则用于指导需求变更识别、影响评估、文档追加和任务闭环。
|
||
|
||
## 启用条件
|
||
|
||
- 当用户提出与已确认的 `pmdocs/0-req-XXX.md`、`pmdocs/1-prd-XXX.md` 或 `pmdocs/2-task-XXX.md` 不一致的要求时,先判断是否属于需求变更。
|
||
- 只有影响以下任一范围时,才启用完整变更机制:需求、PRD、任务、数据库、接口、权限、核心 UI 流程。
|
||
- 小变更不要过度文档化:文案调整、样式微调、明显 bug 修复、无业务含义的配置微调,不需要创建完整变更文档;可在任务记录或回复中简要说明。
|
||
|
||
## 核心原则
|
||
|
||
- 每次重要需求变更创建独立变更文档,不覆盖历史内容。
|
||
- 原始 `pmdocs/0-req-XXX.md`、`pmdocs/1-prd-XXX.md`、`pmdocs/2-task-XXX.md` 只追加版本标注和变更引用,不重写历史决策。
|
||
- 变更必须从"影响评估"进入"任务落地",最后完成闭环。
|
||
|
||
## 变更文档命名
|
||
|
||
- 变更文档路径:`pmdocs/changes/YYYY-MM-DD-序号-主题.md`。
|
||
- 示例:`pmdocs/changes/2026-07-05-001-权限码调整.md`。
|
||
- 每份变更文档必须包含:背景、原因、目标、范围、影响评估、落地任务、状态、完成记录。
|
||
|
||
## 六步流程
|
||
|
||
1. 创建变更文档:`pmdocs/changes/YYYY-MM-DD-序号-主题.md`。
|
||
2. 评估影响:使用 7 维度影响评估表。
|
||
3. 更新原文档:在 `pmdocs/0-req-XXX.md`、`pmdocs/1-prd-XXX.md`、`pmdocs/2-task-XXX.md` 对应章节末尾追加 `v{版本}` 更新标注和变更文档引用。
|
||
4. 更新变更索引:在 `pmdocs/CHANGELOG.md` 追加变更记录。
|
||
5. 开发落地:按 `pmdocs/2-task-XXX.md` 新增任务执行,并关联变更文档。
|
||
6. 完成闭环:任务标记 `[x]`,变更文档状态标注完成,索引状态同步更新。
|
||
|
||
## 7 维度影响评估表
|
||
|
||
变更文档必须包含以下表格:
|
||
|
||
| 维度 | 是否影响 | 影响说明 | 处理动作 | 状态 |
|
||
|---|---|---|---|---|
|
||
| 需求 | 是/否 | 影响哪些 REQ 条目 | 追加版本标注 / 新增需求 | 待处理/已处理 |
|
||
| PRD | 是/否 | 影响哪些产品场景或功能 | 追加版本标注 / 调整优先级 | 待处理/已处理 |
|
||
| 任务 | 是/否 | 新增或调整哪些 TASK | 追加任务 / 调整依赖 | 待处理/已处理 |
|
||
| DB | 是/否 | 表、字段、索引、迁移影响 | 新增 migration / 回滚方案 | 待处理/已处理 |
|
||
| 后端 | 是/否 | API、服务、权限判断影响 | 修改接口 / 服务 / 测试 | 待处理/已处理 |
|
||
| 前端 | 是/否 | 页面、组件、状态、交互影响 | 修改页面 / 公共组件 / 测试 | 待处理/已处理 |
|
||
| 权限码 | 是/否 | 角色、权限码、访问边界影响 | 更新权限表 / 权限校验 | 待处理/已处理 |
|
||
|
||
## 原文档追加标注格式
|
||
|
||
在对应章节末尾追加:
|
||
|
||
```markdown
|
||
📌 v{版本} 更新:见 pmdocs/changes/YYYY-MM-DD-序号-主题.md
|
||
影响范围:REQ-xxx、PRD-xxx、TASK-xxx
|
||
状态:已纳入 / 已完成 / 已废弃
|
||
```
|
||
|
||
## 确认要求
|
||
|
||
- 中大型变更执行前说明:影响范围、工作量、风险、回滚方案、需要回归测试的功能。
|
||
- 架构调整、多模块影响、数据结构或 API 破坏性变更,必须获得明确确认。
|
||
- 小规模明确变更可简要说明后直接执行。
|
||
|
||
## 变更文档模板
|
||
|
||
```markdown
|
||
# CHG-YYYYMMDD-001:变更主题
|
||
|
||
## 背景
|
||
为什么要做这个变更
|
||
|
||
## 原因
|
||
用户需求 / 线上问题 / 技术债 / 架构调整
|
||
|
||
## 目标
|
||
变更期望达成的目标
|
||
|
||
## 范围
|
||
影响的功能模块、页面、接口、数据
|
||
|
||
## 影响评估
|
||
|
||
| 维度 | 是否影响 | 影响说明 | 处理动作 | 状态 |
|
||
|---|---|---|---|---|
|
||
| 需求 | 是/否 | ... | ... | 待处理/已处理 |
|
||
| PRD | 是/否 | ... | ... | 待处理/已处理 |
|
||
| 任务 | 是/否 | ... | ... | 待处理/已处理 |
|
||
| DB | 是/否 | ... | ... | 待处理/已处理 |
|
||
| 后端 | 是/否 | ... | ... | 待处理/已处理 |
|
||
| 前端 | 是/否 | ... | ... | 待处理/已处理 |
|
||
| 权限码 | 是/否 | ... | ... | 待处理/已处理 |
|
||
|
||
## 落地任务
|
||
|
||
- [ ] TASK-xxx:更新需求文档
|
||
- [ ] TASK-xxx:更新 PRD
|
||
- [ ] TASK-xxx:更新任务文档
|
||
- [ ] TASK-xxx:DB migration
|
||
- [ ] TASK-xxx:后端实现
|
||
- [ ] TASK-xxx:前端实现
|
||
- [ ] TASK-xxx:测试
|
||
- [ ] TASK-xxx:更新 CHANGELOG
|
||
|
||
## 风险与回滚
|
||
|
||
- 风险:...
|
||
- 回滚方案:...
|
||
- 需要回归测试的功能:...
|
||
|
||
## 完成记录
|
||
|
||
- 2026-07-05:创建变更文档
|
||
- 2026-07-06:完成影响评估,更新原文档
|
||
- 2026-07-08:完成开发和测试
|
||
- 2026-07-09:变更闭环
|
||
``` |