当今世界软件和互联网全球化设计技术快速发展,在软件产品类型日益增加的同时,软件开发面临着新的挑战:一方面,软件产品需求呈现多样性、个性化特征并不断变化,另一方面则来源于软件开发行业激烈的市场竞争。这些挑战要求软件开发人员能够应用更加灵活的手段应对不断变化的需求,在更短的时间内以更低廉的成本推出软件产品以获取市场竞争优势。2001年敏捷宣言的发表,促进了敏捷软件开发(AgileSoftwareDevelopment)方法的应用。面向全球市场发布的软件产品必然要经历本地化过程,敏捷软件开发模式的实施要求软件本地化模式与之匹配与协同,敏捷软件本地化(AgileSoftwareLocalization)模式相应诞生并付诸于实践。
2.1 传统软件开发模式
瀑布模型(WaterfallModel)是传统软件开发模型的典型代表。瀑布模型将软件生命周期划分为需求分析、软件计划、软件设计、程序编码、软件测试和运行维护共6个基本活动,并规定了它们自上而下、相互衔接的固定次序,如同瀑布流水,逐级下落。这种模型适应需求固定、项目明确的软件开发,难以适应客户需求的频繁变更,导致软件开发超时、超预算、低质量等问题。为解决这些问题,传统软件工程在软件开发过程中加入了概要设计、详细设计等环节,使得开发过程变的越来越复杂,开发效率也随之降低。
2.2 敏捷软件开发模式
自2001年敏捷宣言发表后,敏捷开发思想广泛传播,以极限编程(eXtremeProgramming)、Scrum2、精益开发(LeanDevelopment)和动态系统开发方法(DS-DM)等为代表的敏捷软件开发方法开始在全世界范围内流行(荣国平,刘天宇,谢明娟2014:268)。敏捷软件开发模式(AgileDevelopmentModel)是一种以人为核心、迭代、循序渐进的软件开发模式(韩鹏2011:42)。在这一开发模式中,软件构建被切分成多个子项目,各个子项目以不断迭代方式开发,每次迭代的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目切分为多个相互联系,但也可独立运行的子项目,并分别完成,在此过程中软件一直处于可使用状态。
敏捷软件开发路线图包括:测试驱动开发(Test-drivendevelopment)、持续集成(ContinuousIntegration)、重构(Refactoring)、结对编程(Pair-Programming)、站立会议(StandupMeeting)、小版本发布(FrequentReleases)、较少文档(MinimalDocumentation)、以合作为中心(CollaborativeFocus)、现场客户参与(CustomerEngagement)、自动化测试(AutomatedTesting)、可调整计划(AdaptivePlanning)。由此可见,敏捷软件开发模式强调持续集成,尽早交付可以工作的软件,即使到了开发后期,也可以很好地应对客户改变需求,并以此为客户创造竞争优势(陈昊,明仲2008:46)。因此,敏捷开发具有持续交付、高效率、高质量、高回报等优点,能够满足互联网应用快速、个性化和适应强的要求。
在传统的软件本地化模式中,本地化过程实施处于软件开发和测试完成后,是产品开发周期的末端。本地化团队以一个稳定的源语言软件为基础,进行软件用户界面、联机帮助和用户手册等内容和功能的本地化。在敏捷软件开发广泛应用的今天,软件开发项目普遍呈现出迭代、时效性强等特点,从规划协调、成本控制、交付时效、沟通协作、质量控制和响应速度等方面对本地化提出了更高的要求。为适应敏捷软件开发模式这一新变化,本地化模式也要相应“敏捷”起来(DePalma2014:1)。敏捷软件本地化模式吸收了敏捷开发方法的优势,通过迭代和持续交付等方法提高本地化团队适应需求变更的能力(Lin2011:4)。图1和图2分别是传统本地化模式与敏捷软件本地化模式,对比分析可以了解敏捷软件本地化的特征。
当今世界全球化软件设计技术快速发展,敏捷软件开发模式和敏捷软件本地化模式已经在大量的全球化软件开发项目中得到了应用。敏捷软件本地化模式通过迭代和持续交付等方法提高本地化团队适应需求变更的能力,具有模块化、结构化、重复利用三个特征。根据敏捷软件本地化模式的实践经验总结,需要采用语言资产管理及自动化、本地化人员全程参与软件开发过程、持续交付、及时沟通与反馈的实施策略。惠普公司应用敏捷软件本地化模式的实践案例,验证了敏捷软件本地化模式在实践中可以缩短开发时间,提高本地化质量,提高本地化团队适应需求变更的能力,为客户创造竞争优势。
信息来源:本地化世界