《腾讯资深产品经理谈敏捷开发于游戏》摘抄
为什么我们要敏捷迭代开发?
我们的设计不一定是我们真正想要的
文档内容在我们想象中和实际体验版本时的感受不相等
我们没法100%的思考到所有需要思考的角落
什么是敏捷迭代开发?
敏捷开发绝对不是一套一成不变的标准化流程。而更多的是一种自适应,自我优化的流程优化理念。
敏捷开发是一种精神,而不是一种固定的形式。我们需要有一切都是可以改变的心态和准备,并且真的可以着手去改变任何我们觉得有问题的东西,这样才能真正发挥敏捷迭代开发的优势。
敏捷迭代开发中要注意什么问题?
无论我们在设计上花多少时间,我们都无法完全消除设计的实际效果和预期的差距。甚至在超过某种程度之后,我们花在设计上的时间将会形成浪费(这就是所谓的OVER-DESIGN)。
我们应该开始考虑,什么时候设计应该停止,什么时候我们就应该开始先做,然后预留足够的时间,把那些可能出现的,和必然出现的问题,留给我们后续的迭代来发现和解决。
不要把所有问题试图在一开始就全部解决掉,这既不现实,也不科学。
什么是迭代
狭义的迭代:在不断以版本为基础的增量功能开发的基础上,不断对已经有的功能进行完善和优化
广义的迭代:不仅限于我们的功能开发。而且还要对于我们本身的流程,工具,工作方式,方法,习惯等等所有可以改变,可以优化的地方进行优化,进行修改。最终的目的就是通过一个个版本迭代开发,不只功能品质在变好,团队效率,团队流程等各个方面都会变得越来越好。最终形成一个真的具有战斗力的团队。
人
谈到人,其实就是谈到整个流程和过程中最关键的地方,最关键的元素,也是决定一切事情成败的根本。无论多好的制度,流程,如果没有相应的,合格的人来执行,也只会是失败的结局。那么,在敏捷开发中,或者说在游戏业的敏捷开发中,我们需要什么样的人,我们需要什么样的素质和要求,才能更好的运作这个模式,更好的做,并且做出更好的游戏呢?
迭代的意识
首先,是改进的意识。永远记住,没有完美的东西。我们需要保持清醒的认识,认识到我们的项目;我们的流程;我们的文档;我们的游戏等等,都还有可以改进的地方,都还有很多可以改进的地方。改进是没有终点的,我们需要能够找到这些可以改进的地方,我们还需要可以找到改进的方法,并且切实的推行下去。这样,我们才能在一次次迭代中,得到更好的项目,更好的版本,更好的团队,等等。意识到我们有问题,我们才能够改正这些问题。从某种意义上来说,其实这也是迭代的意识。
效率的意识
其次,我们需要效率的意识,我们要明白,最终,我们是在开发商品。我们是在进行商业运作,所以效率是我们需要真正关心的。而效率的重点并不是每天在公司里花了超过8小时,而是我们的时间是否都真正被有效利用起来了。我们是不是真的在需要的时间内,给出了需要的成品。是否这些成品能够合格。每天做的事情是否有意义,是否能够给予我们的工作和项目帮助?我们是否能够抓住我们工作的重点?而不是浪费在无关痛痒的地方。我们需要考虑我们的工作是否是向着目标前进的,是否足够,是否有效率。要做到效率,我们就需要首先明确我们的目标,其次清醒的意识到我们在做的事情,最后再反省是否有无效或者被浪费的地方。是否我们能做的都做了,是否我们把不需要做的也做了?
理解游戏
再次,我们需要有对游戏的把握。毕竟,我们做的是游戏,如果做的人都不知道什么是游戏,那么如何能保证我们做出来的游戏能被人喜爱?甚至,我们如何能保证我们做出来的游戏,是游戏,而不仅仅是一个选择播放的技能地图预览器?所以,首先,我们大家都需要了解游戏,了解什么是游戏,游戏包含了什么;游戏性是什么;核心玩法是什么;主要模式是什么;画面表现是什么;音效是什么;故事是什么,它们是如何结合的,是如何组合成一个游戏的。不同的游戏类型里,这些要素又以什么比例组合,哪一个更加重要。这些都是游戏开发者所需要了解的基本。进而,开发者才能明白,我们现在的游戏已经有了哪些元素,还差哪些元素,已经有的元素是否足够,是否还有所欠缺。这时,合格的游戏开发者们,才有能力说出,我们的开发方向在哪里,应该补充什么元素,有什么欠缺的地方。这样,我们才有能力,做出一个至少完整的游戏。
开发者的野心
进一步,我们如果还有野心,并非只是做一个完整的,良好的游戏,我们还想要有创新,想要做一款让人眼前一亮的游戏。那么我们就不只要了解什么是游戏,我们还需要对游戏有自己的理解和想法,我们需要有自己对这个游戏的未来的想象,并且时常将之拿出来讨论,碰撞,最后留下那些可行的,优秀的方案来实现。我们每个人都需要对我们的游戏有所希望,并且这些希望都是需要时常在我们的大脑里酝酿的。这才是游戏开发最有趣的地方,我们总是可以实现我们脑海中大胆的想法,我们总是可以把我们有趣的意见,点子说出来,如果能够得到大家的赞同,就可以实现到游戏里去。做游戏应该是有趣的,而不是每天重复枯燥无聊的劳动。所以,我们需要思考,并且说出我们的想法。
快乐地制造快乐
用心制造快乐,是不够的,还需快乐地制造快乐。让我们并不仅仅是麻木的工作着,而是真的有趣的去做有趣的事。这才是做游戏的本意,这才是大部分人最早加入游戏公司制作游戏的本意。如果我们做的东西连我们自己都无法说服自己,“那是有趣的。”那做出来的真的能有趣么?我们在做游戏,之后才是工作。如果整个游戏,都没有一点自己的心思在里面,那我们就真的只是在勤劳的上下班了。
而且也只有相互间的思想,想法在碰撞,才会做出有意思的游戏。游戏的设计并不仅仅是策划的事情,游戏的需求也不仅仅是由策划提出。只有大家每个人都可以针对游戏的缺陷,乐趣,玩法能有自己的见解,每天争的面红耳赤,那才是真正做好游戏的取胜之道。在游戏性的讨论上,根本没有策划美术程序之分。
对游戏工业化开发的把握
最后,我们还需要有对游戏开发的把握,对整体的把握。我们是否知道我们现在处于游戏开发的哪个阶段?这个阶段应该重视那些东西?应该注意那些东西?这个阶段我们应该完成那些东西?对于这些我们是否有清醒的认识,清醒的计划?
我们是否有对我们项目的整体规划?知道我们现在要做什么,知道我们下一步还要做什么,这才能让我们明白我们现在做的是否有意义,是否有效率,是否正确。我们的目的,绝对不是过GR1,2,3,4,5.这一点大家应该明白,我们始终都是在做游戏,如果我们的方法正确,计划正确,那么这些评审对我们产生不了任何影响,那么既然我们每次都需要针对这些评审改变我们的流程计划,那么是不是也意味着我们本身的计划也存在一些问题?这个问题大家也许可以思考一下。不要让问题找到我们,而是我们去寻找问题。
周期总结会
自适应,自我优化的流程,需要有两个要素才能真正的进行自我改进。首先最重要的是其中的人要有对流程中的问题,需要优化的地方,甚至是对优化本身有清醒的认识和意愿。其次,就是这样的人推动的一个优化行动。而周期总结会,就是SCRUM中设立的一种针对流程自身优化而进行的一种行为。
项目总结是游戏业的一个普遍工作习惯,在每一个游戏项目结束的时候,会进行一次全项目级别的总结会议,对于整个项目过程当中,做的好,有典范价值的事物,或者在过程当中发生的有范例价值的问题,甚至是还没有解决的问题进行系统的总结和提炼。之后将之发表,可以成为团队,甚至其他团队将来工作时的依据和帮助。
而每一个周期一次的周期总结,则是将这一行为加快,频率加高,在项目进行中不断反复。以此达到更快速的寻找总结目前我们的优缺点,针对我们目前的缺点问题寻找解决的办法,并且开始行动。总的来说,就是以更快的频率不只是迭代我们的版本,将我们的版本改进的更好。同时也是迭代我们的行为,优化和让我们自己更加的进步。