如何拆解需求
背景介绍
CODING 项目协同近期(2019 年 12 月 9 日)做了重要更新,针对如何拆解需求的疑问,本篇将做解答。本篇主要内容:
- 更新了什么?
- 已有数据怎么办?
- 怎么拆解需求?
- 几个常见问题
更新了什么
增加 Backlog 页面
用于敏捷开发模式下的需求排序和迭代规划。理由:
敏捷模式下,产品经理需要对需求做排序,并可在此页面将需求规划进迭代。
增加史诗功能
较大的功能需求可组织为史诗,将史诗拆解为多个较小需求后,分多个迭代去完成。理由:
- 较大功能需求在一次迭代中无法完成,若继续规划到下个迭代中,会造成当前迭代进度失真(需求完成了一部分,被移走了);
- 较大功能需求完成周期长,无法有效跟踪完成度和提早暴露风险;
- 将史诗分解成多个较小需求分多个迭代去完成,可提前交付部分功能,收集反馈后逐步迭代完善。便于及时调整方向和避免因较大功能失败后浪费研发资源。
停用子需求功能
不再支持创建子需求,已有数据将在未来迁移为子任务。理由:
- 迭代规模评估误差大:迭代只评估父需求个数,而需求有大小之分,较小和较大的需求都被直接规划到迭代,较大需求下分解的子需求却被隐藏到父需求中。
- 迭代的完成度被隐藏:迭代完成度只统计“父需求”,大需求分解为多个较小需求后无法被直接统计到。
增加子任务功能
用于将需求或任务分解为较小的任务。理由:
- 需要分解多个小块去完成。
- 需要多个方面和多个人协作完成,例如,前后端分离的程序需要前后端协作完成;
- 需要拆分成步骤逐个去完成,类似个人 to-do list。
增加全部事项页面
可在项目内同时跨事项类型搜索事项。
已有数据怎么办
1. 关联任务和关联需求将自动迁移为“引用”。
迁移完成后,需求下的关联任务将在需求详情页的“引用”控件中展示。相对的在关联的任务详情页可在“被引用”中查看到相关联的需求。
2. 子需求数据不变,但无法继续增加。将在 1-2 个月后自动迁移为子任务。
子需求迁移的内容有:标题、描述、优先级、处理人、截止时间和状态。其中状态对应关系是:
- 子需求状态类型是“未开始”-> 子任务“未开始”
- 子需求状态类型是“进行中”-> 子任务“处理中”
- 子需求状态类型是“已完成”-> 子任务“已完成”
怎么拆解需求
旧方式 VS 新方式
旧方式:使用子需求拆解需求
因为需求 B 规模大,分解为 4 个子需求,但迭代 1 只完成了 B1、B2 和 B3,致使 B4 被延期到迭代 2 中。造成迭代 1 中无法把需求 B 状态置为“已完成”。
由于一个迭代需求有大有小,每次迭代的需求数量是不固定的,造成每次迭代无法评估实际规模和工作量。
需求 E 存在关联任务,如果一并规划到迭代 1 中,会造成迭代内统计事项数量不正确。
新方式:结合史诗、子任务拆解需求
- 将需求 B 删除,拆解为需求 B1、需求 B2 和需求 B3。由于需求 A 与需求 B 存在密切关联,可组织为史诗 1;
- 依次类推,将较大需求删除后拆解为较小需求,放在需求中,并把同一业务的需求组织到同一个史诗中。
如何从旧方式转移到新方式
1. 将大的需求转成史诗
新建史诗并复制粘贴需求的标题和描述。
2. 将需求下的子需求创建为需求
在上步新建的史诗中,逐个新建需求,并将原子需求标题和描述逐个复制进去。
3. 将原大需求和子需求删除
删除父需求将自动删除其下子需求。
4. 将与史诗业务相关的需求纳入到史诗
在史诗详情页,选择“选择现有事项”,搜索并关联与此相关的需求或任务。
常见问题
1. 子任务和任务什么关系?(子任务创建完为什么在“任务”里看不见)
子任务不是标准事项中的“任务”类型,它是需求、任务或缺陷分解出的子工作项,如果父事项被删除,那么子任务将会一并删除。
2. 在需求中创建的子任务怎么搜索到?
四个地方可查看子任务列表:
- 需求详情页;
- 需求 Tab 列表页,在右上角视图选择中勾选“显示子任务”才行。(需求、任务等列表页即将优化为树状结构)
- “全部事项” Tab 列表页,在右上角视图选择中勾选“显示子任务”才行,默认是“显示子任务”。
- 个人工作台,若子任务分配给我,在我的工作台中可查看到。
- 若所属父事项已在迭代中,则可在迭代详情页看板的中查看到子任务。(子任务看板即将上线)
3. 所有子任务都完成后会自动把父事项完成吗?
不会。父事项应当手动修改状态,不应依赖子任务是否都完成(此处将优化,当子任务都完成,提示是否把父事项状态更新,选择“是”后自动更新父事项状态)。
4. 关联任务看不见了
关联任务和关联需求将自动迁移为“引用”。迁移完成后,需求下的关联任务将在需求详情页的“引用”控件中展示。
- 针对以前通过关联任务控件来分解需求的使用方式,我们推荐您通过“子任务”来解决这个问题。
- 针对只是想在需求描述或评论里提及某任务的场景,我们推荐您使用“引用”控件,为引用提供上下文即可。
在阅读中是否遇到以下问题?
您希望我们如何改进?