软件测试外包的兴起对国内软件本地化企业意味着什么?笔者认为,意味着更多的机会,争取更多软件外包国际市场份额的机会。
笔者试图通过多年来从事中高端软件外包工作管理的经历,以一个软件测试外包项目为例,总结了一些外包测试项目的经验,与读者共飨,以期达到抛砖引玉,共同提高外包行业管理能力的目的。限于篇幅,本文仅对软件测试外包中的风险管理和沟通管理做一个简单的整理。
软件测试外包特性
与国内一直以来比较轻视软件测试工作不同,在很多欧美软件企业中,软件测试(质量控制)是一件非常重要的工程工作。国内企业一般在从事软件项目开发的时候,更多的是由开发人员或者客户人员在开发完成之后才进行一些简单的功能测试工作,很少采用专业的软件测试团队,开发与测试的比例在4:1以上,甚至高于10:1。因此,多数中国软件的质量水准相对要低。
与此相反的,在欧美企业中,质量管理人员(包括事后的质量控制和事前的质量保证)的地位却高的多。测试也作为一个非常独立的职业。在IBM、Microsoft等开发大型系统软件公司,很多重要项目的开发测试人员的比例能够达到 1:2,甚至1:4。软件测试活动贯穿于整个开发生命周期,甚至会比普通开发人员更早介入项目。软件测试也是一门更讲究科学方法的工程活动,测试的种类也包括单元测试、集成测试、功能测试、性能测试、β测试、验收测试等等。
本文所介绍项目的客户是美国一家知名的金融业软件及服务供应商。由于金融业的特点,对于软件的可靠性、稳定性等质量要求尤其的高。该公司从2005年开始将部门开发和测试工作外包到中国地区,由笔者所在公司在北京和上海分别成立了两个团队,采用一种类似ODC(Offshore Development Center,离岸外包中心)的模式。笔者在过去一年半的时间内负责北京团队的建设和管理,从最初的一个软件测试人员和两个开发人员发展到现在的十几人的团队(笔者由于公司内部工作安排已经于去年下半年离开该项目)。从最初的从事简单的软件产品的安装和数据移植测试,到现在从事其核心产品的全面功能测试和自动化测试,团队的工作越来越受到客户的认可,在客户的软件开发过程中的重要性也越来越高。按照人员数量来计算,该项目的测试与开发人员的比例略高于1:1。