浅谈中小商业银行软件项目研发过程中的软件外包管理

时间:2022-05-19 06:47:43

浅谈中小商业银行软件项目研发过程中的软件外包管理

摘要:随着科学技术的日新月异,银行业务发展对各类信息系统的依赖程度日益提高,但如何做好银行软件项目的研发,对中小商业银行来说并非易事。一是由于中小商业银行资金实力相比四大国有银行或全国股份制银行有很大差距,软件研发团队力量薄弱,研发人员数量不足;二是因为中小商业银行强调系统支持的时效性,产品需求相对灵活,但自主研发软件产品需要工期较长,难以满足业务发展的需要。所以,寻求适合中小商业银行自身规模的专业软件研发公司,以合作开发的形式共同研发适应市场需求的新产品,成为中小商业银行在软件研发方面的最佳实践。事实证明,这种方式不仅能为技术创新提供强有力的平台支撑,更是中小商业银行业务发展的重要途径。笔者通过近10年与中小商业银行合作研发的经验,对中小商业银行的软件研发项目外包做如下探究。

关键词:中小商业银行;软件开发;外包

中图分类号:F426.672 文献标识码:A 文章编号:1007-9599 (2012) 20-0000-02

1 国内银行软件项目外包大致经历了五个阶段

阶段一:二十世纪八十年代。银行业务由手工处理向电算化过渡,电算化软件的研发以单机版为主,功能相对简单,开发模式多为自主研发。阶段二:二十世纪九十年代。系统建设由单机版模式过渡到以城市为单元的联网系统,此类系统逐渐成为各大银行系统建设的趋势,绝大多数金融机构选择一家集成商负责项目的整体开发及软硬件实施。阶段三:二十世纪九十年代末。系统建设模式由城域联网升级为数据省域集中的模式,数据全省大集中在银行业系统建设中成为主流,软件项目由集成商与银行合作开发实施。阶段四:二十一世纪,银行业掀起了全国数据大集中的热潮,大型银行成立队伍庞大的研发中心,软件开发模式以开发中心研发为主、专业软件开发商参与开发,共同完成系统建设。阶段五:趋势和未来。采购成熟的、符合行业规范的高品质软件产品作为自主开发平台,商业银行研发部门在此平台基础上完成系统的开发,将成为未来银行软件研发主流的运作模式。

2 软件项目研发外包的形式

目前,国内银行业软件项目研发外包主要有如下三种形式:

一是全部项目外包:目前国内采用这种方式的有吉林银行等发展较快的地方性商业银行,其兼并了省内城商行,原城商行信息系统各自为政,涉及外部公司几十个甚至更多,情况较为复杂,科技部门人员很难对诸多外包公司管理到位,即确定一家国内知名度较高、各方面指标均较好的大型IT公司负责外包项目的管理,银行管理难度大大降低,使外包风险得到有效控制。二是绝大部分软件应用项目外包:目前国内中小银行基本采取这种方式,行内科技部门只做很少量的软件项目研发,核心功能交由外包公司完成。做为中小商业银行,科技部门编制通常不足全行总人数的3%,研发人员占比不超过1.5%,这样的人员配置,很难实现自主研发核心产品的目标。现在较为通用的做法是:银行科技部门根据业务部门提出的业务需求,评估项目工作量,对不具备自主研发可能性的项目,从市场上选择几家适合本行业务需求的软件供应商协助完成前期交流、需求分析及实施方案的设计,最终确定方案后通过招投标方式直接购买软件公司的成熟产品,经过客户化二次研发后投产使用。银行科技部门人员通过实施过程中的合作开发、后期技术培训等方式,逐步掌握软件项目核心技术。三是少部分软件项目外包:此模式在工农中建等大型国有商业银行应用较为普遍。IT软件项目自主研发需要大量的成本投入,而银行自身的软件研发力量在多个项目并行的情况下,很可能因为无法按照业务发展要求在期望的时间内完成研发工作而成为业务快速拓展的掣肘。所以,大型国有银行通常选择将少部分非关键系统的软件项目外包给软件公司研发,或从市场上选择应用较广泛、功能较为成熟的软件产品,按照行内差异化需求进行本地化后投产使用,以达到快速支撑业务发展的目标。

