如何用甘特图规划软件发布日程

规划从功能完成到上线的阶段:把代码冻结设为里程碑,让测试并行进行,在签收前汇合,并通过关键路径看清是什么决定了发布日期。

发布日期通常在测试计划出来之前就已公布。本指南说明如何把从冻结到上线的这一段变成一份排期,让你能对照别人给你的日期来检查。

简而言之

  • 把代码冻结设为工期为 0 的里程碑,所有开发任务都要到达它。
  • 让测试工作流、发布说明和运维手册都从冻结开始,并排进行。
  • 在签收前用一个任务汇合所有工作流,然后让部署依赖签收和文档。
  • 把部署之后的几天也规划成任务:冒烟测试、公告和监控窗口。
  • 打开关键路径,看哪条工作流决定日期,并把完成日期与你需要的日期比较。

规划最后一个功能之后的这一段

发布计划很短,但很密。十七个任务可能只占一个月左右,而且大多数依赖另外两三个任务。这就是平铺的清单在这里行不通的原因:它告诉你要做什么,却没有告诉你用户验收测试可以在冻结两天后开始,而回归测试不能在它之前结束,也没有告诉你运维手册必须在部署开始那天就准备好,而不是测试结束那天。

方法分四步。第一,把冻结设为里程碑,之前的一切都要到达它。第二,让测试工作流从冻结开始,文档也从那里开始。第三,在签收之前用一个任务把各条工作流汇合,这样签收不会出现得过早。第四,给部署设置关口,并把部署之后的几天也规划成真正的任务。日期随后由工期和链接算出,你要拿完成日期去对照你需要的日期,而不是一开始就把日期写进去。

排期不会让发布变得安全。它显示的是如果每项估算都成立,工作应在何时完成,却发现不了漏掉的测试或没测过的回滚。测试结果、审批和缺陷清单请保存在专门的系统里。图表规划顺序和时间,它不连接代码仓库、工单系统或部署工具。

示例是 /zh/templates/软件发布甘特图 中的软件发布模板。如果你需要的是流程和决策而不是排期,请看 /zh/templates/软件发布流程 和 /zh/templates/软件部署流程 中的流程图。如果要规划从需求到上线的整个构建,请使用 /zh/templates/软件项目甘特图。

分阶段搭建的发布日程

四组共 17 个任务。工期是示例性的工作日,请换成你自己的。打开表格面板可以看到每个阶段背后的行。

  1. 开发以一个里程碑结束

    “完成剩余功能”为 10 个工作日。“修复已知缺陷”(6 天)在它开始 5 个工作日后开始,这是带延迟的开始-开始链接,所以缺陷修复与开发的收尾重叠。“功能开发完成”是工期为 0 的里程碑。

  2. 冻结与三条测试工作流

    “代码冻结”是一个里程碑。“回归测试”(5 天)、“性能与安全检查”(4)和“用户验收测试”(6)都跟在它后面,验收测试在冻结 2 个工作日后开始。“修复发布阻塞问题”(3 天)要等这三项全部完成。

  3. 准备工作与部署关口

    “撰写发布说明”和“更新运维手册与回滚方案”(各 3 天)从冻结开始,而不是等测试之后。“部署到生产环境”(1 天)要等“发布签收”、说明和手册。“生产环境冒烟测试”跟在它后面。

  4. 部署之后的几天

    “发布公告”(1 天)和“监控并处理早期问题”(5 天)都要等冒烟测试,所以它们并排进行。“发布复盘”是最后一个任务,用一天总结下一份计划应当改变什么。

运作方式

  1. 列出最后一个功能与第一位用户之间的任务

    写下上线前后必须完成的每个任务,包括文档和回滚方案。为每个任务设置以工作日计的工期。只用整天,半天的任务请向上取整。

  2. 把冻结设为里程碑

    为冻结添加一个工期为 0 的任务。让它依赖开发任务,并让测试工作流、发布说明和运维手册依赖它。

  3. 让能重叠的重叠

    在工作从另一个任务中途开始的地方,使用带延迟的开始-开始链接,例如在“依赖”列中写 4SS+2。用于开发期间的缺陷修复,以及冻结几天后才开始的验收测试。

  4. 在签收前汇合各条工作流

    让测试之后的任务依赖每一条工作流,写成用逗号分隔的列表。这样签收不会早于最慢的那条工作流。

  5. 给部署设关口,并规划部署之后的日子

    让部署依赖签收和文档。把冒烟测试、公告和监控窗口加为任务,让支持时间成为计划的一部分。

  6. 对照你的日期检查关键路径

    打开“视图”菜单并开启关键路径。把完成日期与你需要的日期比较。如果日期是固定的,就去改变决定它的那条链,因为缩短其他任务不会让它提前。

应避免的错误

  • 测试之后才写文档

    测试之后才写的发布说明和回滚方案,会把它们的工期加到计划末尾。让它们从冻结开始,并让部署等它们,这样在时间压力下也不会被跳过。

  • 签收没有汇合

    如果签收只依赖一条测试工作流,图表显示的日期可能是其他工作流赶不上的。请把它直接或通过修复任务链接到每一条工作流。

  • 忘了部署之后的日子

    止于部署的计划掩盖了随后的监控和修复。即使工期只是估计,也请在图表中保留一个监控窗口。

  • 把发布日期固定为开始日期

    给部署任务设置固定开始日期,并不会让前面的工作随之调整。如果算出的日期晚于固定日期,图表会标记冲突。请把这个标记当作信号:按这些估算,这个日期无法达到。

打开软件发布甘特图

打开发布模板,把工期改成你自己的,看看哪条测试工作流决定了日期。

打开软件发布甘特图

相关指南

常见问题

发布日程应该多长?

取决于你的团队从冻结到上线需要多久。模板中的工期只是示例。请换成你最近几次发布实际花的时间,并把部署之后的日子也算进去。

冻结应该是任务还是里程碑?

是里程碑,也就是工期为 0 的任务,绘制成菱形。它标记之前的一切都必须到达的时间点,测试工作流链接到它。

能看出是哪条测试工作流决定发布日期吗?

可以。在“视图”菜单中打开关键路径。它会高亮决定完成日期的任务链,选中一个任务还会高亮它依赖什么、什么依赖它。

适用于热修复吗?

热修复是一张很短的图:修复、测试、批准、部署、冒烟测试。复制一份发布图表,删掉不需要的部分,保留各个关口。

发布流程本身在哪里?

在流程图模板中,它们绘制决策和审批:/zh/templates/软件发布流程 和 /zh/templates/软件部署流程。用甘特图看需要多久,用流程图看谁来决定什么。

本指南所用的模板

软件发布甘特图模板:从代码冻结到上线 — 可编辑的软件发布甘特图:功能完成、代码冻结、回归、性能与验收测试、发布签收、部署、冒烟测试与早期监控。

软件发布甘特图模板: 开发 → 测试 → 发布 → 支持
如何用甘特图规划软件发布日程