敏捷圣贤:对!估算时,可以用“计划扑克牌”来估算完成时间。你知道怎么用计划扑克牌吗?
阿捷:不知道,我想我可以去查一下。
敏捷圣贤:嗯,你们应该尝试一下这个东西。
阿捷:还有什么值得注意的?
敏捷圣贤:做Sprint任务细化时,一个最佳实践就是把每个任务控制在2~16 小时之间。任务太细,会涉及更多的微观管理,太粗,估算就会不准确。
阿捷:OK!在这一点上,Scrum跟其他项目规划方法是一样的。
敏捷圣贤:下一步,就是让大家自己认领任务,而不是指派!这一点非常关键,一定要记住啊?
阿捷:为什么要认领?指派会更有效率,而且还能根据每个人的特长,让每个人做他擅长的事情。
敏捷圣贤:首先,每个人认领任务后,实际上就是对整个团队有了一个承诺,更能保证按计划完成。其次,让每个人选择自己愿意做的事情,这样才会更有主动性,毕竟“做自己有兴趣的事情,才会真的做好”。这样,不仅满足了个人发展的需要,还可以达到快速的知识共享、团队技能的整体提高。书包 网 。 想看书来
第5章 成长的烦恼(6)
阿捷:不错,以前是只对项目经理一个人承诺,这样认领后,就成了对所有人的承诺。
敏捷圣贤:此外,跟任何其他会议一样,对于跨度一天的计划会议,确定好会议日程非常重要。因为Sprint计划会议一定要基于Time…Boxed,在规定的时间内,一定要结束,就像一个Sprint一样,同样要有紧迫感。
阿捷:嗯,我会仔细计划的。
敏捷圣贤:还有,Sprint计划会议必须在一个完整天内开完。
阿捷:为什么?
敏捷圣贤:Sprint计划会议开始的那一天,也就是Sprint开始的一天。如果Sprint计划会议要跨越两天,可不是什么好玩儿的事情,你的Burndown Chart就会像我们的这样很难看。你会看到Sprint才一开始,似乎我们的工作量只有150,怎么第二天时工作量就快到了190,出现了一个凸起。如果不了解内情的话,一定还以为Sprint出了问题呢。而实际上是因为我们曾经在前一天的下午开了4小时,第二天上午又开了3小时,对任务进行细化,结果任务估算增加。
阿捷:嗯,还有其他的吗?
敏捷圣贤:有!采用Delphi方法进行任务工作量的估算。当进行任务细化的时候,每个人的估算是不一样的,如果最高估算值跟最低估算值相差一半以上,二者就要沟通一下,看看为什么二者的理解相差这么多。沟通明白后,再重新估算。即使这样,还是会有分歧的,此时采用Delphi估算方法,简单讲就是进行一次加权平均。
阿捷:嗯,我们以前也用过Delphi方法。
敏捷圣贤:为了提高任务细化的效率,可以将团队分成两个小组分别进行。
阿捷:为什么还要分组?不是让大家一起做细化、做估算的吗?
敏捷圣贤:是这样的,我曾经带过一个Team,有10个人。最初,我都是打开投影仪,把Product Backlog投到屏幕上去,大家一边说,我一边敲,我是挺忙活的,但是大家却不一定都能集中注意力。现在回头看看,这种方法真是有点蠢!当Team成员少的时候,在最初的几个Sprint,大家在兴趣还比较高的时候,这种方法还行。当Team成员超过6个的时候,问题出现了,首先是当讨论某一个问题的时候,总会有人问,刚才你们说什么来着?很显然,他走神了。另外,人多的时候,对同一个任务的细化,即使采用Delphi方法,沟通成本也很高,很费时间。
阿捷:那你们具体怎么做的?
敏捷圣贤:后来我就把Team分成两个小组,分别对任务进行细化。细化时,不再用投影仪,而是把Sprint Backlog中的内容按大块张贴在墙上,大家站在墙前,拿着记事帖直接进行细化和估算。当两个小组都进行完后,互相检查对方对任务的细化,解决争议,澄清模糊的地方。这样一来,就把大家的积极性调动起来,参与程度非常高,效率也高。
阿捷:虽然我们团队现在只有5个人,估计还用不上,但这个经验真的值得推广。
敏捷圣贤:产品负责人(Product Owner)一定要参加。实在不能参加的话,也要指定一个人授权代理。否则,就不要开Sprint计划会议。
阿捷:嗯,我一定会把他叫过来参加这个会议的。
敏捷圣贤:最后一点,虽然我们采用了Scrum,但即使不再采用Gatt图,但是传统的RiskDependency分析还是不要丢弃。在Sprint计划会议结束前,进行RiskDependency的分析,还是会帮助我们发现一些问题的,然后再稍微重新调整任务的优先级,更能保证Sprint的成功。
阿捷:好的!有了这些指导原则,我相信我们的第二个Sprint会走得更好的。
敏捷圣贤发过来一个不断眨眼的笑脸,似乎提醒阿捷不要过于乐观。
阿捷:还有一个问题就是,我感觉这个Scrum好像只定义了一个项目管理框架,没有给出具体的编程实践指导,是你还没告诉我吗?
敏捷圣贤:嗯,不是的。Scrum依靠的是经验管理,所以他没有定义出很细的工程实践。这样才能很好地跟组织原来的工程实践融合起来,譬如跟CMM、ISO 9000、RUP,甚至XP等都能很好地工作在一起。因为Scrum主要是想解决项目管理和组织实践范畴的东西,更多的是关注在敏捷团队建设上,它的终极目标就是自我管理自我组织的高效团队。作为一个敏捷框架,具体的编程实践,可以靠XP去补充。但我还是建议你们,最初先努力适应这个框架,待成熟后再考虑引入其他敏捷实践。
阿捷:好的!这次我不会冒进的。?
敏捷圣贤:那就好!凡事预则立,不预则废。对形势做出良好的判断并提前做好准备还是非常有必要的。我要下了,有事咱们再联系吧。