透过游戏研发项目特点看项目需求管理

游戏作为一种特殊的软件产品,比普通的软件开发更为复杂,因此,游戏项目的管理较之一般软件项目也更具挑战性。在软件工程中,需求管理是关乎项目生死存亡的首要环节。本文将透过游戏研发管理的视角,重点探讨如何通过有效的需求管理保证项目成功。

  游戏研发项目特点

  1、项目整体复杂性强

  游戏是一种特殊的软件,尤其是大型网游,通常比一般的软件开发规模大、人数多、周期长、复杂程度高。首先,正规的游戏开发会包括策划、美术(含2D和3D)、编程和测试等多个团队,如何使这些具备不同工作技能的团队成员协同工作,如何使各个工作环节衔接顺畅,是一个颇为复杂的问题。其次,网络游戏项目的开发周期较长,虽说一般在1年半到2年之间。另外,游戏项目的成败很大程度上依赖于市场对游戏的反响和接受意愿,频繁的需求变更再次增添了游戏研发的复杂性。

  2、需求管理难度大

   游戏的需求管理贯穿整个开发过程,是影响游戏开发质量的关键。游戏项目最初的需求是从策划部门提交的游戏创意、玩法、美术风格、大致背景、特色系统、与 同类游戏区别等等一系列繁杂的内容中,通过各部门讨论和评估而总结出来的。虽然通过需求分析会得到《游戏功能描述书》这一结果性文档,但是,如果不进一步 结构化分解,项目成员要进行任务分配和编程仍然很难。

  除了最初的需求分析,需求变更管理也是一个难点。游戏项目计划经常改动,往往也是 由需求变更引起的。一方面,为了使游戏发布后更具有竞争力,需求变更不可避免,如果不对变更进行评估取舍,项目的整体目标可能很难达到;另一方面,为了弥 补需求变更对项目进程带来的影响,开发人员常常快速的进行功能修改和增加,而没有遵循统一的流程控制,从而使游戏整体的有序性被破坏,人为地增加了工作 量,最后导致跳票。

  3、项目规划与执行要求高

  项目规划准确性。游戏作为大众娱乐 的商业产品,通常都会选择在重要档期推出,如圣诞、新年和暑假等。准确的项目规划能使企业在第一时间收回成本并盈利,游戏跳票就意味着被竞争对手抢占先 机;若为了在档期按时发布而忽略了游戏的品质,将给企业带来更为严重的后果,导致游戏只能降价出售,甚至召回。

  项目执行过程规范程度。 游戏作为创意产业,很多从业人员都充满智慧、自信、极具创造力,同时也有些不容易受到流程和规则的约束。例如,一些开发人员喜欢增加不必要的“玩家欣 赏”,这些功能并不在需求规格说明书中,也不是玩家所期望的,开发这些功能必然会影响项目整体进程。因此,游戏的创意虽要无拘无束,但项目管理必须要流程化、规范化,才能使项目往预期的方向发展,直至游戏成功发布。

   美术资源管理。游戏设计中会有大量图片、视频等大文件资源,尤其是在3D游戏中,包含模型、贴图和骨骼等内容。目前的版本控制工具很多都不适合大文件的 管理,或者会浪费过多的存储空间。另外,在游戏发布时,都会对资源文件打包,网游的客户端文件中有很大部分都为美术资源,只有将这些文件按规则存储到相对 应的路径并规范命名,才能有序管理这些资源,提高效率。

  测试管理。目前国内网游团队的测试能力相对较弱,大部分都没有高效、全面的缺陷管理系统,甚至有一些测试工作与客户支持任务都由同一团队来负责。相反,测试在欧美游戏公司中起了非常重要的作用,这也是欧美游戏品质上乘的重要原因之一。

  有效的需求管理方法

  从游戏研发项目特点不难发现,目前存在于游戏开发管理中的很多问题都源于需求管理环节。

  量化需求管理

  如前所述,游戏项目通常规模巨大,涉及部门众多。很多欧美视频游戏的开发投入都在千万美元以上,通常需要200人以上的专业团队开发2到3年时间。游戏项目的需求涉及到很多内容,包括游戏类型、界面类型、引擎、游戏性等。

  游戏项目的需求文档最初来源于策划案,内容包括剧情创意、玩法、美术风格等。结合游戏硬件和软件环境等因素,被分解生成《游戏功能描述书》,包 含众多内容,若用整篇的文档来指导开发和测试工作,很容易引起任务分配的混乱;当发生需求变更时,也很难追溯历史版本。TechExcel从实践中提炼出 一个行之有效的解决方法-用规范点(Specification,以下简称Spec)量化需求,正规表达每一个功能单元。只需打开《游戏功能描述书》的 WORD文档,就可以利用插件,将其中的功能单元逐条地复制出来,在需求管理系统DevSpec中直接生成Spec。相对于需求,Spec是更面向技术人 员的语言。

  有序管理需求变更

  在实际项目中,实现需求变更的成本随着开发进度呈指数级增长。需求变更的流程化管理能保障正常的开发进度,将变更及时反应到开发测试部门。

  以下描述的是一个典型过程(如图1)。一项变更请求在需求管理系统中被提交后,与之关联的各个部门,如市场、程序、美术、测试等,都会有相关人 员接到系统通知而介入。他们将组成评估团队,根据实施难度、周期、费用、对其他机制的影响等指标,对该变更进行全面考察和评估。在理想的游戏研发管理平台 中,需求管理与所有规划、开发、测试管理过程相集成。因此,需求的正规表达Spec,以及围绕Spec正在或将要进行的开发任务和测试任务,都能被纳入综 合考虑的范畴,便于评估团队估算该变更造成的“牵一发而动全身”的潜在影响。有时,还要结合商业需求进行考量,为了赶上最佳发布时机,有些变更将被拒绝。 这个过程由独立的工作流控制,通常包括请求、复查、讨论、调整、批准和拒绝等状态,只有具备权限的项目成员才能改变状态。按照预设的流程,各方审批全部通 过后,该变更才能被接受。

  变更请求被批准后,与之相关联的开发、测试任务都会在系统中被一一标记出来,以提醒程序和测试部门的相关负责人,引发这些任务的需求已经变更, 请他们做出相应的调整处理。在系统中跟踪这些任务的进展,可以实时掌握该变更的落实情况。变更完成后,也可以核算它对开发周期和费用的实际影响,与评估时 的预测相对比,找出差异原因,为将来更准确地评估提供参考。

  需求指导项目规划与执行

  纵使项目最初都有比较全面的计划,延期仍然会时常发生,即便是在管理机制比较成熟的欧美游戏公司,跳票也不可避免。通常情况下,导致跳票主要有 以下几点原因:功能设计规划过多,很多又无法删除,如不增加开发时间,游戏几乎不能完成;缺乏有经验的管理或开发人员,不能准确估计工作量;任务执行缺乏 规范,开发人员随意更改功能设计,影响整体进度;过高的人员流动率,导致知识的流失,任务不能及时跟进。针对以上问题,只要从量化需求入手,有序管理需求 变更,用正规表达、可量化的Spec来指导项目规划、编程和测试,就能把风险降到最低。

  基于结构化的Spec集合,可以将项目分解为多个子项目,将Spec直接分配到各自对应的子项目中,以此来规划和估算子项目的工作量。项目管理 人员为每个子项目分配资源,安排优先顺序,确定项目里程碑。在游戏项目中,不同部门协作异常紧密,因此子项目间的优先顺序显得尤为重要。例如,游戏音效制 作与程序开发之间的相关度看似并不非常紧密,但若音效人员不实际感受游戏,很难体会玩家心情,也就难以创作出应景的音效。

  在项目执行时,可以为每一个Spec产生出一系列开发任务。自定义的工作流机制确保每一个任务从提交到最终解决的生命周期都严格符合业务流程, 保证任何时刻都有唯一的负责人、状态和截止日期。这样,不仅能规范游戏制作的过程,还能降低人员流动带来的风险。任务的流转及相关知识文档,如源代码、美 术资源等,都得到系统完整的记录,还能与任务关联,便于追溯。一旦有人离开项目,接替的人员能够查看任务和文档信息,迅速弥补人员空缺。

  以上所述的需求管理经验,虽然是从游戏行业的实践中总结得出,却不囿于游戏行业,项目复杂度较低的一般软件企业也可以借鉴。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-19 04:00:07

