美文网首页
软件开发团队玩翻硬币游戏 v0.2

软件开发团队玩翻硬币游戏 v0.2

作者: 程序员吾真本 | 来源:发表于2018-11-09 22:35 被阅读0次

我把5张餐桌摆成一条线,然后拿着那20枚硬币坐到最外面的桌子旁,对开发团队众人说:“咱们现在玩翻硬币游戏啦。我需要4个角色:业务分析、开发、测试和运维。你们谁愿意当业务分析师?”

“我来!我早干腻了测试了!”雪立刻答应道。

“好!你做那头第一张桌子。”我指着最靠近里面的那张桌子示意雪坐下,“谁愿意当开发?”

“我当!过把写代码的瘾!”蓝抢着回答,然后挨着雪边上坐下。

“谁愿意当测试,挨着蓝坐?”我接着问。

“我当测试!测试一定比运维有意思多了。”山挨着蓝坐下了。

“好了发你没得挑了,挨着我坐当运维吧。”我笑嘻嘻地拉着发在自己身边,接着说,“我当用户。“

看到众人都坐好了,我请发把20枚硬币传给另一头的雪,然后从包里拿出一个夹子、纸和笔,画了下面的表,立在桌上。

业务分析师(雪) 开发工程师(蓝) 测试工程师(山) 运维工程师(发) 用户(我)
20枚硬币

“下面我要介绍一下这个游戏的规则,请各位把手机掏出来,调出秒表的功能。”我也掏出了手机,“这个游戏模拟咱们的工作流程,工作从业务分析开始,每个角色完成后就把工作往下游传递,依次传给开发、测试、运维,最后交付给我这个用户。”

“工作是什么呢?”蓝问。

“工作就是翻20枚硬币,只能用左手一枚一枚地翻,不能两手同时翻。把20枚每枚都翻完一次后,就算完成工作,可以传给下游了。”我说。

“怎么计时呢?”雪问。

“每位只计自己翻硬币的时间,不用记别人的。从自己翻第1枚开始,到自己翻完第20枚为止。我作为用户也计时,从业务分析师翻第1枚开始,到我收到第1枚和最后1枚为止。”我说。

“第1枚和最后1枚?如果是20枚一起传给你,那岂不是两个时间是一样的?”山转着眼珠说。

“对,这一轮咱们是20枚一个批次往下传,所以这两个时间是一样的。”我说,“还有问题吗?翻硬币时不要着急,按照你最舒服的速度翻就行了,别搞得像赶火车似的。没有问题的话就准备好手机秒表,别忘了计时,我数3、2、1就开始了。”

雪把20枚硬币摊在面前,众人都准备好了手机秒表。

“3……,2……,1,开始!”我和众人都按下了秒表。雪开始一枚枚翻硬币,由于过度紧张,有一个硬币差点滚到地上。20枚翻完后就传给蓝,蓝直接伸出两只大手一起翻,让我给及时制止了:“只能左手一只手翻!”20枚硬币很快翻完,传给了山,又传给了发,最后到了我面前。“上线!”我按完秒表的停止键后欢呼道,“各位报一下时间吧。业务分析,24秒;开发,22秒;测试,18秒;运维,22秒;我这边第1枚和最后1枚都是103秒。”

我更新了一下夹子上的时间。

轮数 业务分析师(雪) 开发工程师(蓝) 测试工程师(山) 运维工程师(发) 用户(我)第1枚/第20枚
第1轮(20枚/批) 24秒 22秒 18秒 22秒 103秒/103秒

“好,把硬币给雪,咱们玩第2轮。这一轮咱们10枚一个批次玩。雪还是像以前那样翻硬币,但翻完第10枚后,就可以把这10枚传给下游,然后再继续翻剩下10枚。下游每位也是同样10枚一个批次往下传。注意每位计时还是一样,从自己翻第1枚开始,到自己翻完第20枚为止。我作为用户的计时也是一样,从业务分析师翻第1枚开始,到我收到第1枚和最后1枚为止……”我还没说完,山恍然大悟:“啊,这次你的第1枚和第20枚时间就不同了!”

“对!”我向山竖起了大拇指,“没有问题的话就准备好手机秒表,3……,2……,1,开始!”

不一会儿,我把第2轮的时间在夹子上更新了。

轮数 业务分析师(雪) 开发工程师(蓝) 测试工程师(山) 运维工程师(发) 用户(我)第1枚/第20枚
第1轮(20枚/批) 24秒 22秒 18秒 22秒 103秒/103秒
第2轮(10枚/批) 24秒 24秒 26秒 26秒 50秒/65秒

