很多开发者都习惯了传统的游戏制作过程,但是,随着游戏开发的越来越复杂(和成本的增加),我们需要新的开发方法。我们和Clinton Keith,High Moon工作室的CTO, 交流了关于Scrum的想法。High Moon和其它一些公司发现Scrum在游戏开发方面非常好用。
GameDAILY BIZ: 我们的很多读者也许对敏捷方法和Scrum方法都不是很熟悉,它起源自哪里,你能否介绍一些它的基础,以及它为什么适合于游戏开发?
Clinton Keith: 敏捷方法和传统方法不同,传统的方法中包括了大量的文档书写,实现各种功能,然后在最后组装在一起。带来的问题是不到项目最后你无法知道你的游戏是什么样子的。而敏捷方法开发过程中是迭代的,可以不断地根据结果作出反应,例如根据游戏中实际出现的元素,来持续计划下一个要出来的内容。按照这种办法,游戏功能的价值可以在早期就被评估,项目组可以调整下一阶段要开发的内容。Scrum是四个主要的敏捷方法中的一个。
BIZ: 我知道High Moon首先是在Darkwatch的开发上使用了这种方法,计划是在最初制定,还是在开发过程的某个阶段制定的呢?你觉得必须要用新的方法吗?
CK: 我们是在Darkwatch开发的半道决定使用新方法的,也就是我一担任High Moon的CTO之后。我和编程人员一起使用Scrum和其它的叫做XP的敏捷方法,改善了我们的编程部门的结构。我的团队中的大多数人过去都听说过这两种方法,在进行了进一步的研究之后,我们决定迅速采用Scrum方法。从那时起,我们就开发了这个框架,把我们的美工和设计师都纳入到这个过程中来。Scrum帮助我们完成了Darkwatch的进度安排,但直到我们在这个基础上使用敏捷实践的新想法之后,我们才真正看到了敏捷的所有好处。
XP来得要晚一些,XP的目标是使用简单的实践,以允许存在大量改变的软件开发,这一点对我们很有价值。过去,我们进行大规模的技术设计文档,然后试图在最终代码中实现它们。不幸的是,这些文档往往并不准确,代码需要改变,如果不是使用XP实践,团队中会有产生很多问题。
[ "[Scrum]主要的挑战在于从下命令到控制的管理文化到提倡团队所有制的迭代文化的转变。" ]
BIZ: 似乎Scrum主要的方法是去掉浪费工作量的瓶颈。随着开发成本的不断提高,对游戏公司而言提高效率将成为关键。你什么有效的Scrum将给下一代开发带来什么?
CK: 你说对拉。Scurm说的是关于如何创造可见的东西,这样你可以作出符合常识的决定。它是关于如何去除障碍,关于如何在开发早期就明确产品的价值。随着下一代开发的成本提高,我们再也不能为那些游戏开发中最后不会用到的业务模型买单了。我们不能等到项目的最后再来看这个东西是否有趣,这个时候要做大的改变要花的钱就太多了。
BIZ: 由于Scrum主要关注的是团队之间的交流和协作,QA的负荷会减少很多。因此不仅Scrum对开发人员来说有利,对于顾客来说也是有利的,他们可以得到更高质量的产品,对吗?
CK: 绝对如此。我们实际上是将QA测试员嵌入到团队里面来了,保证bug每天都会被fix。Bug修正的推迟会减慢内容开发的速度。而如果降低美工和设计师的速度,会减少他们产出的量,这个最终会导致最终产品的低质量。
BIZ: 已经看到了这些好处,你认为其它的游戏公司会被说服来采取Scrum方法吗?
CK: 自从去年我在游戏开发者大会上作了讲演之后已经有很多开始使用了。在那个会议上我描述的传统开发的问题是相当普遍的。Scrum有很多常识性的实践,使用起来并不困难,又可以解决这些问题。我现在维护着一个邮件列表,关注游戏开发者使用敏捷方法中的问题。
BIZ: 如果开发者决定使用Scrum,有什么需要注意的显著的缺点吗?
CK: 主要的挑战在于文化的转移,从下命令到控制的管理文化到提倡团队所有制的迭代文化的转变。对于我这个位置的人来说,要让团队对他们的目标和任务30天一次进行控制可能会比较困难。同样对第一次按照Scrum的要求承担责任的团队来说也有困难,尽管一旦团队习惯了这种方法就会看到它的好处,并且很快喜欢上这种任务方式。
BIZ: 和传统开发方法不同,Scrum鼓励团队进行自我阻止并且管理人员并不对成员进行任务分配,这种“软”管理会不会适得其反?
CK: 当然有可能。你必须让你的顾客和产品所有者很好的作好他们角色的工作。在每个Sprint 中,团队都需要切实理解愿景(Vision)和游戏将出现的价值,并建立将会为下一个sprint创造最大价值的目标。一个危险的情况的是团队自己充当了顾客的角色,并偏离了方向,走到了对整个项目并不是最好的方向上。这也是为什么顾问(例如敏捷方法的教练coach)一次次的访问的价值所在。他们可以帮助团队在正确的道路上前进,同时也引导真正的顾客,例如工作室管理者,游戏发布商等。
BIZ: 你已经成了Scrum的传道士,对吗?你用了哪些方法在开发社团中推进它呢?
CK: 是的,我坚信整个行业现在是在一个十字路口上。我们可以用更好的产品来重建市场,这方面的成功将会为开发的成本买单。敏捷不是秘密,而且已经在主要的R&D驱动的行业,例如计算机软件,消费电子开发等行业中发挥了不错的作用,开发了更好的产品,并且推向市场用时更短,花费更少。
过去,我做过关于敏捷和Scrum的演讲,而且也会在下次GDC2006会议上做名为Agile Methodology in Game Development: Year 3的演讲,我还维护了这个网站www.agilegamedevelopment.com,以及mail list和blog。
BIZ: 结束前,请问还有什么要补充的吗?
CK: 没有拉,问题很棒!
BIZ: Thank you.