华为敏捷/DevOps实践:产品经理如何开好迭代计划会议

大家好,我是华为云DevCloud项目管理服务的产品经理恒少,作为布道师和产品经理,出差各地接触客户是常态,线下和华为云的客户交流、布道、技术沙龙。

但是线下交流,覆盖的用户总还是少数。我希望借助线上的平台,和用户持续交流华为在研发效能提升上的思索和实践。感兴趣的朋友可以去华为云社区和我聊聊。

In preparing for battle I have always found that plans are useless, but planning is indispensable.

——德怀特·大卫·艾森豪威尔

艾森豪威尔,在第二次世界大战期间,担任盟军在欧洲的最高指挥官,同时也是美国第34任总统。他有不少经典的名言,这句话的意思翻译过来就是:计划书往往是无用的,但是计划的过程是不可缺少的。

艾森豪威尔的这句话,是很多文章里用来引述“计划”的名言,我也不能免俗。哈哈。

我个人对《人月神话》这本书有着很强的执念,早期坚信软件天生就有易变性,不可见性,软件的计划都是没有什么实际意义的。但是时间累积后,我也终于悟出来,其实做计划的过程是关键。

迭代计划会议是团队级敏捷的三个基础会议形式的一个,按软件开发的时序,这个是第一个会议,我之所以放到最后讲,是因为这个会议很重要,非常容易陷入误区。(其实也是我懒,先挑简单的写)

迭代计划的初心

团队全员对接下来的迭代要做哪些UserStory、每个UserStory的责任人达成一致

团队成员对本轮迭代的完成标准,计划的开始结束时间达成一致

团队成员更认真的对待自己充分参与过的承诺。

一张图看懂迭代计划:

本文,我们使用产品经理和开发团队Leader这两个角色名。这两个角色是目前互联网企业和软件产品企业常用的角色名。产品经理负责产品的定义、规划和需求,开发团队Leader负责带领整个团队完成需求的交付和上线。

迭代会议的预先准备阶段:

产品经理应提前将特性、大颗粒的需求细化为单个迭代可以交付的多个UserStory。这是一个避免产品经理被拍砖的良心建议,你如果拿着“我要做一个社交功能”的所谓Story去迭代规划,估计场景会有点尴尬。其实迭代Backlog里面装的只能是UserStory(有时候也可以装上个迭代的遗留Bug)。

比较强烈的建议2:产品经理和开发团队Leader,提前从产品Backlog中挑选接下来迭代可以交付的UserStory的备选。产品经理对需求的价值、优先级和期望交付的时间比较清楚,而开发团队的Leader通常对于需求交付的技术依赖,团队的能力,团队的人力管道容量比较清楚。产品经理和开发团队Leader互相交互意见,挑选出预期应该放到下个迭代交付的UserStory,也可以叫做备选的迭代Backlog。

这个阶段,备选UserStory的工作量也应该做一个初略的估计,这个时候就是资深开发Leader和小白的区别了。同时产品经理也应该将备选的UserStory都标明优先级,比如使用Must-Cloud的方法,必须做的,可以做的,对应中文也也就是高优先级和中优先级。便于后面根据人力实际容量选择最终的迭代交付内容。

一般的迭代会议指导中,并没有特别提到这个预先准备阶段。之所以笔者特别强调,是因为,在华为之前的实践中,直接进入迭代会议,会出现产品经理和团队成员耗费大量的时间,从产品Backlog中,确认哪些UserStory可以放到这个迭代中,迭代计划会议通常是全员参加的,这样会导致耗费全员大量的时间,特别低效。

之前在华为内部,有过一种思路,觉得产品经理无需和进行沟通,直接指定优先级和计划时间就可以了,开发团队无条件执行。这是强产品经理导向的,但是正如网上经常看到的段子一样,这样容易导致产品经理和开发人员矛盾激化,“动手拍砖”。

我们还是认为,产品经理和开发团队应该有一个双向的沟通和理解,有些需求可能确实存在技术的难度。

比较强烈的建议3:开发团队Leader应该预先了解团队接下来迭代的人力容量,是不是有同学可能要请假,是不是有同学要调动到其他工作等等。上个迭代团队的人力容量是多少,接下来的迭代团队是不是有一些架构、技术优化方面的工作要预留,预计可以有多少人力容量可以投入到业务需求上。我们也非常推荐,每个迭代里面预留一定的人力容量用于技术,架构的改进,业务需求和架构技术优化保持一个比例,保持产品的的健康。这也是持续改进的体现

大家要铭记一个事情:团队的人力容量每个迭代一定是变化的,迄今为止,软件的开发活动还是个智力指导下的双手活动,开发人员心情不好也是会影响人力容量的:)

迭代会议的输入:

备选的迭代Backlog:一个经过产品经理和开发Leader预沟通的备选迭代Backlog,初步的需求优先级排序

迭代的目标:目标包括很多类型,是这个迭代的“教堂”,比如这个迭代要交付的重大特性,重大的市场发布等,让全员能够感知自己在这个迭代完成的UseStory的价值,迭代目标通常由产品经理向全员传递。团队自身架构、技术的重大优化,也可以是迭代的目标。团队在质量、效率上的改进目标,比如缺陷下降多少都可以是这个迭代的目标。

