Scrum发布计划是什么?
(英文原版)
发布计划的目标是何时将各种可用的功能或产品交付给客户,以使Scrum团队能够概述正在开发的产品的发布和交付计划。通过长期计划,团队可以满足产品负责人和相关项目发起人的期望,并为我们提供一些问题的答案,例如:
- 我们什么时候完成
- 我可以在年底前获得哪些功能
- 这需要多少钱
- 发现关键日期和里程碑
- 协调从属系统的开发计划。
- 帮助我们在范围,进度和预算的约束下平衡业务价值和整体质量
发布计划的模式
许多组织在向客户发布产品方面都有自己的节奏。有些人选择发布每个冲刺。其他人将多个冲刺的结果分组到一个版本中,如下图所示。还有其他人在每个功能完成后立即发布,这种做法通常被称为持续部署或持续交付。
准备的定义
发布计划是一个路线图,反映了对将要实施哪些功能以及何时完成这些功能的期望。根据开发策略,它可以由功能驱动,其中目标是一旦开发出预定的功能集就提供发布; 或者计划可以由日期驱动,其中释放发生在预定义的检查点上。如果项目是特征驱动的,则版本中所有要素的总和可以除以预期的速度。这将导致完成所请求功能所需的冲刺数量。
您需要“前期”发布计划吗?
发布计划是敏捷中一个有争议的话题。虽然我们经常被要求提供一些关于商业世界成本和时间的预测,但Scrum并未建议预先计划。以下是一些没有发布计划的论点:
- 客户认为发布计划中没有任何价值,并且通常被认为是一种浪费
- 许多领域的变化迅速证实了“你不需要它”(YAGNI)原则意味着不应该要求预先发布计划
- 因此,发布计划中唯一的价值可能只是初始日期和预算,仅此而已
为什么我们还需要发布计划?
尽管如此,敏捷世界的实际参与日期可能会低于承诺目标。但是,发布的一般交付路线图可以在您的团队和其他利益相关者之间建立信任和期望。此外,发布应考虑所有必须完成的额外工作,例如更新公共网站和培训客户支持团队。以下是在Scrum中进行发布计划的主要原因:
- 通信设备
- 规划工具
- 验证价值与成本
- 设置整体上下文
发布计划示例:
发布计划的格式各不相同。我在这里为功能/数据驱动提供了一个示例:
发布计划示例
如果项目是由日期驱动的,我们可以简单地将速度乘以Sprint的数量,我们将获得在给定时间线内可以完成的总工作量。
释放计划按速度驱动
发布计划不是一个静态计划,需要不时地作为我们管理产品积压的方式。当新知识可用时(例如,Scrum产品Backlog中的条目被更新和调整),应定期重新访问和更新发布计划。