透过游戏研发项目特点看项目需求管理的相关文章

敏捷项目中的安全需求管理

在软件开发初期处理安全需求是防止安全问题最经济的方式.大多数安全需求都属于非功能性需求(Non-Functional Requirements ,NFRs).很多从业者发现,在敏捷项目中处理安全和其他NFR非常具有挑战性.原因有二: 匹配NFR和特性驱动的用户故事需要付出很大努力: 安全控制常因缺少可见度而被忽视.敏捷过程容易让团队不自觉地侧重于那些可以直观改善客户体验 的新功能开发或缺陷修复. 在本文中,我们会探讨以上两个问题. 在用户故事中处理NFR 敏捷专家们提出过一些方法,用以定义用户故

软件项目需求管理复杂性分析

在软件项目的开发过程中,需求变更贯穿了软件项目的整个生命周期,从软件的项目立项,研发,维护,用户的经验在增加,对使用软件的感受有变化,以及整个行业的新动态,都为软件带来不断完善功能 ,优化性能,提高用户友好性的要求.在软件项目管理过程中,项目经理经常面对用户的需求变更.如果不能有效处理这些需求变更,项目计划会一再调整,软件交付日期一再拖延,项目研发人员的士气将越来越低落,将直接导致项目成本增加.质量下降及项目交付日期推后.这决定了项目组必须拥有需求管理策略. 一.需求管理复杂性分析 软件需求是整

