如何开一场高效的迭代排期会 | 敏捷开发落地指南

摘要:如何开一场高效的迭代排期会,高效落地敏捷开发,先从这3个关键活动着手,通过本文你将了解到什么是敏捷开发、什么是双周迭代、如何高效地开展排期会,以及如何在云效项目协作·Projex 中落地排期会相关事宜 。

如何开一场高效的迭代排期会 | 敏捷开发落地指南

作为团队的负责人,你希望将研发模式从瀑布式转为敏捷 , 并进行持续改进,但却不知道从哪里开始?
作为项目管理人员,你希望负责建立迭代机制,并进行规模化的推广和度量,但却不知道如何快速建立机制?
作为产品经理,需求排期后,你希望能方便地跟进需求进展,及时发现问题,但却不知道怎么跟进方便?
接下来 , 我们将通过 3 篇文章 , 带领大家逐步了解敏捷开发的全过程及高效落地指南 。

敏捷开发之 Scrum 方法介绍


如何开一场高效的迭代排期会 | 敏捷开发落地指南

在敏捷开发落地的过程中,通常采用 Scrum 的方式,所以我们以 Scrum 为例来介绍敏捷开发的流程和场景(如上图),在这个过程中:
1. 首先产品经理会进行:
○ 需求的收集、调研和分析,形成按优先级排序的产品待办列表;
○ 对高优先级的需求,进行详细设计和澄清;
○ 通过迭代排期会 , 形成按优先级排序的迭代待办列表;
○ 排期完成后 , 需求从产品经理侧流向技术同学侧 。
2. 在需求澄清的情况下,研发团队来会:
○ 以 1~4 周的迭代周期进行持续开发和交付迭代待办列表中的内容
○ 采用每日站会来跟进计划和发现问题,并在迭代过程中持续或间歇性地交付可工作的软件 。
与此同时,产品经理会在这个阶段,进行下一迭代的需求设计和澄清 。
3. 迭代待办列表开发完成后,产品经理和研发团队一起进行迭代演示 , 交付可工作的软件 。
4. 最后 , 通过迭代复盘会活动驱动团队持续改进 。
在落地 Scrum 方法时,无论是阿里内部还是云效的企业客户,通常采用双周迭代的运作机制,下面我们以「双周迭代」为例进行介绍 。

双周迭代的运作机制


如何开一场高效的迭代排期会 | 敏捷开发落地指南

双周迭代时序图
上图是双周迭代的运作流程:
● 在 N-2 和 N-1 周,业务和产品会持续做需求的分析和设计,会把要排入迭代的需求按优先级高低准备好,包括需求的分析、设计和澄清;
● 随后开发和测试同学在排期后的两周内( N 周和 N 1周),按优先级对需求进行开发、测试、验收和发布上线 。注:排入迭代的需求在迭代排期前要已澄清清楚,并明确验收标准 。
● 迭代排期在双周迭代中起着前后衔接的作用,每两周进行一次,一般每次 1~2 小时 。排期前,业务和产品同学需要准备好待排期的需求,排期后,开发和测试同学需要按照计划对需求进行开发、验证和发布 。
● 迭代节奏和发布频率是要解耦的,迭代节奏可以是两周或一周,而发布频率可以是每两周一次、一周一次、或一周多次等 。有的企业或团队会按照每个迭代进行一次发布来落地,也有可能按照一个迭代进行多次发布来落地 。
至此,我们理解了敏捷开发的整体流程,及双周迭代的运作机制 。可以看到在双周迭代的运作中,一个迭代中有 3 个非常重要的活动:迭代排期、迭代跟进和迭代复盘 。本篇文章我们先从「如何开展一场高效的迭代排期会」聊起 。
> 如何开展一场高效的迭代排期会?
想要开展一场高效的迭代排期会,需要相关同学做一些准备工作,我们将排期活动中的需要准备的事项、目标等整理在一起(如下表),供大家参考 。
如何开一场高效的迭代排期会 | 敏捷开发落地指南

