敏捷开发培训——混乱中走出60步
David继续说道:“下面我们做个游戏。这个游戏叫‘命令和控制’。首先,我需要两位参与者,其中一位是老板,另外一位是执行者,也就是员工了。老板可以发出6个指令,包括走、停、左、右、快、慢,执行者必须服从老板的指令。老板只能发出指令而不能触碰到执行者。你们的目标就是要使执行者在2分钟之内走完60步。当然,我会在你们的行进途中设置很多障碍。哈哈!好,我们现在开始吧!”
话音刚落,就有两位同事自告奋勇站起来了。等他俩分配好“老板”和“员工”的角色之后,David让大家起身把椅子腾出来,还故意摆得乱七八糟,这才让他俩在一堆椅子之间开始游戏(如图3-3所示)。
图3-3 混乱中走出60步
游戏开始了,“老板”开始发号施令。由于有障碍物存在,他得不时地让他的“员工”向左走或者向右走以避开障碍物。而另一方面,“员工”虽然知道该如何避开这些障碍物,但他却不得不等待“老板”下命令后才能行动。这样一来,“老板”思考的时间、发出指令的时间和“员工”的反应时间,这些无疑都成了拖延时间的因素,最终那位“员工”也没能在2分钟内走完60步。
随后又有几对搭档玩了这个游戏,他们要么也像第1对一样没有按时完成任务,要么就是手忙脚乱地达成了目标。即使完成了目标,也还免不了有一些违规的情况发生:有的“老板”总是忍不住想要亲自带领“员工”行动,还有的“员工”与“老板”意见不一致时总是忽略“老板”的意见……
“好,谁能谈谈对刚才这个游戏的体会?”游戏过后,David发问。
一位扮演“员工”角色的同事说:“做员工很累,要不停地接受命令。”
接着,另一位扮演“员工”角色的同事说:“做员工也很没意思,像个机器人,没有自主权,明明知道怎么走却要等命令才能行事。”
“刚才游戏中的‘员工’发表了意见,‘老板’的代表能谈谈体会吗?”David说。
“当老板更累,要根据情况不停地发号施令。”一位“老板”说。
另一位“老板”似乎当得有些委屈:“老板不容易,员工有时候不听老板的。我还没发命令,他就自己走了。”
“很好,谢谢大家,我们再接着做第二个游戏。第二个游戏叫‘自我导向’。大家听名字就应该明白是怎么回事了,就是你们所有人都是执行者,需要你自己在障碍物之间用2分钟走完60步。”
David让所有人参与,同样在乱七八糟的椅子阵中穿行,所不同的就是这次只有“执行者”,而没有发号施令的“老板”。结果,所有人都按自己的判断,在选择路径的同时避开了障碍物,很快就走完了60步,用时还不到1分钟。
David调侃道:“大家看,在第二个游戏里没有‘老板’指手划脚,大家完成得多好啊!‘老板’总是耽误时间并拖延项目的那个人,呵呵。这两个游戏讲的是自我管理的团队,这在敏捷开发中是一个非常重要的理念。敏捷开发的管理者要充分相信团队能够完成任务,并充分授权让团队进行自我管理。而传统开发过程的理念则恰恰与之相反。这几个例子就当作敏捷开发的引子吧,下面我们来全面介绍敏捷开发。”