首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

商业银行软件开发与管理的问题及对策

作者:任伯群 来源:电子技术与软件工程


  摘要随着商业银行经营管理对信息技术依赖的加深,IT部门的软件开发任务日益繁重。经过多年发展,商业银行或多或少都培养了一批自己的软件开发人员。但是,对于规模中等以下的商业银行来说,由于软件开发并非银行主业,在资源投入上受到诸多限制。因此,大多商业银行采取自主开发、合作和外包等多种方式进行软件开发。本文对商业银行应用软件开发和项目过程管理进行了研究探讨,并对商业银行实施软件开发和项目过程管理提出了可操作的对策和建议。
  【关键词】银行软件 软件开发
  1 软件开发与管理的问题及分析
  1.1 需求质量不高
  软件项目是需求驱动的,需求是软件项目的基础。需求是软件项目中最难把握的问题,也是关系软件项目成败的关键问题。据调查数据分析,很多失败的软件项目都是由于需求问题导致的。需求质量不高的问题,通常主要表现在几个方面,一是需求的有效性差。有些需求目标过高,范围过广,较难实现;二是需求的层次低。部分需求仅限于业务操作人员的操作经历,不了解同行业成熟和先进的实践与理念;三是需求的清晰度低。部分需求模糊和不明确,极易造成业务和技术人员理解不一致,导致返工;四是需求稳定性差。需求变更,必然造成后续开发工作的变更,这也是项目进度不可控、质量无法保证的原因。
  1.2 缺乏高素质的开发人员
  由于企业体制等原因,部分商业银行不能从社会引进专业技术人才,学院教育与实际软件研发能力要求之间脱节严重,造成软件开发人员缺乏必要的技术积累,整体素质偏低。同时,部分商业银行也没有形成培养高水平软件研发管理与技术人员的土壤与环境。
  1.3 软件开发过程不规范
  由于缺乏组织层面的软件过程定义和管理,项目基本处于“单打独斗”状态,无论是项目管理,还是技术实践,均取决于项目负责人等个人的意愿和喜好。由于缺乏组织层面的经验传承、过程管理和质量保证,很多项目的成败很大程度上取决于项目组某一个或几个关键成员。
  1.4 软件开发过程不确定
  软件项目开发虽然制定了“软件项目开发计划”,但限于业务需求不稳定、技术人员能力等因素,软件开发基本上是“随心所欲”的,因而其项目管理和开发过程都是不确定的。
  1.5 项目进度和成本不可控
  业务需求以不可控的方式进入软件过程,继之无约束的设计、开发,最后生产出质量不可预知的产品,其进度和最终成本又往往是超出计划要求的。
  1.6 软件质量无法保证
  由于整个开发测试过程的不规范,软件质量基本取决于技术人员的个人水平。由于未能准确地理解用户需求,系统开发完成后却发现与用户的要求不符;有的项目似乎完成得很快,但缺乏充分和有效的测试,往往在上线后要付出几倍的代价对系统进行维护和优化。
  2 软件开发与管理的对策
  2.1 完善人才培养机制
  软件开发是智慧密集型工作,高质量的人才对于软件开发来说至关重要。商业银行要提高软件开发能力,就必须建立并拓宽软件人才供应链,重视和加强人才的培养,特别是复合型人才的培养。
  商业银行一般每年定期从高等院校招聘部分优秀毕业生以充实人才,但商业银行必须正视目前学院教育与实际软件开发能力要求之间脱节的事实。对于应届毕业生的培养,必须从提高他们实际动手能力着手,逐步提高软件开发能力。同时,为提高专业人才的层次,商业银行还要积极争取政策和创造机会,适时从社会引进专业技术人才。
  复合型人才是指既精通技术又熟悉业务的人才。开发人员只有“懂”业务,才能准确和完整理解业务目标和业务需求,帮助业务部门梳理、分析、甚至优化业务流程。商业银行可以通过业务技术人员的双向交流、集中培训、定向培训等多种形式加强复合型人才的培养。
  2.2 加强需求开发和管理能力
  商业银行信息化需求的变化之快,对IT部门提出了巨大挑战。对需求的快速反应能力既是商业银行IT部门的核心能力体现,也是其服务价值的体现。
  需求的质量关系到软件开发的成败。然而,在需求职责分工这一问题上,部分商业银行至今仍未梳理清楚。IT部门认为业务部门应该对需求的完整性、系统性、正确性负责任,业务部门则坚持认为“没有哪个裁缝会要求客户先提供一份需求规格说明书再做衣服”的道理。以至软件开发进度或质量出现问题时,业务与IT部门都不愿对结果负责,相互抱怨,甚至相互推诿。
  实际上,不仅是商业银行,相当一部分企业的业务部门都没有完整定义自己业务需求的能力。为适应现实,商业银行需要将需求开发和管理能力后移,成立独立的部门或由IT部门承担这部分职能。毕竟,需求对软件开发来说,实在太重要了。
  2.3 建立并完善组织过程改进能力
  管理的作用是隐性的,不都是立竿见影的。在实施CMMI时,管理层在开始时往往会对过程改善期望值太高,希望短时间内效果显著,事实上这很不现实。但过程经过不断的实践与改进,经验不断积累,软件产品的生产率必然进一步提高,产品质量进一步可控,研发成本进一步降低,CMMI的价值也就真正体现出来。
  实施CMMI要坚持用数据说话,也就是坚持过程和产品的数据度量。生产效率的高低、产品质量的好坏、项目进度的拖延、需求的质量和风险控制水平,定性的说明常常苍白无力,不能令人信服,只有有了客观的数据,量化的比较才最有说服力,这也是CMMI进级的基础和保障。
  2.4 加强软件外包管理
  首先,商业银行要正确识别核心业务和非核心业务,将非关键的软件外包出去,一方面可以集中有限资源打造核心竞争力,形成竞争优势;另一方面可以整合一切可利用的内外优势,帮助企业快速成长。
  其次,要加强对外包服务商的管理。谨慎选择外包服务商可以降低部分风险。对风险的管理除了要求银行与IT厂商间有很好的合作机制,彼此信任以外,商业银行必须保证对整个外包项目具有决策和控制权,确立“以银行为主”的方针。同时,应对IT厂商进行整体评价,不仅看其现有产品,而且要通过对厂商的整体实力、资信等级的评估,确认厂商具有良好的发展前景,要有适当的评价和监测手段,商业利益分配也应尽可能合理。在项目招标中,尽量选择实力强大,信誉良好的公司。
  最后,要加强合同管理。外包合同是外包管理中最为重要的文档之一,是对外包服务商进行有效控制,降低外包风险的主要手段。外包合同管理主要涉及选择外包服务商、制定外包合同、签署外包合同、更新或终止外包合同等事项。商业银行与外包服务商签订协议,通过监控和合规管理,保护自身利益。
  
  作者单位
  山东省农村信用社联合社山东省济南市250001