主题
1. 怎样组织Sprint计划会议?
(1)介绍会议流程
(2)强调三个重点:确立冲刺目标、选择Product Backlog Item和创建Sprint Backlog
2. 这样创建计划有什么好处?
一、怎样组织冲刺计划会议?
时间安排:
冲刺计划是重复出现的活动,发生在每个冲刺的开始。对于2到4周的冲刺,冲刺计划会议时间不超过4到8小时。
会议主题:
1.本冲刺做什么? 2.怎么做?
参会者:
冲刺计划由整个Scrum团队协作完成,产品负责人、开发团队、Scrum Master都要参加。
会议流程:
A. Scrum Master作为会议的组织者,需要确保会前准备充分,会议如期召开,参会者理解会议目的,冲刺计划切实可行,在时间盒内达成会议目标。
B. 会前准备(输入):
产品负责人梳理好Product Backlog,准备初始冲刺目标;
Scrum Master准备速率等历史记录和其他相关参考信息。
C. 议事日程
(1)首先,产品负责人分享初始冲刺目标,展示与冲刺目标相关的Product Backlog Item。如果开发团队有问题,产品负责人回答问题。
(2)开发团队根据冲刺目标,基于团队的交付能力,选择合适数量的Product Backlog Item。合适指不太多,也不太少,既不会忙得做不完,也不会闲着没事做。
(3)接下来,开发团队为获得交付信心,为选出的Product Backlog Item创建计划,Product Backlog Item和计划共同构成Sprint Backlog。
(4)最后,在冲刺计划会议结束的时候,开发团队应该能够向产品负责人和Scrum Master解释怎样达成冲刺目标,创建期望的产品增量,对本冲刺可以交付哪些特性做出承诺。
D. 会议成果(输出):
冲刺目标和Sprint Backlog
确立冲刺目标
冲刺计划会议要确立冲刺目标。冲刺目标由产品负责人草拟,Scrum团队达成一致。确立冲刺目标有很多好处:
1. 对开发团队来说,它指引着开发团队,让开发团队理解构建本冲刺产品增量的目的,使开发者们作为一个团队,在一起工作,而不是分头单干。
2.对干系人来说,能让干系人理解参加评审的意义。
3.对被选入冲刺的Product Backlog Item来说,冲刺目标统领这些Product Backlog Item。为了实现冲刺目标,选入冲刺的多个Product Backlog Item之间应该是连贯一致的。通过实现这些Product Backlog Item,就实现了对应的冲刺目标。同时,冲刺目标又为冲刺范围留有一定弹性。如果在冲刺过程中,开发团队发现,实际需要的工作量与原来预计的不同,可以与产品负责人重新协商。
选择 Product Backlog Item
Scrum指南指出,从Product Backlog中选取多少个Item,只取决于开发团队。只有开发团队能够评估,在本冲刺中能完成什么内容。
产品负责人应该与开发团队交流自己对冲刺目标的想法,但不得过度影响开发团队,迫使其做出过于乐观的、不切实际的承诺。这是因为,虽然产品负责人知道自己想要什么,并不意味着开发团队一定能在那个冲刺交付。必须考虑团队的能力,以及任何已知约束,双方通过协商,做出切实可行的承诺。
Scrum Master作为Scrum团队的教练,需要帮助开发团队选取Product Backlog Item,确保选取的数量切合实际,既不过多,也不过少。帮助的意思是,观察计划活动,提出深入细节的问题,但不能代替开发团队做出承诺。具体的方法是:
1.回顾历史:引导参会者参考Velocity历史记录,了解开发团队以往的表现
2.预测未来:提醒开发团队,考虑是否有人休假,是否有人外出参加培训等,引导开发团队预测在这个冲刺中的交付能力
3、强调选取规则:强调“能完成才开始” 和“完成的定义”,这些选取原则。让开发团队理解,一旦选取了某个Product Backlog Item,就一定要保证在本冲刺做完、做好。如果做不到,就不要选取。
难点
“从Product Backlog中选取多少个Item只取决于开发团队”,这个规则对习惯于传统项目管理方式的人们,是个不小的挑战。他们认为,项目经理是开发者的老板,比开发者更有经验,因此项目经理决定开发范围更靠谱。应该由项目经理选取Product Backlog Item,指派给开发者。开发者即使参与计划活动,也只是辅助。
然而Scrum要求,Scrum团队全体参与冲刺计划活动。开发团队决定选取多少个Product Backlog Item,地位由被动变主动。而且,开发团队以前不需要操心计划,现在还需要学习怎样做出合理的计划。产品负责人不是开发团队的老板,而要与开发团队协作。Scrum Master也不是开发团队的老板,而是作为教练,辅导开发团队。项目经理如果转型为产品负责人,将失去职位领导力,而需要具备产品领导力,如果转型为ScrumMaster 同样将失去职位领导力,但需要具备服务型领导力。无论转型为哪个角色,都需要学习和改变。
创建 Sprint Backlog
确立了冲刺目标,选好了Product Backlog Item,开发团队接下来要决定怎样构建符合"完成的定义的"产品增量。开发团队通常为选入冲刺的Product Backlog Item进行设计,制定一个开发计划。这个计划的形势是,把选中的每个Product Backlog ltem分解为开发任务。例如一个Product Backlog ltem是用户故事A,分解为开发任务:
1、开发界面;
2、自动化测试;
3、创建数据库。
选出来的Product Backlog Item,加上为交付这些Product Backlog Item而分解出来的开发任务,合起来叫做Sprint Backlog。开发任务的分派,不必在计划会议中全部完成。开发团队可以在会议上,以及在接下来冲刺执行的日子里,自组织的认领Spring Backlog里的开发任务。如果冲刺过程中,开发团队发现选入冲刺计划的Product Backlog Item过多或过少,可以和产品负责人再次协商。
难点
开发团队自组织的认领Spring Backlog里的开发任务,这个规则对于习惯于经理指派的人们同样是个不小的挑战。他们认为,项目经理比开发者个人更能顾全大局,统筹安排。因此由项目经理指派到开发者个人的方式更好。
然而Scrum要求,开发团队自组织的认领Sprint Backlog里的开发任务。选哪个开发任务,什么时候选,完全取决于开发团队。开发者们由原来的被项目经理集中管控,每个人只见树木不见森林,到作为一个团队,自行统筹安排,自己管好自己,也需要学习和改变。
二、这样创建计划有什么好处?
冲刺计划会议的输出是“冲刺目标和Sprint Backlog”,确定了冲刺目标、创建好Sprint Backlog,就算做好计划了。习惯于传统项目管理的朋友们不禁要问,传统项目管理,管理是项目经理一个人的事。项目经理同样能确定冲刺目标、创建Sprint backlog,邮件一发,开发者执行,简单高效。现在引入Scrum,管理变成Scrum团队全体的事,又要开会讨论,又要学习改变,所有人都要折腾。这样创建计划,什么好处?
实践反馈
实践是检验真理的唯一标准。想知道这样做什么好处,我们来听实践了这些Scrum规则的团队怎么说。
当开发团队实践自己选择Product Backlog ltein这个规则以后,团队的士气出现一个质的飞跃。开发者认为自己选择的,就是自己的承诺,更有责任感。与之前相比,即使项目经理指派的和开发者选择的,是同一个任务,效果却不是一个级别。同时,由开发团队自己选择,更加有利于团队的成长。很多开发者,并不愿意局限在某个领域,而指派往往无法照顾开发者个人发展意愿。当团队任务紧的时候,大家主动承担更多,同舟共济的感觉,比项目经理强力指派更有归属感。
激发工作动力
实践出真知啊!实践表明,这样做能激发开发团队的工作动力。这是一个个例吗? 不。这一现象的背后,是有理论基础的。在Drive:The Surprising Truth About What Motivotes Us这本书里谈到,MIT和其他一些大学的研究表明,对于涉及创造力等高阶思维的工作,如果钱已经达到了满足员工基本需求,让员工感到公平的数目,更多的钱反而会降低员工绩效。为了激励员工,提高员工绩效和员工满意度,管理者应该给员工三样东西:自主、专精、目的(Autonomy,Mastery,Purpose)。
不涉及创造力的、基本的、简单机械的劳动,不在本讲讨论范围之内。软件开发者,开发创新型产品,是不是涉及创造力的工作? 是。当钱已经满足员工基本需求,让员工感到公平的时候,开发者渴望自主、专精和目的。
什么是自主?
提高开发团队的参与度,开发团队能够掌控自己做什么,怎么做,什么时间做。开发团队自己选Product Backlog Item,创建Sprint Backlog,自己认领task,完全符合自主的精神。把开发团队渴望得到的给予开发团队,开发团队干的舒心、带劲儿! 在这种状态,创造力才能迸发出来!
什么是专精?
开发者经常感到能学到东西,有长进,能让自己成为更强的专家。开发者自己认领任务,就有机会按照自己的职业发展意愿进行选择,把自己的职业目标和组织目标对齐,造成员工和组织双赢的结果。关于专精,也有反例。有的开发者长期做一个模块,感到学不到东西,工作渐渐失去激情。更有极端的,一家世界500强大公司,有一段时间出现业务下行,工作非常清闲,无事可干,但是工资不下降。也许有人会说"光拿钱,不干活? 那还不好?”。事实上,出现大量技术骨干离职。其共同原因是,学不到东西。
什么是目的?
开发者感到自己的工作是重要的、有贡献的、有意义的。产品负责人帮助开发团队理解冲刺目标,就是在满足开发团队对“purpose”的需求。与之相反,只告诉开发团队干什么,却不让开发团队理解为什么干这个,会产生两种结果,要么受不了无价值感的郁闷,辞职走人,要么做一天和尚撞一天钟,不去思考怎么创新。
提升敏捷领导力
谈了这么多激发工作动力,有心人听出来了,对开发团队有好处。对项目经理有好处吗?
首先项目经理必须理解,敏捷转型是业务发展的需要。面对不确定的市场,开发创新型产品,必须进行敏捷转型。传统项目经理可以转型成产品负责人或Scrum Master,需要学习和实践敏捷领导力,学会怎样激发人的力量,带领团队持续学习和改进。
对产品负责人来说,需要提升产品领导力。产品负责人可以通过树立产品愿景,解释冲刺目标和交付价值,激发开发团队的好奇心、成就感。例如,一位成功的产品负责人这样对开发团队说:“我们即将开放的某某软件在某某产品领域处于全球领先地位,参加这个产品的开发,必将成为各位开发者职业生涯中浓墨重彩的一笔!”几句话,说的团队群情振奋。
对Scrum Master来说,需要提升服务型领导力。Scrum Master引导开发团队参考各种历史记录,分析数据,指导开发团队,帮助开发团队提升做好计划的能力。
小结
第九讲讨论怎样组织冲刺计划会议,强调了确立冲刺目标、选择Product Backlog Item和创建Sprint Backlog三个重点。在选择Product Backlog Item和创建Sprint Backlog里,又分析了由传统项目管理向敏捷转型的难点。基于这些难点,深入讨论转变创建计划的方法能够带来什么好处。从实践和理论两方面,论证了在开发创新产品时,团队采用自组织的优越。
实践作业
1. 如果你是管理者,请尝试列出一些创新型的工作方向,让团队成员自由选择,看看效果如何?
2.如果你是开发者,在自组织的环境里自行认领任务,你会怎么做?尽量多领?尽量少领?或是量力而为?为什么?
致谢
本讲得到多位朋友的帮助,特此致谢!他们是:悟空、高云海、开琪、金毅、熊节、李国彪、jim wang、刘俊。排名不分先后。
讲得不错,更新再快点就更好了,希望能用到工作中去
书山有伴 回复 @枪手雨丸: 谢谢。也希望你能告诉我你在工作中运用的体会,遇到的问题。
讲的不错, 娓娓动听
书山有伴 回复 @以海Ocean: 谢谢你的赞誉,我们互相学习,共同进步。