我们会看到,在排期输入、排期过程、排期输出环节的要求比较多,如果没有要求的话,排期会将会比较低效,后续的迭代推进也会出现各种问题 。如下,是我们在辅导敏捷开发团队过程中总结的几个注意点:
明确的迭代目标:迭代需要有比较明确的目标,没有目标容易出现需求范围蔓延的情况,导致团队成员无法聚焦
需求唯一优先级:很多产品经理在提迭代需求时,会出现需求的优先级都是“紧急”的情况,其实这反映了需求的真正优先级是不明确的 。我们需要明确出唯一优先级排序,这个过程不但能够让团队深入思考、对优先级提出积极挑战,也能梳理出优先级高、真正对业务有价值的需求;
需求已澄清且技术方案已确认:需求已澄清是排入迭代的基本要求,有些团队会把未经过分析、设计和澄清的需求排入迭代,导致排期时无法给出准确的工作量预估,也无法快速进入开发,这会影响其他需求的进展和整个迭代的节奏;
需求已拆分:通常情况下,需求要拆分到在一个迭代内可以完成交付,方便快速验证业务假设,缩短业务的响应周期;
明确需求负责人:需求进入开发时,一般会需要多位技术同学合作完成 , 如前端和后端 , 或多个后端,这时我们建议由其中一位同学担任需求负责人,跟进需求到发布上线为止 。这样可以更好地协调开发内部协作,避免过程中的争论或互相推脱,提升整体的协作效率 。
明确关键时间点:需求排期时,往往会有 3 个时间点需要明确:
○ 联调时间:需要联调协作的开发同学会比较关注联调时间;
○ 预计提测时间:测试同学比较关注什么时候提测 , 这是开发与测试协作需要明确的时间点;
○ 预计发布时间:产品经理比较关注的需求什么时候发布 。
同步下一个迭代的需求:有的研发团队会说不知道接下来要做什么,也有的团队会出现需求断档 , 这里建议产品经理可以提前把下一迭代要做的需求同步给大家 , 让大家了解近期规划,以便更好地安排研发节奏 。
敏捷开发落地往往需要平台或工具支撑,下面我们以云效项目协作·Projex 为例,介绍如何使用工具来高效落地迭代排期活动 。

借助云效项目协作·Projex 开展迭代排期

一、 排期输入

正如前面所说,为了能够开展一次高效的迭代排期会,需要准备一些内容 。在云效项目协作·Projex 中,我们也提供了准备排期会相关的产品能力 。
1.创建迭代,并明确的本次迭代需要达成的业务目标 , 负责人:产品经理或研发负责人
通常创建迭代由产品经理或研发负责人负责,此时需要明确迭代的名称、负责人、迭代周期、迭代容量和迭代目标,需要注意:
迭代名称:需要遵循一定的规范,如“迭代 迭代结束日期”;
迭代容量:团队人数相对固定时,一个迭代内的工时容量也是相对固定的,如:双周迭代,是10个工作日 , 如果团队有 8 位同学,一天的有效工时按照 7 个小时计算,容量就是 560 个小时;
迭代目标:目标需要具体可衡量,且与业务目标有直接或间接的关系 。
如何开一场高效的迭代排期会 | 敏捷开发落地指南

创建迭代
2.将产品待办列表按优先级排序,负责人:产品经理
云效项目协作·Projex 的需求管理中,产品经理可以根据诉求使用过滤器,配置“产品代办列表”公共视图,视图默认按照优先级排序,也可以设置成按照状态、负责人等其他自定义属性排序 。
如何开一场高效的迭代排期会 | 敏捷开发落地指南

产品需求待办列表
3.待排期的需求已澄清 , 并满足准入排期的要求,负责人:产品经理
4.保证需求已拆分到可在一个迭代内完成交付,负责人:产品经理
5.各需求的技术方案已评审通过(包括但不限于各模块间依赖关系、接口定义)负责人:研发负责人
产品经理一般通过开展需求评审会来澄清需求,在澄清过程中 , 产品经理会对需求内容进行讲解,并将需求拆解到较小颗粒度(一个迭代内可以完成交付) 。同时,研发团队会根据需求实现的复杂程度,来判定是否需要做技术方案或预研工作 。对于需要做技术方案的需求 , 需要明确技术方案评审的时间点,以便可以尽快投入开发 。
在云效项目协作·Projex 中,对于已澄清的需求,需求更改状态到“已评审”状态 。技术方案已确认的需求,可以在需求上打上“技术方案已确认”的标签 。

相关经验推荐