一种培养软件服务外包高端人才的创新模式发布时间:2009-10-15 文章来源:中国服务外包网作者:范辉、姜宗建、楚旺责任编辑: sharry1. 软件服务外包与人才需求服务外包产业是智力人才密集型现代服务业,具有信息技术承载高、附加值大、资源消耗低、环境污染小、国际化水平高等特点。
中国要在目前形势下抓住跨国企业服务外包扩大的机会,加快经济发展方式的转变,优化外贸结构,这是中国经济结构调整的一个重大机遇。
产生软件服务外包产业的主要原因在于以下几个方面:• 缺乏足够的软件人才;• 节约成本;• 专注于核心业务;• 缩短开发周期。
其中,软件人才的缺乏是一个重要原因。
人才短缺有着深刻的历史原因,与计算机科学相比,软件工程还是一个发展中的学科,软件工程教育相对滞后,无法满足不断增长的软件工程人才的需求。
软件服务外包的主要客户来自北美、欧洲和亚太地区。
从事服务外包的国家或组织需要满足以下条件:• 拥有丰富的具有良好教育背景、熟练掌握英语、日语、韩语的软件人才。
包括:经验丰富的开发工程师、质量保证工程师、软件项目经理等等;• 较低的工资水平和开发成本;• 拥有良好的基础设施等等。
印度是软件服务外包的成功者之一,自从1985年Texas Instruments在Bangalore设立分支机构从事服务外包开始,在20世纪90年代,软件出口的平均增幅达到40%,使印度一举成为世界上重要的软件出口国之一。
印度的成功经验表明:科学完善的软件工程教育体系是培养优秀软件人才的前提,良好的软件过程能力是满足客户需求的基础。
中国被看作是继印度之后具有巨大潜力的软件出口大国,目前软件业从业人员为120万左右,每年有十几万计算机及相关专业的毕业生,软件产业收入以30%左右的速度增长。
但是与印度、爱尔兰等国相比,中国的软件服务外包业还处于起步阶段,存在以下问题:• 尽管开发组织众多,但规模太小。
在上万家软件公司中,超过3/4的公司规模不到5 0人。
没有相应的规模就无法吸引大的国际客户,一般来说,小的公司缺乏可靠的合作伙伴,容易流失关键人才,缺乏抵御风险的能力;• 市场单一,大部分外包业务来自日本;• 产品和服务质量不高。
软件开发方法没有与国际接轨,软件质量难以保证;• 公司的管理水平不高,员工队伍不稳定,影响了公司的可持续发展;• 软件人才的素质不能满足要求,只能承担一些价值链低端的工作,如:编程,而不是价值链高端的工作,如:分析、设计、咨询等。
上面所述的问题只是表面现象,其根本原因在于我们的人才培养起步晚而且体系不够完善,导致高端人才缺乏。
为了更好地参与服务外包的国际竞争,我们必须尽快建立科学、有效的人才培养体系,造就一大批具有良好素质的软件外包人才,为服务外包产业的发展和升级奠定坚实的基础。
2.烟台市软件服务外包人才培养面临的挑战2008年以来,随着烟台市对外开放进入新的战略调整期,以服务外包为主的服务业摆到了突出位置,烟台市把服务外包产业作为未来支柱产业培植。
目前,烟台市共有软件及服务外包企业200多家,有3家企业通过CMM3资质认证,从业人数达6000余人。
烟台市共有11家培训机构从事服务外包人才培训,年培训专门人才4000人。
与先进省市相比,烟台的外包产业还处于初级发展阶段。
一是企业规模小。
烟台市百人以上的企业仅有几家,规模最大的创迹软件公司有1000人,难以承接国际大型外包项目。
二是高端人才严重短缺。
既懂外语又精通软件开发和项目管理的应用型人才远远不能满足外包企业的需要,这在一定程度上制约了国内外的大型IT企业落户烟台或将大型的外包项目交给烟台的外包企业。
三是缺乏高端人才的培训能力。
ITO是智力密集型产业,人才是做大做强软件外包产业的基础,国内一些软件园的成功运作,除了当地政府的政策支持外,大都依托当地高校提供强大的人才保障。
目前的软件外包业务主要是软件编码(Coding)和软件测试(Testing)之类的价值链低端的业务,要想在高端领域展开竞争,就必须加强高端人才的培养。
在烟台的培训机构大多以专项技能的短期培训(如Java语言培训)为主,培养目标为程序员。
高端人才培养方面(如:开发工程师、测试工程师、质量工程师、系统架构师、项目经理等等),培训难度大,投入高,而且周期长,对师资要求很高,在这一方面烟台的高校可以发挥优势,与社会培训机构相互补充。
从长期看,软件外包高端人才的缺乏是制约烟台软件服务外包产业发展的主要瓶颈。
总体来说,烟台在软件服务外包高端人才的培养方面主要面临以下几个方面的问题:(1)软件工程教育的课程体系不够完善目前的课程设置过于注重计算机理论知识和软件编程方面的培训,缺乏系统分析与设计、质量保证、项目规划、人力资源管理、风险管理、过程管理等方面的培训。
尽管有些院校开设了IT项目管理的课程,但这种课程往往太过简化,可以丰富学生的知识结构,但对于从事软件工程开发的学生来说还远远不够,需要大幅度地提高课程的广度和深度。
计算机类毕业生到工作单位后,从事编程工作没有太大的问题,但从事项目管理和系统设计工作显得力不从心。
实践经验表明:在软件项目的开发过程中主要的工作量并不在编程本身而在于系统的分析、设计、测试和管理,所以软件企业急需能够从事分析和设计工作的软件工程师、测试工程师、系统架构师、项目经理、高级咨询人才等等。
(2)缺乏有效的能力培训机制软件工程教育与计算机科学教育有很大不同,软件工程教育侧重于软件开发及工程管理知识的学习,目标是培养应用型人才,而计算机科学教育侧重于计算机科学理论的学习和研究方法的培训,目标是培养研究型人才。
计算机科学教育涉及的知识域包括:数学、计算科学、算法及复杂性、计算机体系结构、编程语言、信息管理、智能系统、网络计算、软件理论等等。
软件工程教育涉及的知识域包括:计算基础、数学及工程基础、软件建模及分析、软件设计、软件验证及确认、软件演化、软件过程、软件质量、软件管理等等。
软件工程人才的培养不仅强调具有丰富的计算机科学知识,而且强调具有坚实的工程能力(如:工程设计、分析、度量等等),这就需要一种与传统的授课模式不同的能力培养机制。
目前大多数院校的培养方法仍然沿用以讲课为主(Lecture-Centric)的传统教学模式(L earn-By-listening),而软件工程人才的培养需要采用案例驱动(Case-Driven)的、以能力培养为中心的教学方法(Learn-By-Doing)。
此外,软件工程本身没有象其它工程学科那样成熟(如:机械工程、建筑工程等),原则性的太多,缺乏可操作性,需要在工程实践中理解和掌握。
由于缺乏以项目或工程为中心对学生进行系统地能力训练,学生难以把零散的理论知识集成起来,将知识转化为能力。
(3)师资力量不足对软件工程人才的培养,不仅要求教师具有很强的学术背景,而且要有丰富的工程经验和资质(如:工程师资格),这是许多院校面临的问题。
由于高端人才大部分集中在大型软件企业中,这一问题短期内难以解决。
(4)缺乏高层次的研究人员软件工程属于计算机科学与工程管理的交叉学科,在烟台专门从事软件工程研究的人员还比较少。
为了更好地支持软件服务外包业的发展,需要引进和培养一批高层次的研究人员,并对以下领域展开研究:• 软件外包项目的管理方法;• 软件组织的人力资源开发及成熟度评价;• 软件过程管理与复用;• 软件可靠性工程;• 适合于外包项目的软件开发方法;• 面向领域的软件复用方法;• 面向服务外包的质量保证方法;• 面向模式的软件自动生成方法等等。
为了突破烟台市软件服务外包高端人才的瓶颈,还必须加大对院校科研投入的力度和人才引进、培养的力度。
3. 以能力培养为核心打通烟台软件服务外包高端人才的瓶颈软件服务外包包含一个与软件开发过程相关的价值链,一个企业在价值链中所处的位置及其实施的开发活动就反映了它的历史、战略及其收益[1]。
软件企业通过积累开发经验和相关的领域知识提升其在价值链中的位置,最终参与客户的业务过程重构[。
价值链中不同的位置对软件人才和软件组织有不同层次的要求,必须根据不同的需求制定不同的培训计划,由于人才培养需要一个相对较长的过程,所以培训计划的制订要具有一定的前瞻性。
针对目前烟台的外包人才培养现状,我们认为应从课程体系、能力训练体系和培养机制三个方面着手,创建一种科学、有效的软件服务外包高端人才培养模式。
3.1以计算机科学和工程管理科学为基础构建适合于于服务外包人才需要的课程体系由于烟台的服务外包客户将主要来自美、欧、日、韩,而且要参与激烈的国际竞争,软件公司就必须采用国际化、标准化的运营模式,外包人才培养的课程体系也就需要参照国际标准并与国际接轨。
根据目前院校已有的课程资源,我们提出:参照SE2004,通过改造、嫁接已有的计算机科学的课程体系,构建适合于服务外包人才需要的课程框架,见表1。
表1 课程框架1)计算机科学基础(Computing Essentials Area)包括支持软件开发和项目管理的基本理论和知识,如:离散数学、概率论、数据结构、程序设计语言、数据库原理、算法等等。
2)软件工程基础(Software Engineering Area)涉及软件开发的主要阶段、原则和步骤,如:过程模型、需求分析、软件设计、软件测试、软件演化等等。
3)技术与方法(Technology and Methods Area)包括主流的软件开发方法和过程管理与改进技术,如:OOSE、SOSE、软件过程复用、过程成熟度模型等等。
4)项目管理(Project Management Area)主要涉及项目计划、跟踪、控制、质量和风险的管理、人力资源管理等等。
5)职业训练(Professional Practice)主要包括与职业有关的技能培训,如:个人能力训练、小组能力训练、职业道德、资格认证等等。
这一课程体系实现了软件工程开发和项目管理的有机融合,满足外包人才培养对知识框架完整性的要求;实现课程的模块化和标准化,可根据不同层次外包人才的培训要求进行灵活组合。
3.2以能力培养为核心构建适合于服务外包人才需要的训练框架软件外包人才的培养方法正在经历重大变革,通过课程设置和教学方法的改革与创新使学生的知识和技能能够满足外包企业的需要。
许多软件工程领域的学者和软件人才培训的从业者都将教学方式由传统的以讲课为主的学习方式(LBI-Lecture Based Instruction)向以案例研究为主的基于问题的培训(PBL-Problem/Project Based Learning)方式转变。
(1)基于问题的培训(PBL)传统的培训方式侧重于知识的学习,PBL则强调能力的培养。
表2给出了两种培训方法的区别。
表2 传统的培训方法与基于问题的培训方法PBL是针对一个软件开发活动设置问题并给出相应的背景资料,教师启发学生找出解决问题的方法,这是一种互动式的教学方法,锻炼学生的表达能力、判断能力、解决问题的能力,案例也是来自实际的开发项目。