从翻硬币游戏看敏捷开发
摘要: 敏捷开发还能这么玩?
本文分享自华为云社区《从翻硬币游戏看敏捷开发》,作者:敏捷的小智。
为了推广敏捷开发的理念,很多敏捷教练都会带领团队做一些敏捷小游戏,今天咱们就来聊聊“翻硬币游戏”。
翻硬币游戏怎么玩
首先分成 N 个小组,每组 6-10 人。同时为每组准备 20 枚硬币。选定计时员为每组进行计时。
计时的内容分别是:
1、 第一个人翻完全部硬币的时间
2、 最后一个人接到第一枚硬币的时间
3、 最后一个人翻完全部硬币的时间
这个游戏将会做 3 轮,每轮每人都只能用左手翻硬币,而且一次只能翻一枚硬币。
第一轮:
一个人翻完全部硬币后,才能把硬币传递给下一个人。
第二轮:
一个人翻完 5 枚硬币后,才能把硬币传递给下一个人。
第三轮:
一个人翻完 1 枚硬币后,就能把硬币传递给下一个人。
游戏结果及意义
游戏结束以后我们就得到了每组翻硬币游戏所用时间的数据。
可以看出,无论我们采用何种方式翻硬币,第一个人翻完全部硬币的时间(Time1)始终都很接近。
随着翻硬币方式改变,变化差异巨大的时间,是 Time2 和 Time3,即“最后一个人接到第一枚硬币的时间”与“最后一个人翻完全部硬币的时间”。这两个时间在我们的软件开发过程当中,相当于是我们给客户初次交付产品的时间及最终交付产品的时间。
在敏捷、Scrum 当中,我们提倡迭代、小步快跑,目的就是为了尽早让产品交付到客户手中。通过一个简单的翻硬币游戏我们也可以看出,当我们将所有需求特性全部完成后再进行交付,所用的时间要比迭代的方式漫长得多。
在游戏当中,我们先做一个假定,那就是提出的需求不会被误解、交付的功能都会通过验收。在这种情况下:
我们可以将第一个翻硬币的人视作产品经理提出需求,第二个人视作开发人员进行开发,第三个人视作测试人员进行测试……最终交付产品到客户手中。
在这种十分完美的情况下,我们已经感受到了“迭代、小快跑”带给我们的福利,更遑论在实际开发过程中,需求经常会被误解、开发的功能总会出现 bug 甚至返工的情况。如果我们把整个产品全部做完再给客户交付,岂不是到时候差距会更大?可能又要有人说:我们的需求都是按照需求说明书来的……不行就按合同办吧…….等等,对此,笔者想重提一下敏捷宣言中的一句话:客户合作胜于合同谈判。
那么最后,今天交给大家的敏捷小游戏“翻硬币游戏”,大家学会了么?
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/ba57d0e5cff5fb3a159922501】。文章转载请联系作者。
评论