发布计划又称版本计划,是覆盖超过一个迭代周期长度的高层级计划。
发布计划由产品负责人确定,可以帮助客户和敏捷团队决定每一个项目的时间范围,或者确定时间范围内应该开发的内容。
发布计划的主要任务是以价值和风险为基础把用户故事分配到迭代中。
发布计划的主要内容包括:
- 分解用户故事
- 估计工作量
- 定义DoD
- 发布产品待办事项列表
发布计划是一种用于向相关方展示产品预期发布(Release)的中长期计划,包含了近期的各种发布和需求的对应关系。
- 发布计划可以帮助产品负责人和团队判断产品待办量和工作量。
- 发布计划传递了在不同的时间期限内需要完成的待办事项,便于组织规划其他的战略活动。
- 发布计划可以指引团队前进。
在进行发布计划时,不应当建立一个具体的任务计划或工作计划。发布计划的对象是用户故事,是对要交付的功能的说明。
范围演变
在传统项目管理中,范围蔓延和镀金都是项目负责人极力避免的事,但在敏捷项目中,特性和用户故事会随着时间而不断演变,这一切都是极为正常的。
敏捷开发聚焦于项目的关键愿景和目标,强迫作出困难的权衡决策,从而保持各方面的平衡。敏捷项目中让客户参与,从而将计划流程的重点放在客户关心的、很容易确定优先级的事情上。
产品范围的关键因素应该包括客户价值、技术可行性、成本和关键的业务进度需要,它不应当受到我们在对产品和项目不了解的情况下所制定计划的制约。
发布计划的规划步骤
第1步 确定满意条件
第2步 估计用户故事的规模
第3步 选择迭代周期
第4步 估计速度
第5步 确定用户故事的优先级
第6步 选择用户故事和发布日期
发布计划制定完成后,应该按照一定的频率对发布计划进行重访和更新。
在创建发布计划时,团队需要创建将故事分派给项目的各次迭代,以便掌握项目的进展情况,从而确定完成日期、资源配备、成本控制等。
在制定发布计划时,需要考虑以下因素:
- 确定已知的风险对迭代计划的影响
- 确定进度目标
- 为每次迭代编制主题
- 将故事卡片分派给每次迭代
- 汇总故事卡片布局
- 运用权衡矩阵作为指导
第0次迭代
团队利用第0次迭代用于为后续的迭代做好基础性工作,比如开展需求定义、确定架构、编撰需求说明书或尝试一项新技术等。第0次迭代并不会向客户交付任何有用的东西,也因此团队需要尽量使第0次迭代保持简短。
第0次迭代有助于团队在预期和适应之间保持平衡。
早期部署
早期部署即确定的第一个可以部署产品的迭代,它只有产品的某些特性。早期部署可以帮助客户尽早实用产品从而了解产品特性,还可以帮助团队尽早获得收入并获得用户反馈。
早期部署有一定的好处,但也有潜在的成本。
早期部署会影响用户故事的实现进度,因此需要在早期考虑。