分组:需要将参加者分组,每组8-10人。每一组围着一个桌子站好。每一组需要确定每个人的角色,需要一个President,一个Customer。另外是几对Manager-Worker去模拟几个部门。
材料:为每一组准备硬币(1元N枚,5毛N枚,1毛N枚),另备每组额外准备额外几枚1元硬币(用于第6轮);白板纸每组两张;水笔每组一支;计时器(可以使用手机的计时功能)。
游戏前准备:需要把游戏规则沟通给大家。具体规则如下:
工作:Worker用手翻硬币,1次只翻1个;Manager/Customer/President的任务是计时,具体如下:
计时:Manager需要记录他手下的那个员工从开始工作到完成工作的时间长度;Customer需要记录从把硬币交给第一个部门,一直到从最后一个部门收到第一个硬币的时间(其实也就是从需求到上市时间);President需要记录从硬币交给第一个部门,到Customer收到最后一个硬币的时间(其实也就是项目完成的总时间)。
工作规模:每一轮都游戏组织者说明一个任务规模,每个员工在完成指定的规模工作之后才能把工作移交给下一个部门的员工。
记录:每个团队都需要记录每一轮每个部门花费的时间,上市时间以及完成时间;
图表:所有迭代完成后,每个团队需要根据记录的数据画出几个图表:
- 每个迭代每个部门员工完成工作所花费的总时间的变化图;
- 客户记录时间的变化图(也就是上市时间的变化图);
- President记录时间的变化图(项目完成时间的变化)
其他规则:只用左手
第一轮:指定的工作规模大小是全部硬币,也就是客户一下子把所有的硬币交给第一个部门,第一个部门的员工把所有硬币翻完之后,交给第二个部门,同时每个部门的manager也记录相应的时间。这一轮的目的是让每个人熟悉一下工作,尤其是该怎样记录时间。
第二轮:规模也是跟上一轮一样,重新运行一遍
第三轮:规模减半或者变为1/3,就交给下个部门。需要注意的是,每个部门的manager记录的是从本部门的员工收到第一个硬币,一直到完成所有硬币的总时间。
第四轮:解放生产力。可以使用双手,规模跟上一轮一样。
第五轮:规模降到1,也就是上一个部门每完成一个硬币,立刻交给下一个部门继续处理。
第六轮: 规模仍然是1,但是设定了完成时间,比如20秒,然后目标是在20秒之内生产出尽可能多的价值,因为每个硬币的价值是不一样的。开始几秒钟之后,我有给了每个团队额外的几个1元硬币。
反思
- 随着规模的减小,上市时间大大缩短。
- 随着规模的减小,项目完成时间会大大缩短。
- 随着规模的减小,员工的稼动律会大大减小。因此没有必要去过分关注每个员工的实际工作量,局部工作量的优化并不会带来全局优化。
- 任务的规模时候,开发的波动(Disburbance)会比较小,开发速度会比较快,形成了“流”。
- 随着规模的减小,瓶颈现象逐渐消失,但在规模较大的时候,瓶颈现象十分明显。
- 开发的时候应该关注的生产周期(Cycle time),而不是每个员工的稼动律。
- 随着规模的减小,在整个开发中的排队(Queue)会有显著的减小,等待也会减少。参见我的另一篇博客“浅谈排队”
- 在最后一轮中,通常用很短的时间内就可以给客户带来很多的价值
- 应该关注的是给客户价值,而不是要遵从最初的计划。
注:本游戏根据Peter Stevens和Tommy Norman的Scrum Penny Game做了部分修改而设计。