3. 项目与团队
项目是为完成某一项特定产品、服务或结果而实施的一项临时任务,它具有明确的目标、起止时间和预算。
复杂的项目需要成立项目团队,来自不同国家或地区的具有不同技能和经验的人员,为着共同的任务目标相互配合,共同完成项目的不同子任务。
国际化软件的开发是复杂的工作,需要良好的项目规划,成立有协作精神的团队,由于现代软件设计的复杂性和本地化对语言质量的较高要求,经常由分布在世界各地的多家公司的不同技术和管理人员组成国际化软件项目团队。
一般地,国际化软件项目可以分为规划阶段、实施阶段和验收结尾阶段。每一阶段的任务都需要考虑国际化和本地化需要,而且尽早进行国际化需求分析,可以有利于控制项目成本和进度。
现在软件外包成为国际化软件项目新的开发模式,通常大型跨国软件公司专注于进行软件项目规划和核心功能和特征设计,将软件的本地化外包给专业的本地化公司。现在,软件编码和测试的外包也流行起来。
项目团队对于国际化软件项目的成败具有关键性的作用。除了软件技术之外,大型国际化软件项目的项目管理非常重要,尤其是当项目由多家分布于不同国家或地区的软件公司共同实施时,项目规划和管理交流就变得更为重要了。
为了便于项目管理,通常采用“单点联系(Single point contact)”的方式,每个公司在项目准备阶段指定惟一的项目经理(Project Manager, PM),负责项目联系的一切任务。各个公司的项目经理负责组建各自的项目团队,跟踪和控制项目的实施,并且报告项目进度、存在的问题和可能的改进方法。
项目团队的构成与各家公司承担的项目任务有关系,通常项目经理按照任务类型组建不同的项目组,每个项目组指定一位组长(Team Lead),负责小组的技术和协调问题,每个组的成员由项目经理和组长协商确定。
为了顺利实施软件本地化,软件开发公司的本地化项目经理,与软件本地化外包服务公司的项目经理,以及软件开发公司在当地的分公司经理互相协作完成软件本地化。
软件开发公司的分公司主要负责对本地化的内容进行语言质量和文化传统等方面的审阅。可以由分公司内部的专职人员承担审阅任务,也可以在当地市场寻找专业人士兼任。
软件本地化公司根据项目的要求,可能组建不同的团队。对于完整的本地化项目,一般需要成立本地化语言组、本地化工程组、本地化测试组和本地化桌面排版组等。
4. 国际化软件开发流程
在讨论国际化软件的流程前,需要熟悉国际化软件的开发周期。对于国际化软件而言,完整地开发周期包括需求分析、国际化、本地化、发布和维护等过程。其中国际化包括设计、开发和测试等,在国际化的各个环节都要重视软件的本地化能力。越在软件项目早期重视软件的本地化要求,就越对控制软件项目的正常进度和质量有利。
随着市场竞争的加剧,软件的国际化版本和本地化版本需要同时发布(Simship),而且本地化的语言版本越来越多,承担本地化服务的公司往往不止一家,它们可能还要进一步外包。正是由于这种复杂的环节和过程,使得大型国际化软件的项目管理更趋复杂。
国际化软件的开发流程包括开发国际化软件需要遵循软件工程的要求,分为需求分析、软件设计、软件编码、软件测试、质量保证、软件发布等过程。
在需求分析阶段,既要考虑软件的功能特性需求,也要考虑软件的国际化需求。另外,为了缩短源语言开发的版本和本地化版本的发布时间间隔(甚至达到同步发布),国际化版本的开发应该与软件本地化过程同时进行。在测试方面,对国际化版本的国际化功能测试和对本地化版本的本地化测试尽可能同时进行,以便尽早发现和修改国际化设计缺陷。
在软件进入最终本地化和测试之前,需要“冻结 (Freeze)”用户界面和功能特性设计,保证软件在发布之前不再对需要本地化的内容进行改动。因为,每次改动用户界面,本地化过程都需要重新翻译一次,相应的联机帮助文档和本地化的软件手册等的内容也需要重新更新,这样会增加项目成本,延迟本地化版本的发布。
5. 软件本地化流程
软件本地化的流程与具体的项目有关。复杂的软件本地化可能包括翻译、排版、工程处理和测试等内容,而较小的本地化项目可能只包含翻译或排版。
和任何软件项目一样,本地化项目的前期准备非常重要,明确项目的范围、要求、技术和资源,对于保证项目的成功可能起到关键的作用。
软件本地化项目在正式开始之前,通常需要参加项目启动会议。由软件开发公司的项目经理召集和主持,由来自多个公司的项目组关键成员参加。
大型本地化项目的实施过程可能跨度较长,通常需要进行几个周期的更新过程。按照项目计划的里程碑进行进度和质量跟踪,本地化服务公司的项目经理与开发商的本地化项目经理保持有效交流,有助于保证本地化项目的顺利实施。