雷军投资企业估值上百亿美元:看人胜于看项目

金山软件董事长小米科技董事长兼CEO投资企业:凡客诚品.拉卡拉.UC优视.多玩网.乐淘.可牛.好大夫.长城会等20多家.投资领域:移动互联网.电子商务和游戏.社交等.投资心得:投资就是投人,人是最关键的因素.挑选标准:能洞察用户需求,对市场敏感;志存高远并脚踏实地,业务在小规模被验证;要有技术过硬的技术带头人,最好是两三个优势互补的人一起创业,最好有创业经验;低成本情况下的快速扩张能力;在最佳的时间点做最肥的市场.投资了凡客诚品.拉卡拉.UC优视等20多家企业的雷军,终于等来了投资瓜熟蒂落的一刻

浅谈软件项目的需求管理

软件项目区别于其它项目的最显著的特征是其不可见性,它不像硬件购销.建筑工程,都是实实在在可见的东西.而软件项目在系统交付之前很长一段时间,客户是无法感知自己想要的系统究竟是什么样子.因此,需求管理就显得十分重要,据相关统计数据分析,软件项目90%以上失败的原因都在于没有重视需求或者需求管理方面做的不到位导致的. 需求管理作为软件项目管理的一个重要内容,贯穿项目实施的全生命周期.俗话说:万事开头难.需求作为软件开发的第一个环节,其重要性不言而喻.市面上关于需求管理的相关理论和书籍很多,但多数停留在

徐小平:看项目不投就难受 一年约见3000创业者

有投资人曾告诉记者,世界上的人可以概括为两种,一种人是铁,另一种人是磁铁,而徐小平显然属于后一种. 比起真格基金创始人的头衔,所有人更愿意称呼他为老师.在新东方时帮学生求学求职,现在帮助创业者创业,从这一点来说,老师的本质倒真没有改变,而徐小平也一直扮演着为他人圆梦的角色.近日在担任http://www.aliyun.com/zixun/aggregation/20853.html">创新中国2013春季活动评委的间隙,徐小平接受了<第一财经日报>的采访,他告诉记者,其实他也有

童士豪转换赛道:横跨中美看项目 输出中国草根打法

从2013年8月从供职 7 年的启明创投离开,到迈入投资领域横贯中美的纪源资本(简称GGV),现为纪源资本合伙人的童士豪已转换赛道:从专注中国本地投资到横跨中美看项目.作为同时熟悉中美互联网的投资人,童士豪加盟纪源资本后很短时间后很快适应环境,并一连拿下多个项目,其中,最知名的是移动电商项目Wish,其C 轮融资5000万美元.Wish主要模式是把淘宝.天猫和eBay商家引导到更国际化平台卖商品.当前淘宝上有800万 卖家,大部分只做内销,且竞争激烈,这些卖家需拓展海外市场,这是Wish机会所在

c# winform项目发布 按步骤创建了安装部署工程,但在“添加项目输出组”对话框的“项目”下拉列表看不到任何项目?

问题描述 完成了一个c#winform的项目,准备发布了,按步骤创建了安装部署工程,但在"添加项目输出组"对话框的"项目"下拉列表看不到任何项目?何解?? 解决方案 解决方案二:什么意思?解决方案三:引用1楼的回复: 什么意思? 就是在下拉列表中没有任何选项>..解决方案四:无图无真相

一个 重网上下的 项目 说是java项目还用浏览器 看 说是web项目还 导入不进myEclipse 还没有webRoot

问题描述 一个重网上下的项目说是java项目还用浏览器看说是web项目还导入不进myEclipse还没有webRoot这个文件夹有个Web-INF文件夹你说是啥项目晕 解决方案 解决方案二:建议你不用myeclipse自己只用系统自带的记事本写一个java版的helloword和一个web版的helloword并且java版的可以在cmd下运行成功web版的可以部署到tomcat中正常访问做完之后你的问题就不是问题了这样的东西你自己找到答案比我直接跟你说好的多解决方案三:另外说一下LZ你发了3帖

vs2008转vs2013成功,看项目属性出现“.resources 文件已损坏”错误

问题描述 vs2008项目转vs2013项目成功,但是转换成功后的所有项目邮件,"属性----应用程序"界面都报以下错误:"尝试加载该页时出错..resources文件已损坏.指定的类型不存在."如下图所示,请问怎么解决? 解决方案 解决方案二:一般情况下,直接用VS2013打开项目,系统会自动转化检查是不是丢失了文件解决方案三:说明转换不是完全成功