敏捷开发演练游戏设计
设计目标
通过游戏,让大家体会影响项目进度和质量的因素,通过持续改进消除负面影响,并将总结的最佳实践应用到实际项目中去
设计要点
- 不要上来就急着做,做事情前要把流程规范定义好,并且大家要达成共识
- 分工协作很重要
- 不要做高大上的计划,但也不能没有计划,面对变化,随机应变
- 做事情要有优先级的概念
- 集体智慧威力大
- 要有时间节点意识
- 质量非常重要,质量不仅仅和测试人员有关,和每个人都息息相关
- 要有成本意识
- 合理使用工具可以提高工作效率
- 磨刀不误砍柴工,方法有时比努力更重要
- 做什么事不重要,做完什么事才重要
- 团队所有成员是一个整体,有共同的目标,考核也应该以团队考核为主,而不是个人
游戏规则
- 游戏道具
- 白板、白板笔、便签、贴纸、需求卡、任务卡、角色卡、战力卡、交付系统
- 游戏规则
- 选手每人选择一个角色卡,角色包括:PM、SM、QA、UX、Front、Back,其中PM、SM、QA、UX各4张,Front、Back各12张
- 选手每人选择一张战力卡,战力卡点数从60-200点不等,战力点数直接关系到个人奖品,以及团队利润,请大家理性选择,点数只能给PM看,不能给其他人看
- 成员招募:由PM负责招募成员,人数,角色由PM决定,其中QA、UX、SM最多一名,人多力量大,但也会提高成本,请各位PM三思而后行
- 按照需求卡上的任务列表,找到对应的任务卡,最终把所有任务卡背后的字符连在一起就是识别码,输入到计分系统中,识别码正确得分,不正确每次扣10分,每个回合结束时,计分员计分,公布结果。
- 通过完成需求卡上的任务赢得对应价值点数,价值点数需要你们自己根据需求卡上的线索评估
- 留意每张需求卡左下角的截至时间,超过截至时间,即使完成任务也不得分,例如:1/4代表在第一个回合完成,2/4代表在第二个回合完成,以此类推
- 比赛共四个回合,每个回合15分钟,每个回合结束后,会公布各个小组获得的点数,之后有5分钟讨论时间,四个回合结束,比赛结束
- 比赛进行中,可以向主持人提问,但主持人只接受PM的提问
- 奖励设计
- 此次比赛共评选1个奖项(都是团队奖,没有个人奖):利润最高的团队
- 利润算法:四个回合所有价值点数 - 所有成员战斗力点数
- 奖品分配依据:团队获得奖励后,依据个人战斗力点数分配
游戏流程
准备工作:
- 熟悉游戏规则:投影显示游戏规则,大家有10分钟讨论时间,期间有问题可以向主持人提问
- 选择角色卡:每个人选择一张角色卡,代表自己在团队中扮演什么角色
- 选择战力卡:每个人选择一张战力卡,战力代表每个人对自我战斗力的评估
- 队员招募:由PM负责招募成员,人数,角色由PM决定,其中QA、UX、SM最多一名,人多力量大,但也会提高成本,请各位PM三思而后行
游戏开始:
- 召集PO,发19张需求卡
- 召集开发团队代表,发任务卡
- 召集QA,发checklist
- 第一回合开始(15分钟),交付系统启动,开始计时
- 15分钟后,第一回合总结(5分钟)
- 5分钟后,第二回合开始(15分钟)
- 第二回合开始5分钟,增加2张需求卡
- 10分钟后,第二回合结束,总结(5分钟)
- 5分钟后,第三回合开始(15分钟)
- 5分钟后,增加2张需求卡,作废一张需求卡
- 10分钟后,第三回合结束,总结(5分钟)
- 5分钟后,第四回合开始(15分钟)
- 15分钟后,第四回合结束,总结(5分钟)
- 计分,公布结果
- 颁奖
卡片设计
需求卡设计
需求卡示例:
需求卡需要体现在梳理需求时要关注的几个维度:
- 价值
- 工作量
- 交付时间
- 投入产出比
- 任务列表
通过这几个指标来决定需求的优先级,例如:通过价值和工作量的评估可以大致计算出投入产出比(ROI),ROI高的需求优先;
通过工作量和交付时间的评估,可以大致评估按时交付的风险,再结合价值,由此来辅助决策是否需要提前介入,或者干脆放弃
任务列表体现了这个需求需要拆分出哪些任务,作为进一步细化评估工作量的依据
价值点数、工作量和ROI不会直接告诉团队,而是根据需求卡上的线索,由团队自己评估,这是为了模拟真实的项目场景
同时为了游戏时间可控,交付时间和任务列表是明确的
任务卡设计
需求卡示例:
- 任务卡分为4种:色值卡、图形卡、成语卡、数字卡,分别模拟四种类型的任务,确保每个人都不能独立高效完成每种任务,达到需要分工协作的目标
- 每种卡片50张,在确保满足预设的消耗时间的前提下,尽量降低制作成本
- 每张卡片背面为0-9的数字或26个英文字母中的任意一个,作为识别码的一部分
- 卡片分4组,每组背面的贴纸用一种颜色,确保卡片不小心混在一起时也能快速辨认
- 游戏过程中,所有任务的卡片都是混在一起的,共200张
- 任务卡存在一定比例的容易出错的答案,以此用来模拟项目开发过程中可能出现的bug
- 所有任务设计基本都是通过找卡片的方式去完成,既然是找,就会有方法的差异,而且每种任务的查找维度都不同,可以激发团队的讨论和寻找最快的方法
角色卡设计
根据敏捷项目的角色,设计了5种角色卡,分别为:PO(产品负责人)、UX(视觉交互设计师)、QA(测试人员)、Front(前端开发)、Back(服务端开发) PO、UX、QA每个小组一名,因此,每种卡片各4张 根据敏捷开发的最优实践,每个团队最多7个人,因此每个团队Front、Back最多可以选4个人,因此Front、Back卡片数量各8张
战力点卡设计
需求卡示例:
战力点用来模拟成员的成本(可以理解为薪酬),用来在游戏结束时计算项目成本,点数从60-200不等,考虑到实际选择情况,点数分布比例为60和200的最少,80-120的最多,总数为40张,尽量确保每个人都能选择到期望的点数 最终做为分配奖品的依据
游戏流程设计
回合设计
共四个回合,模拟一个项目的四个迭代,每个回合20分钟,其中有5分钟为回顾时间,大部分需求会在游戏一开始就下发,但游戏进行中会临时增加或删除一些需求,模拟真实项目过程中的需求变更。
交付环节设计
为了最大程度模拟交付环节,专门开发了一个模拟的交付系统,具体操作是,团队在完成需求后,需要在交付系统中填入正确的需求识别码,才算完成,如果填写错误每次扣10分,模拟交付给客户时出现bug时对公司的负面影响,同时,也可以满足持续交付的需要。