3 规范IT项目管理制度,形成符合本行实际的项目管理体系

随着软件项目研发的外包,银行自身IT研发人员的工作量相对减少,主要精力由软件开发的具体工作中脱离出来,将工作重点放在业务需求转化为软件项目实现方案、软件整体设计和系统上线后的运行支持及后续维护,软件项目管理成为银行科技管理的重要工作内容。这就要求商业银行制定一套切实可行的项目管理方法,建立适合本行项目管理的制度及规范,对软件外包项目按照项目管理规范要求进行运作和管理。同时,专业的人员配备也是非常必要的。项目管理不同于具体的开发工作,对于银行科技人员来讲,软件项目外包研发后,科技人员逐步由研发转向研发与项目管理并重,不但要学习最新计算机技术,同时还需要学习掌握一定的项目管理知识,具备专业化的项目管理能力,掌握新技术的更替,提高自身项目管理技术水平,以适应软件项目外包科技管理体系的需要,降低因项目外包带来的风险。沟通是项目管理中非常重要的一项工作,如何恰到好处的处理好各方面关系、同时兼顾项目的进度及质量,是科技项目管理人员面临的一项考验。作为IT项目管理人员,必须将协调好各需求部门及外包商的关系、控制外包商在软件项目研发生命周期过程中风险作为工作重点,具体工作应包括:与需求部门、外包公司共同完成业务需求的精细化分析、确定最终需求实现方案、制定项目总体计划并控制项目进度、项目验收、文档资料整理等。

4 软件项目研发外包的日常管理

一定意义上讲,关键项目外包与降低科技风险是存在矛盾的,但因为客观原因的限制,中小商业银行在关键系统研发上又必须走外包之路,所以项目管理是否到位事关重要。中小商业银行与大型国有商业银行不同,采取的外包方式是将大部分软件研发项目交由专业公司来完成,尤其是关键的、核心的系统,如核心业务系统、企业总线、卡系统等,都与银行的核心业务密切相关。笔者认为,控制外包风险必须要做好项目管理。中小商业银行的外包管理主要应从以下几个方面着手:

4.1 做好外包商的选择,购买适合自身业务需求的产品。选择合适的合作厂商是外包项目成功的基础,在选择外包商时,银行要对外包公司进行全面的尽职调查,包括实地考查、案例摸底,探明外包公司的信誉、实力和服务能力,是否满足自身外包的要求。笔者认为外包公司的衡量可以从如下几个方面入手:(1)公司实力。(2)公司信誉。(3)公司经验。(4)公司管理。(5)技术方面。(6)服务和问题解决能力方面。(7)其它方面:公司人员的稳定性,了解核心人员的工作年限及工作能力;是否因系统问题造成其它同业的损失;公司组织架构近期是否做过调整或有调整意向等。

中小商业银行因规模小、财力支撑有限,通常选择产品时对价格的关注度较高。但需要强调的是,在软件研发项目上,价格不是决定整个项目的唯一因素,而应该将关注重点放到外包商的信誉、服务、技术水平及实施经验等方面。部分外包商在竞标或商务谈判过程中,往往与竞争对手打价格战,低价中标,在后续实施中为降低成本,项目质量大打折扣,引发大量问题。同时必须注意,尽量选择有外包经验的公司合作,通过考察同业案例,对其服务质量有一个直观的认识,商务谈判应尽量基于服务和维护方面考虑,以长期合作为宜,以降低管理难度。

