为何软件来到如此重要的高度?事实上,2010年前后,IT 产品的硬件水平已经发展到一个相对高端的水平,基本能够满足绝大部分的 IT 功能应用,此时,通过升级硬件对产品应用体验的提升已经不再明显,这也让人们对 IT 产品应用体验的关注度空前高涨。对企业而言,通过提升软件交付能力及质量水平使其具备快速响应市场的能力,成为每个企业必须具备的“软实力”。
那么,如何帮助企业在软件开发生命周期中控制风险,提升软件交付能力及质量水平,使其具备快速响应市场的能力?2014年10月30日,e-works 总编黄培博士和记者王阳在济南采访了致力于软件开发生命周期管理(ALM)领域的 Micro Focus 中国区总经理孟捷先生。
从 Borland 到 Micro Focus 的发展历程
作为软件开发生命周期管理(ALM)整体解决方案提供商的 Micro Focus,成立于1976年,目前在英国伦敦证券交易所上市公司,是 FTSE250指数成员之一。Micro Focus 中国区总经理孟捷介绍,Micro Focus 是一家帮助企业级用户完善并提高其应用软件业务价值与质量的软件公司,近40年来,Micro Focus 始终专注于为全球企业用户提供业界领先的应用开发、测试、管理及创新的产品和解决方案。
Borland 于2009年加入 Micro Focus 大家庭,在此之前,Borland 是全球领先的软件交付最优化(SDO)平台独立解决方案供应商,业务遍及全球,曾经是世界第三大软件公司。2006年,Borland 剥离了 IDE 业务部门,并收购一系列包括 Segue Software、Gauntlet Systems,、Starbase 等软件工具,将业务转向了软件生命周期管理(ALM)领域,成为 Micro Focus 公司重要的业务组成部分。
从2009年起,Micro Focus 在完成对 Borland 以及 Compuware 公司 Testing/ASQ 业务的收购并进行产品整合之后,成为软件开发生命周期管理(ALM)领域全球顶尖的解决方案供应商之一。自2011年的历次 Gartner 评测中,Micro Focus 始终排名为该领域的领先者。目前,Micro Focus Borland 解决方案可以提供需求开发与管理、设计建模、配置与变更管理、代码质量、测试管理、自动化功能测试、性能测试、SOA 测试、移动应用测试等完整的软件开发生命周期管理(ALM)的产品。
除了致力于软件生命周期管理(ALM)解决方案领域,Micro Focus 的业务还涵盖其他三个领域,COBOL -- 开放平台 COBOL 应用程序开发和运行解决方案;Mainframe -- 大型主机虚拟环境及应用程序迁移解决方案;CORBA -- 基于 CORBA 标准的中间件解决方案。
软件开发生命周期面临的挑战
在软件开发生命周期中,最大的挑战是满足业务需求同时,能够在预算内按计划交付高质量的软件系统。在孟捷看来,软件系统在各行各业发挥着越来越重要的作用,但开发过程管理的难度也逐渐增加。
软件并不像硬件产品是实体,而是计算机程序、程序所用的数据以及有关文档资料的集合,在运行中能够帮助用户快速、方便的达到所希望得到的功能和结果。近年来,随着硬件水平的快速提升,通过升级硬件来提升IT产品的应用体验已经越来越捉襟见肘,那么,只能从软件发力,通过软件的提升实现各种功能需求。
但是在实际环境下,要能够在预算内按计划交付高质量的软件系统,并不是一件容易的事情。现在越来越复杂的业务需求,技术平台,开发环境,这些因素都会对软件交付产生各种影响。
孟捷认为,软件开发生命周期中通常会遇到三类问题:第一个最常见的问题就是交付的软件系统没有满足业务需求,导致项目失败。软件项目的目的就是为了交付满足业务需求的系统,当软件系统交付使用后,最终使用部门通常总会觉得交付使用的软件系统和最初的构想存在一定的差距,究其原因通常都是因为在需求开发阶段,需求方和开发方通常缺乏有效的沟通,并没有在需求分析阶段达成一致,就已经开始软件项目的开发,最后导致所想所见非所得。这就是为何 CIO 们在总结项目成败时,把68%的项目失败归结为不能满足业务需求。
第二个常见的问题是软件不能按时交付,交付时间一拖再拖,甚至导致软件系统最终交付时已经不满足当下的业务需求,根据业界的统计数据,50%的项目都会延时交付。导致项目延期的原因很多,例如软件项目采用的技术越来越复杂(嵌入式,非嵌入式技术),多样的开发模式(敏捷、传统的瀑布,直接引入产品,合作开发,外包开发等等),都会产生很多不可控的因素,但是究其根源还是在于传统的,粗放的管理模式已经不能适应现代化的软件开发的需求,现实要求我们提升对软件开发生命周期的控制能力,增强项目过程的透明度。
第三个常见的问题就是软件系统的质量难以保障,并且工作效率低下。根据业界的统计数据,项目的返工工作量有可能达到40%之多。复杂的项目,由于需求分析不到位,需求变更没有管理得当,架构体系设计缺乏手段,开发人员经常会浪费时间在没有必要的功能上,甚至是重新开发整个功能模块,而这些因素又往往会在需求,设计阶段植入大量的软件缺陷,而导致更多的缺陷修复工作量。
Borland 为软件开发过程保驾护航
为了帮助企业在软件开发过程中满足业务需求、管控开发过程、并保证软件质量,Borland 从软件开发的需求、变更、测试等各个阶段提供相应的解决方案。孟捷介绍,Borland 提供的解决方案主要包括三个方面:
首先,建立持续有效的需求验证。孟捷说,根据业界统计,70%的软件缺陷是在需求阶段植入的,而需求阶段植入的缺陷将会带来后期的高额修复成本。这也意味着,在需求阶段,仅仅建立需求管理平台,对需求条目进行系统化、工程化的管理是远远不够的。要想最大程度的避免需求阶段植入的缺陷,就是要建立起有效的需求验证过程。
为了避免这样的问题,软件成熟度模型 CMMI 三级中提到的需求开发(RD)给出了非常有效的指导。孟捷指出,Borland 的经验正是基于此指导方针,帮助用户建立新一代的需求定义,需求管理平台,将文字敘述的需求以可视化,原型的方式呈現,用流程模拟更准确的体现需求的真正实现 -- 这些需求开发中的关键实践,使业务部门能够在项目的需求阶段即可明确最终交付的软件系统的业务流程和功能特性,同时也让工程部门的项目经理,设计人员,开发人员对最终交付的软件系统建立起统一的认知。
其次,建立企业级的变更管理。在软件开发生命周期中建立企业级的变更管理,对于加强软件开发过程的控制,增强软件开发过程的透明度非常重要,同时企业级的变更流程也必须和配置管理结合起来,确保变更影响的是正确的配置项。同时在建立变更管理平台的时候,也需要考虑变更管理平台的开放性和集成性,例如对开发技术的支持,对不同开发模式的支持,并且能够确保变更管理平台成为联系需求管理和测试管理的中间桥梁,确保整个软件开发生命周期的完整性。
最后,建立卓越的质量保障体系。孟捷说,在软件测试过程中,确保测试的有效性至关重要。Micro Focus的最佳实践是建立基于 Process,Product,People 的标准可复用的质量保障体系,包括:可复用的质量保障的基础架构,高效、专业的质量保障团队,以及标准可复用的测试流程,同时辅以自动化的测试手段提高测试过程的效率,以确保软件符合功能性和非功能性需求。另外,也需要建立一套质量度量体系,持续采集不同项目质量指标,通过数据分析,达到持续过程改进的目的。
目前,软件开发过程管理市场主要有两种类型的供应商,一种面向需求管理和配置管理提供完善的解决 方案,另一种则提供功能强大的测试工具,孟捷说,随着 Borland 的发展,已经兼具了这两类供应商的特点。对于 Borland 的竞争优势,孟捷认为,在近40年专注于软件应用的开发、测试和管理的实践中,Borland 一直强调解决方案的完整性,提供端到端的软件开发生命周期整体解决方案;同时,Borland 具有良好的开放性,可以实现自身产品与第三方工具之间的集成;另外,Borland 也基于云计算等前沿技术进行了功能革新,通过领先的 Web 2.0技术实现云测试、手机测试等功能;更重要的是,Borland通过可视化、用户向导等功能不断加强软件的易用性,保持着突出的用户体验。
在采访的最后,孟捷提到,加入 Micro Focus 之后,Borland 仍然保持着独立的品牌去运营,这与 Borland 过去几十年积累的人气和品牌美誉度不无关系。在他看来,Borland 的使命就是帮助企业构建软件开发过程中的三种关键能力:持续保证符合业务需求的能力 -- 确保需求定义、需求分析、架构设计、需求变更、开发任务甚至包括测试需求都是来自业务需求;持续的软件质量验证能力 -- 让项目过程中每一个参与人员都成为质量保障团队的一员;持续的开发过程管控能力 -- 提高项目过程的透明度,让管理者时刻了解项目的进度和质量。