“好,再把硬币给雪,咱们玩最后一轮。这一轮咱们1枚一个批次。雪还是像以前那样翻硬币,但每翻完1枚就可以立即传给下游,然后再继续翻剩下的硬币。下游每位也是同样1枚一个批次往下传。每位计时还是一样,从自己翻第1枚开始,到自己翻完第20枚为止。我作为用户的计时也是一样,从业务分析师翻第1枚开始,到我收到第1枚和最后1枚为止。有问题吗?没有问题的话就准备好手机秒表,3……,2……,1,开始!”

硬币飞快地在众人之间传递。很快,我把第3轮的时间更新在夹子上了。

轮数 业务分析师(雪) 开发工程师(蓝) 测试工程师(山) 运维工程师(发) 用户(我)第1枚/第20枚
第1轮(20枚/批) 24秒 22秒 18秒 22秒 103秒/103秒
第2轮(10枚/批) 24秒 24秒 26秒 26秒 50秒/65秒
第3轮(1枚/批) 41秒 47秒 46秒 45秒 8秒/53秒

启示

“好啦,游戏环节结束。现在该分析这张有意思的表格啦。”我让众人围拢过来坐在一起看夹子上的表格,“先看最后一列,当20枚一批传递时,用户收到第1枚和第20枚都是103秒;当10枚一个批次传递时,用户收到第1枚需要等50秒,收到20枚需要等65秒;当1枚一个批次时,用户只用等8秒就能收到第1枚,只用等53秒就能收到20枚。我问大家,用户同样是收到这20枚硬币,为什么1枚一个批次会比20枚一个批次要快近1倍?”

“因为20枚一个批次,当雪在翻时,后面的人都在等嘛!”蓝说。

“嗯,看人是不是在等待是一个不错的思路。但能不能换个角度来看变快的原因呢?”我环顾大家,看到大家都在滴溜溜转动眼珠思考不说话,就不紧不慢地继续说,“能不能从硬币的角度看?”。

“啊,对呀!当20枚一批时,当雪翻完第1枚后,第1枚就在等;当他翻完第20枚后,前20枚也都在等!”山兴奋地转着眼珠说。

“是呀!当1枚一批时,每个人翻完1枚就能往下传,每枚硬币都没在等,所以速度快了1倍!”发补充道。

众人恍然大悟。

“这能给我们什么启示?至少有两点。第一,把关注的视角从人转移到价值上,与其关注‘让人忙起来’,不如关注‘让价值流动起来’。第二,把大批量拆成可以独立上线的小批量,串行地持续交付,能减少价值在中间环节的等待时间,从而加快整体交付速度。这里我为什么要强调‘串行’和‘交付’呢?”我问。

“因为如果是并行地做多件事,就好比硬币的批量在增加,就慢了嘛,所以要强调‘串行’。如果小批量不能尽快交付给用户,那硬币也会在某个中间环节发生等待,也会变慢,所以要强调‘交付’。”发说。

“赞!”我向发伸出两个大拇指。

“别忘了三次玩儿之间每个角色各自的时间变化。”发提醒我。

“对,我差点忘说了。”我说着把山那列的时间又给描粗了一下。

轮数 业务分析师 开发工程师 测试工程师 运维工程师 用户第1枚/第20枚
第1轮(20枚/批) 24秒 22秒 18秒 22秒 103秒/103秒
第2轮(10枚/批) 24秒 24秒 26秒 26秒 50秒/65秒
第3轮(1枚/批) 41秒 47秒 46秒 45秒 8秒/53秒

“同样是山,同样是翻20枚硬币,为什么第3轮的工作效率最低?”我问。

“因为翻一枚传一枚需要切换时间。”山说。

”对。不仅是你,大家的工作效率在第3轮都是最低的。但每个人都用如此低的工作效率,却令用户享受到快了近一倍的交付速度,这又给我们什么启示?“我问。

众人又陷入沉思。

”这是这个游戏给我们的第三点启示——与其关注局部指标,不如关注全局指标。如果反过来只是追求局部优化,比如20枚一批连续翻会提升局部指标,但用户却要慢近一倍的时间来收到产品,得不偿失。”我说。

“啊!下次我和项目经理沟通项目进度,就不提你们每天的工作小时数和出勤率了,我只告诉她全局指标。”蓝一拍胸脯信誓旦旦地说。

