104 lines
5.4 KiB
Markdown
104 lines
5.4 KiB
Markdown
# 需求生命周期与项目规则
|
||
|
||
## 目录
|
||
|
||
1. 状态参数化
|
||
2. R01–R12规则矩阵
|
||
3. 阶段入口和阶段完成
|
||
4. 开发开始与开发完成
|
||
5. 标签、任务和关键字
|
||
6. 规则实例与限制
|
||
|
||
## 1. 状态参数化
|
||
|
||
典型流程为:
|
||
|
||
```text
|
||
待处理 → 已确认 → 分析中 → 分析完成 → 设计中 → 设计完成 → 待开发
|
||
→ 开发中 → 开发完成 → 测试中 → 测试完成 → 完成发布/发布完成 → 已完成/已关闭
|
||
```
|
||
|
||
逐项目读取真实状态。`完成发布`与`发布完成`、`已完成`与`已关闭`是候选映射,不能静默互换或创建近义重复状态。
|
||
|
||
## 2. R01–R12规则矩阵
|
||
|
||
| ID | 流转 | 触发事件 | 必要条件 | 动作 | 方式 |
|
||
|---|---|---|---|---|---|
|
||
| R01 | 待处理 → 已确认 | 负责人确认 | 范围、负责人、优先级、验收口径明确 | 改为已确认 | 人工 |
|
||
| R02 | 已确认 → 分析中 | 添加关联任务工作项 | 当前状态;需求自身标签包含`分析` | 改为分析中 | 原生规则 |
|
||
| R03 | 分析中 → 分析完成 | 关联任务状态变化 | 当前状态;本阶段分析任务全部完成 | 改为分析完成 | 原生/条件化 |
|
||
| R04 | 分析完成 → 设计中 | 添加关联任务工作项 | 当前状态;需求自身标签包含`设计` | 改为设计中 | 原生规则 |
|
||
| R05 | 设计中 → 设计完成 | 关联任务状态变化 | 当前状态;本阶段设计任务全部完成 | 改为设计完成 | 原生/条件化 |
|
||
| R06 | 设计完成 → 待开发 | 添加关联任务工作项 | 当前状态;需求自身标签包含`开发` | 改为待开发 | 原生规则 |
|
||
| R07 | 待开发 → 开发中 | 添加关联分支或正式关联代码资产 | 当前状态;仓库已集成;资产正式关联 | 改为开发中 | 自动兜底 |
|
||
| R08 | 开发中 → 开发完成 | 关联合并请求状态变化 | 当前状态;全部相关MR已合并 | 改为开发完成 | 原生规则 |
|
||
| R09 | 开发完成 → 测试中 | 添加关联任务工作项 | 当前状态;需求自身标签包含`测试` | 改为测试中 | 原生规则 |
|
||
| R10 | 测试中 → 测试完成 | 测试验收任务或获批回调 | 当前状态;用例、失败复测、缺陷均闭环 | 改为测试完成 | 人工/桥接 |
|
||
| R11 | 测试完成 → 发布完成状态 | 发布变更完成或获批回调 | 当前状态;目标环境发布证据有效 | 改为真实发布状态 | 原生/桥接 |
|
||
| R12 | 发布完成状态 → 项目终态 | 业务验收 | 当前状态;验收证据有效 | 改为真实终态 | 默认人工 |
|
||
|
||
R05–R10与阶段任务自身状态的双向联动见`task-lifecycle.md`;R10的用例和缺陷口径见`test-defect-closure.md`;R11、R12见`pipeline-release.md`;R07、R08的代码资产口径见`codeup-integration.md`。
|
||
|
||
## 3. 阶段入口和阶段完成
|
||
|
||
R02、R04、R06、R09同时要求:
|
||
|
||
1. 从需求中“新建并关联”或“关联已有”任务工作项。
|
||
2. 当前状态等于前一阶段完成状态。
|
||
3. 需求自身包含目标阶段标签。
|
||
|
||
如果规则编辑器不能读取需求自身标签,标签只能用于筛选和报表;保留人工入口或使用当前状态+显式关联事件,不能声称标签已成为技术门槛。
|
||
|
||
R03、R05首选“本阶段任务全部完成”。若平台只能判断“全部关联任务工作项”,选择一种明确策略:
|
||
|
||
- 阶段开始时才创建/关联本阶段任务。
|
||
- 使用不同工作项类型,并确认规则能按类型过滤。
|
||
- 使用父子需求拆分阶段。
|
||
- 保留人工完成动作。
|
||
|
||
不得把零个关联任务当作全部完成。使用关联项状态变化触发,并执行零关联项负向测试。
|
||
|
||
## 4. 开发开始与开发完成
|
||
|
||
R07采用双轨口径:
|
||
|
||
- 效能主口径:开发人员真实开工时执行“开始开发”。
|
||
- 自动兜底:创建或正式关联需求分支/代码资产后进入`开发中`。
|
||
|
||
首次提交可能晚于真实开工,不能作为权威开始时间。自动规则必须要求当前状态=`待开发`。
|
||
|
||
R08推荐定义:
|
||
|
||
```text
|
||
事件 = 关联合并请求状态变化
|
||
且当前状态 = 开发中
|
||
且全部相关合并请求 = 已合并
|
||
则状态 = 开发完成
|
||
```
|
||
|
||
提交活动不能证明开发完成。全部相关前端、后端MR都必须正式关联并合并到实际集成分支。
|
||
|
||
## 5. 标签、任务和关键字
|
||
|
||
`分析`、`设计`、`开发`、`测试`标签加在产品类需求自身。
|
||
|
||
“添加关联任务工作项”依赖云效正式关系,不依赖标题关键字。有效方式:
|
||
|
||
- 在需求详情新建并关联任务。
|
||
- 在需求详情关联已有任务。
|
||
- 在任务详情选择该需求为父项/关联项,并在页面确认关系。
|
||
|
||
仅写需求编号、粘贴链接或添加同名标签都不能替代正式关联。编号仍建议出现在标题中,方便检索和审计。
|
||
|
||
## 6. 规则实例与限制
|
||
|
||
每个项目分别记录R01–R12的实际规则显示名/人工门禁、精确触发、源状态、目标状态、全部条件、动作、顺序、启用状态、执行账号和证据。
|
||
|
||
已知限制:
|
||
|
||
- 规则通常异步执行,5–30秒内不要过早判失败。
|
||
- “全部关联项”只能看到已集成并正式关联的资产。
|
||
- 提前创建未来阶段任务可能阻塞“全部任务完成”。
|
||
- 需求状态规则不会自动更新阶段任务状态;必须同时配置TK01–TK08。
|
||
- 平台能力因模板、版本和权限不同,以当前UI和执行日志为准。
|