把企业的软件和项目外包的好处
软件外包就是企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成的软件需求活动。现在业务流程外包(BPO)已经成为外包服务新的发展趋势,在未来几年内将成为外包的主要内容。
BPO包括人力资源、采购、财会、客户中心、后勤、研发、营销、工厂运作、培训,这些大类还可以进一步细分。不仅IT行业需要BPO,而且BPO的每项业务都离不开IT业务的支持,从而产生IT外包机会。 一个软件开发项目通常要经历需求分析、设计、编程、测试等几个大的阶段。其中设计又包括整体设计、系统设计(把整体架构变成一块块系统)、详细设计几个环节。详细设计之后软件就变成了一块块模块,这以后才进入编程。到了编程阶段时,最后就剩下软件蓝领为模块的Coding工作,在印度通常由受过一两年训练的高职毕业生担任。
软件最后的测试又是一个复杂过程——有单元测试(小模块测试)、系统测试(块与块的联系整合)、总体功能测试。期间由测试编程工程师编写测试工具,制定测试规则,其难度不亚于系统框架的制定。最后才由测试工程师完成测试的任务。 外包软件测试有望成为小作坊软件业业务增长点 企业若想把承接国际软件外包的业务做强做大,必须与国际软件市场接轨——包括英语的理解与沟通能力,技术接轨、管理接轨、做事方法接轨、知识产权接轨。还有质量保障、信誉度保障、风险控制能力以及知识产权保障等方面。
以上条件显然国内大多数小作坊式软件企业还做不到。但这也未必表示小作坊软件企业就没有机会承接软件外包服务。因为软件外包项目中,软件测试项目最适合中国现阶段小作坊软件企业的行业特色。 软件测试是保证软件质量的最重要的手段 使用低质量的软件,在运行过程中可能会产生这样那样的问题,可能为使用单位带来造成延误工作或者造成生命财产的损失。
而软件测试是为保证软件用户免于遭受损失的最重要的手段。 什么是软件测试?1983年IEEE定义为:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。 现代的软件开发工程是将整个软件开发过程明确的划分为几个阶段(参见下图),将复杂问题具体按阶段加以解决。这样,在软件的整个开发过程中,可以对每一阶段提出若干明确的监控点,作为各阶段目标实现的检验标准,从而提高开发过程的可见度和保证开发过程的正确性。
经验证明,软件的质量不仅是体现在程序的正确性上,它和开始编码以前所做的系统需求分析,软件设计密切相关。许多软件使用中出现的错误,未必是编程人员在编码阶段造成的,反而在程序设计,甚致在需求分析时就埋下了祸因。这时,对软件工程的错误纠正,就必须追溯到软件开发的最初阶段。如果是这样又增大了软件的开发费用。 为了保证软件的质量,专案管理就应该着眼于整个软件生存期,特别是在开发阶段的系统分析。所以软件测试的概念和实施范围必须包括在整个开发各阶段的复查、评估和检测。