4.2 成立专门项目组,尽量多派技术人员、业务人员参与软件项目的客户化研发。软件项目研发外包后,银行自身要成立项目组,确定相应的技术人员和业务人员,并参与到项目的需求分析、功能设计研发之中,不要存在反正已经外包研发了,到时间外包商给我产品,我们验收一下即可的想法,这是一种不负责任的想法。商业银行一旦选定外包商并签署了外包开发合同,就与外包商捆在一起,一荣具荣、一损具损,项目实施过程中,外包商驻场人员就是同事,应该向对待同事一样对待他们,尽快协调外包商项目组进场,尽量多的提供办公、生活等方面帮助。同时,尽量多的安排技术人员和业务代表参与到研发过程之中,既可以让技术和业务人员与外包公司技术人员熟悉、了解掌握产品技术性能和业务功能,便于项目研发过程中问题的沟通交流,还可以全程跟踪项目进度、项目质量,掌握项目研发过程中的问题并及时沟通解决,推进项目按计划保质保量的完成,让利益相关人员都感到满意。

4.3 做好业务需求管理,尽量减少需求变更。中小银行通常不具有专门的需求管理部门,业务部门对需求提出的规范性和严密性都有很大的欠缺,项目实施过程中需要不断地调整和完善,这种不确定的多次需求变更,直接导致技术人员经常修改程序甚至大规模返工,不但影响了软件项目研发的进度和质量,同时造成人力、物力、财力多方面的浪费,甚至会因需求的根本性变动导致项目宣告失败。所以,完善的业务需求是软件项目研发的关键所在。在需求确定的过程中,科技人员首先要做好与相关业务人员的沟通交流,与需求提出部门业务人员进行需求讨论,组织相关部门完成全面需求评审,确定业务需求的详细内容,明确需求中的优先顺序。IT部门内部负责业务需求相关工作的项目组人员还要与外包商之间要做好沟通交流,确定项目的技术架构及技术实现方案,对于一些复杂的、子系统关联度较高、开发周期较长的需求,根据行内业务发展要求,与业务部门及外包公司充分沟通后,形成可行的项目实施计划,后续的项目管理中按照实施计划控制好项目进度,把握好项目研发的主体。

4.4 形成外包商考核机制,有效控制项目外包风险。中小商业银行应在有限的人员配置情况下,根据自身实际情况,制定项目外包管理办法,并在此基础上实施有效的外包商及外包人员的考核。通过人员考核联动公司考核,通过公司考核,联动后续的外包合作项目。中小商业银行选择外包公司,应本着长期合作的态度,在外包考核中不合格的,应制订如“未来2年内不得参与我行技术服务、两年后需重新通过资格评审方能准入”等规定,对考核结果良好的,应在后续的外包项目中给予优先考虑,达到甲乙双方共赢的目标,降低外包风险。

4.5 加强软件项目外包研发的计划与控制。在与软件外包公司合作的过程中,尤其是中小商业银行外包管理底子较差的情况下,因各种原因造成项目研发时间延期、交付的技术文档不齐全或不规范及系统上线后支持服务跟不上等现象。因此,加强软件项目外包研发管理,做好软件项目研发过程的计划与控制,是确保软件项目研发进度和质量的重要措施。项目组应确定一名在业务和技术方面都比较权威的人员做为项目总负责人,项目组定期召集项目例会,沟通项目过程中遇到的问题,确定解决方案,形成项目周报制度并发送至管理层,必要时,可以要求管理层参与协调各方关系,确保项目按计划完成。中小商业银行之所以选择软件研发项目外包,究其根本就是因为自己无法做,或是让别人做更划算,但需要特别指出的是,中小商业银行应尽自己最大的能力,将关键人员投入到关键项目的研发过程中,项目管理固然重要,但掌握核心技术、不受制于人才是根本。商业银行软件研发的核心员工不仅能够在外包项目跟进过程中代表银行的利益来管理、从外包商技术人员那里学到专业的、核心的知识或技能,而且可以在外包商异常退出后快速成长,成为银行内部强有力的支持人员,使因外包商异常退出造成的风险最小化。总之,无论商业银行的软件研发项目是否已经施行外包,都应该培养精于银行关键业务系统研发的技术及业务团队,使银行在外包的道路上掌握主动权。

上一篇:基于船舶电气建造过程的专业课程体系之构建* 下一篇:高职基础化学课程改革探索