“噢耶!”众人欢呼起来。

“要想让全局指标好看,必须要把批量减小。比如咱们这次‘商品’和‘订单’两个特性在一起上线就批量太大了,最好串行地一个个上线。比如先上线‘商品’。”我说。

“好主意,我明天就去改计划。”蓝迫不及待地拍着桌子说。

“除了这三点启示,还有其他启示吗?”我接着问。

众人又开始转动眼珠。

“如果咱们玩游戏的时候没有用秒表计时,还能得出上面的启示吗?”我问。

“持续度量!除此之外小批量交付还有两点启示——批量小就便于定位和修复软硬件缺陷,有助于提升产品质量;批量小还能尽早让用户使用已经交付的那部分功能,以便尽早验证新功能是否有价值,这样就能知道‘商品’功能是不是有价值。”发一边说,一边把写有那六条启示的便签放到大家面前。

翻硬币游戏启示

  • 启示一:价值流动高于人在忙碌。把关注的视角从人转移到价值上,与其关注“让人忙起来”,不如关注“让价值流动起来”,从而真正提升整体效能;

  • 启示二:小批上线速度快。把大批量拆成可以独立上线的小批量,串行地持续交付,能减少价值在中间环节的等待时间,从而加快整体交付速度;

  • 启示三:全局指标高于局部指标。优化局部指标往往会导致损害全局指标,得不偿失;

  • 启示四:没有度量,就没有改进

  • 启示五:小批便于缺陷定位。小批量交付使得软件变动少,便于定位和修复软件缺陷,有助于提升产品质量;

  • 启示六:小批便于尽早反馈。小批量交付还能尽早让用户使用已经交付的那部分功能,以便尽早验证新功能是否有价值,尽早获得反馈,尽早进行改进。

“今晚太有收获了!看来小批量交付能解决咱们所面临的‘开发慢、质量差、价值不确定’的问题。可惜项目经理没来。我打算根据这些启示修改一下咱们的上线计划,比如把批量减小串行地上线,设定新的全局指标来度量价值的流动。明天咱们可以一起开会讨论一下,然后再找项目经理谈。”蓝兴奋地对众人说。

相关文章

  • 软件开发团队玩翻硬币游戏 v0.2

    我把5张餐桌摆成一条线,然后拿着那20枚硬币坐到最外面的桌子旁,对开发团队众人说:“咱们现在玩翻硬币游戏啦。我需要...

  • 蓝桥-历届试题 翻硬币

    题目描述历届试题 翻硬币时间限制:1.0s 内存限制:256.0MB 问题描述 小明正在玩一个“翻硬币...

  • 翻硬币游戏引导总结

    对游戏这种培训形式一直挺感兴趣的,相对于讲授,游戏的互动性更好,参与性也更强。比较遗憾的是,敏捷之旅4个游戏都没有...

  • 那个被偶尔遗忘的梦想

    今天玩了财富流的游戏,很棒,觉得这个游戏很适合每个人玩,以及非常适合团队玩。期待早点带我们团队玩这个游戏。 游戏人...

  • 说赌

    小时候,我们经常玩一种游戏,游戏规则:拿一枚硬币的正反面去押赌注,拿硬币的人把硬币垂直放在光滑的桌面,使它旋转,然...

  • 数学思维游戏(三)

    猜硬币游戏 相信很多同学家里都有硬币,那就让我们用硬币来玩一个数学游戏吧!你可以拿出10枚,任意分成两组,我都可以...

  • 矩阵翻硬币

    今天再看蓝桥杯的时候,看见一道有趣的贪心题。 可以知道,假设是一个(1,m)的矩阵,那么某个硬币被翻的次数是由它所...

  • 翻硬币问题

    题目 总共有n枚硬币均正面朝上,规则规定每次只能将其中p枚硬币翻面(1≤p≤n)。问最少需要多少次操作才能将所有硬...

  • 用硬币游戏讲拆需求

    这个硬币游戏能够帮助团队理解batch size对产品价值的影响 时长 20-30分钟 材料 至少十个人二十个硬币...

  • 分段思考解决后退问题

    同学们玩抛硬币游戏,游戏规则是:将一枚硬币抛起,落下后正面朝上就向前走 10 步,反面朝上就后退 5 步。小明一共...

网友评论

      本文标题:软件开发团队玩翻硬币游戏 v0.2

      本文链接:https://www.haomeiwen.com/subject/tksaxqtx.html