迭代会议的过程:

颁布会议规则,比如限定会议时间,别人发言的时候,其他人禁止讲话,每人发言限时多长时间,

产品经理首先给大家介绍备选的Backlong中,有哪些UserStory,这个迭代的重大特性及其价值,或者要交付的重大市场发布,或重点客户,介绍Must的UserStory有哪些。

开发团队Leader给大家介绍一下技术、架构,研发环境,获取其他的团队自我改进的目标,

团队成员全员参加,从Must UserStory开始进行Story的工作量估计,对于有些UserStory,还可以进一步拆分为Task,给出每个Task的估计

团队成员全员参加,看看当前计划的UserStory重估计和人力容量是否相配,不能超出人力容量的100%。或者团队根据情况,定一个范围,90%,80%都可以,因为毕竟工作量至少预估计。随着团队越来越默契,估计值越来越准,可以提升到100%。

如果有超出,产品经理和团队成员一起,重新调整,首先去掉Could的UserStory。这时,基本上这个迭代要交付的UserStory范围就确定了。

开发团队Leader带领团队成员,开始分配认领UserStory,我们建议鼓励团队成员主动的Pull(认领)

,而不是被动的接收Leader的Push(被动接收)。当然有些UserStory可能需要某些成员开发更好,团队Leader可以再调整,我们也可以叫做Pull&Push。

开发团队Leader统一审视每个成员的实际工作量,避免对有些成员的工作量不均衡,并进行相应的调整。

进行简单快速的头脑风暴,团队成员发表自己对于接下来迭代的风险,对于是一般性的风险问题,快速记录,团队Leader会后解决,避免耽误大家时间

全员对这个迭代的目标进行信心投票,5分信心最高,1分信心最低,如果平均分低于3分,应该让投比较低的成员再讲讲他们的考虑,看看要不要再调整需求的优先级。

会议结束,开始为这个迭代的目标而冲刺。

迭代会中的一些雷和坑:

1. 迭代会议预先准备是非常关键的。团队成员那么多,如果预先不进行备选UserStory的识别和排序,拿一堆颗粒度很大的需求直接去迭代会议,大概率要失败,会议也会及其冗长,那么多团队成员,时间哗哗的就流失了,研发不是请客吃饭,这是要让你们老板倾家荡产啊。

2.工作量的估计方法。有绝对估值法(人时/人天),或者相对估值法(斐波那契数列的故事点,T恤

Size)。关于为什么比较流行使用斐波那契数列我写了一个短文:https://bbs.huaweicloud.com/forum/thread-13153-1-1.html。

3.业界在各种敏捷,DevOps培训中,用的比较多的是相对估值法,而且通常有个故事点估计的卡片。但是从我们的实践来看,早期的迭代,团队刚刚成立,团队成员的能力和容量没有基线,团队成员对于产品,架构、技术还在掌握中,研发环境和工具链刚刚搭建,还有些工作需要投入,这种状况下用相对估值法更适合。当团队磨砺一段时间后,团队成员比较稳定,团队成员的能力和对技术架构的掌握越来越好,团队成员的估计越来越准,使用绝对值更接地气,理解起来比较直接。

华为云DevCloud同时提供绝对估值法的人时/人天,用户只需要选一个计量单位,系统会自动计算另一个计量单位的值,目前按不加班的1天=8小时的工作时间,是的,没有算加班时间:),如下图:

当然,我们也提供了相对估值法的故事点,如下图:

4. 关于Task的使用误区。

a)把什么都当Task。Task是为这个迭代服务的,是必须有产出。学习了什么这个不可以算作这个迭代的Task。

b)把有些不当做Task。搭建环境,准备代码库或代码分支,验收,刷新自动化测试用例,这些都是要算Task的,不是只有写代码才算Task。

5. 准备会议时,Must的UserStory的总量不能超过备选Backlog总工作量的80%,如果备选Backlog都是Must的UserStory,失去了优先级排序的意义了。

6. 准备会议时,Must的UserStory的总量不能超过团队容量。

7. 整个迭代会议,建议使用专业的敏捷协同管理工具,大家看到内容一致,大家刷新调整后的内容也一致并即刻生成,会议结束的同事,一份本迭代的UserStory/Task列表就生成了,也不用会后再去整理。

下面是我们所在的团队最近的一个迭代计划列表例子:

写在最后的要点总结:

迭代会议事先准备很重要

过程中鼓励团队成员自主Pull,而不是一味着的Push

相信团队,相信团队对工作量的估算,给团队以尊重,工作量不要压得那么慢,超出人力容量的迭代,质量很难得到必要的保证。

如上的三个原则其实不仅仅适用于迭代计划会议,其实也适用于软件开发过程中的很多活动和会议。

希望能帮助大家开一个开心,高效,信心满满的迭代会议。

至此,软件迭代开发中三个最基本的活动:迭代计划会议,每日站立会议,迭代回顾会议,都介绍完了。感兴趣的朋友可以到华为云社区看相关的文章。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容