软件发布甘特图模板:从代码冻结到上线
可编辑的软件发布甘特图:功能完成、代码冻结、回归、性能与验收测试、发布签收、部署、冒烟测试与早期监控。
什么是软件发布甘特图模板:从代码冻结到上线流程
软件发布中风险最大的部分很少是代码,而是最后一个功能与第一位用户之间的那几天:测试、文档和部署都要按正确的顺序完成,而日期早已对外公布。甘特图很适合这一段,因为任务短、依赖关系真实,某处延误一天,下游处处可见。
本模板从“确定发布范围”开始,到“发布复盘”结束。开发以里程碑“功能开发完成”收尾,而“修复已知缺陷”在“完成剩余功能”开始五个工作日后启动,使缺陷修复与开发的尾声重叠。两者都完成后才到里程碑“代码冻结”。冻结之后三条测试线启动:“回归测试”“性能与安全检查”和“用户验收测试”,其中后者在冻结开始两个工作日后启动。“修复发布阻塞问题”要等这三条线都完成。
发布说明和运维手册在测试期间而不是之后撰写,因此“部署到生产环境”要等“发布签收”“撰写发布说明”和“更新运维手册与回滚方案”。部署之后,“生产环境冒烟测试”同时把关公告和监控窗口。打开关键路径,可以看到是哪条测试线决定了日期。各项工期为示意性的工作日(周一至周五),请换成你自己的数据。
若要规划通向发布的整个项目,请参阅[软件项目甘特图模板](/zh/templates/软件项目甘特图)。本模板不连接代码仓库或工单系统,也不跟踪缺陷或部署:它规划的是进度安排。依赖关系的说明见[甘特图依赖关系指南](/zh/guides/甘特图依赖关系)。
本流程图涵盖的内容
本模板包含
- 开发、测试、发布、支持四个分组,共 17 项任务和三个里程碑:“功能开发完成”“代码冻结”和“发布签收”。
- 重叠的工作:“修复已知缺陷”在“完成剩余功能”开始五个工作日后启动。
- 冻结之后的三条测试线:“回归测试”“性能与安全检查”和“用户验收测试”,并在“修复发布阻塞问题”处汇合。
- 不必等测试的准备工作:“撰写发布说明”和“更新运维手册与回滚方案”都从“代码冻结”开始。
- 有关口的收尾:“部署到生产环境”要等“发布签收”,而“生产环境冒烟测试”把关“发布公告”和“监控并处理早期问题”。
何时使用本模板
- 你按日期发布,需要看清从冻结到上线这一段到底要多久。
- 测试、文档和运维由不同的人负责,需要一份共同的进度安排。
- 你想要一份带工期和依赖关系的发布清单,而不是一份平铺的列表。
- 你需要一份可在每个发布周期复用的发布火车起始计划。
逐项任务的计划
图表中的每项任务,含以工作日计的工期及其前置任务。依赖关系用步骤编号表示;SS 为开始到开始,FF 为完成到完成,+n 为以工作日计的延迟。
| # | 任务 | 分组 | 工作日 | 依赖于 |
|---|---|---|---|---|
| 1 | 确定发布范围 | 开发 | 2 | |
| 2 | 完成剩余功能 | 开发 | 10 | 1 |
| 3 | 功能开发完成 | 开发 | 里程碑 | 2 |
| 4 | 修复已知缺陷 | 开发 | 6 | 2SS+5 |
| 5 | 代码冻结 | 开发 | 里程碑 | 3, 4 |
| 6 | 回归测试 | 测试 | 5 | 5 |
| 7 | 性能与安全检查 | 测试 | 4 | 5 |
| 8 | 用户验收测试 | 测试 | 6 | 5SS+2 |
| 9 | 修复发布阻塞问题 | 测试 | 3 | 6, 7, 8 |
| 10 | 发布签收 | 发布 | 里程碑 | 9 |
| 11 | 撰写发布说明 | 发布 | 3 | 5 |
| 12 | 更新运维手册与回滚方案 | 发布 | 3 | 5 |
| 13 | 部署到生产环境 | 发布 | 1 | 10, 11, 12 |
| 14 | 生产环境冒烟测试 | 发布 | 1 | 13 |
| 15 | 发布公告 | 支持 | 1 | 14 |
| 16 | 监控并处理早期问题 | 支持 | 5 | 14 |
| 17 | 发布复盘 | 支持 | 1 | 16 |
运作方式
把任务换成你自己的
重命名 17 项任务和四个分组。按你实际的测试方式增减测试线。
把冻结设为里程碑
让“代码冻结”成为工期为零的任务,依赖于测试开始前必须完成的一切,并让每条测试线都依赖于它。
让准备工作与测试重叠
让发布说明和运维手册用各自的链接从冻结时开始,而不是排在测试之后,这样它们就不会拉长日期。
在签收前汇合各条测试线
让修复任务依赖于每一条测试线,这样在它们全部完成之前,签收不会出现。
检查关键路径
依次选择“视图”和“关键路径”。如果某条测试线是最长的链,缩短开发时间并不会让发布提前。
复用这份计划
发布之后复制该图表,按复盘中学到的内容更新工期,用于下一个周期。
常见问题
什么是软件发布甘特图?
一种甘特图,规划从最后一个功能到生产环境头几天的进度:冻结、测试、签收、部署和监控,以及它们之间的依赖关系。
它能连接 Jira 或 GitHub 吗?
不能。没有集成功能。你自行输入或粘贴任务及其依赖关系,进度由此计算得出。
可以并行运行测试线吗?
可以。让每条测试线依赖于冻结,并让下一项任务依赖于所有测试线。关键路径会显示是哪一条决定了日期。
这些工期符合实际吗?
它们是示意性的工作日。请换成你自己的发布历史数据。
这与软件项目模板有何不同?
软件项目模板规划从需求到上线的整个开发;本模板只规划发布这一段,但更为详细。
