推荐:
如何剖析金融软件开发难题
发布时间:2022-10-25

如何剖析金融软件开发难题

  在软件开发领域中,对金融软件开发中的难题研究一直存在,当提及到这个问题时,人们往往会想到软件工程方法论上,还会想到关键技术上这些方面确实是金融软件开发的一部分难关,但是随着经济技术的不断发展与完善,这些技术上的难题都被一一克服,所以这些并不算真正的难题,下面笔者将对金融软件开发中的难题进行细致的分析。

  在我国金融软件的开发作为一种独立存在的商务活动和工程项目的时间并不长,在金融软件开发活动中,有主要的两个参与主体即:金融机构(软件的使用者)和软件开发商。近些年,越来越多的人士认识到,这两个金融软件开发的参与者的相互关系,特别是它们之间的矛盾、合作、互动才是当今金融软件开发的最大难题。

  1 软件开发费用的问题分析

  金融软件的开发已经成为了一种正常的商务活动,这意味着软件开发的参与双方都存在着正常的商务交流,存在着正常的贸易方式,使用方给开发方提出需求并支付开发费用,而开发方承接任务研发软件,进而接受开发费用的模式深入人心。这也意味着双方存在着经费上的矛盾,双方都在为了经费展开了各种的手段,这对开发方而言却是一个真正意义上的难题。

  通常在计算经费时,双方都会根据所需的工作量来计算,然而双方对同一个软件的项目计算出的所需“人月”数量却各不相同,甚至会出现数倍的差距,为了合理的技术工作量,双方都面临着专业和心理的挑战[1]。

  部分软件开发商为了保证开发权的竞争,常常在竞标时压低报价,不然根本无法中标。但是压低报价却有两个危害:一是中标的开发商往往实力不强,这意味着软件使用方的软件质量相当难以保证;二是开发经费的不足会导致开发商不敢高薪聘用专业人才,也无法进行有效的奖励机制,进而会影响软件的开发质量。

  2 软件使用方的问题研究

  软件使用方某种角度可以称为是开发商的衣食父母,这意味着使用方对开发方的要求会各种各样,这也一定程度促进了软件开发工作的进行,但是也一定程度的阻碍了软件开发工作。并不是所有的软件使用方都有相关的专业知识,但是使用方的监督干扰却一直贯穿整个的软件开发过程,这就意味着软件的开发工作很大程度将被影响。

  例如在开发过程中,使用方会派出人员进行进度的视察,并且给出相对的建议,但是这个建议在使用方看来合理有据,但是大多情况下这些建议对已经成型的系统而言就是漏洞。且使用方视察的人员不同对相关的建议也不同,虽然一定程度会保证开发方的工作进程,但是更多的是影响开发的整体进度[2]。还有一些银行用户在进行软件开发方的工作监督时,依据旧式的银行工作理念,在和开发方交流时,一种高姿态俯视整个开发进程,对工程进程指手画脚。一旦出现问题则百般推却,忽视自身的责任,只要求开发方如何,却不考虑自身的相关责任。

  部分使用方字项目最后结尾阶段延缓系统的验收工作,迟迟不支付尾款,一个几个月的工程生生变成了数年的“胡子工程”,在出现这样的情况时,就算通过法律途径解决,但对开发方而言也是极大的人力物力的浪费。

  3 软件的产品和版本的分析

  软件因不同金融单位的需求而各不相同,但是究其根本业务范围,其实软件的大范围还是一致的。但是目前各软件开发方自身各自为政,开发出的软件产品各不相同,这使得软件市场一定程度上存在版本的重复和资源的浪费,无法推出一款通用型的软件。

  以银行业务需求软件为例,银行业务的大范围包括存取款、转账、刷卡等,这是所有银行共通的,如果有一款通用的软件系统,这样所有银行都可以使用,可以大量的节约成本,省时省力。部分银行存在特殊的业务范围,这就需要借助于设备软件产品参数及接口模块等相关技术。但是目前的现状告诉我们,这种软件没有出现过,各种银行依旧是关门开发,相互不存在任何的交流。银行各自开发的结果就是软件作品一堆,但是系统的产品则没有一件。

  在银行的内部也存在着软件版本的问题,总行开发出一个新的业务软件,下发到各处分行,希望将整个银行的业务进行规范化管理。但是一段时间之后,各地区的分行纷纷根据自身要求对母软件进行修改,这使得各自的版本不一,规范化的管理无法实施。

  4 使用方的需求难以把握

  每个使用方都有自身单位特点,这就需要开发方进行细致的分析,整理出最合乎情况的设计方案。但是很多情况下使用方的具体需求并不明显,或者其描述不准确,这使得这点在实际实施时很难把握。

  软件开发的出发点是使用方的金融业务需求,但是在实际的操作过程中,对使用方的需求并不意味着全盘的接受或者过分的强调具体业务的操作习惯和个别的特例需求,在新的经济形势下,这是不可行的。

  在程序开发的初期,其根本目的是为了代替人力进行相关数据的统计计算,一定程度上就是人工处理方式的模仿。随着信息技术的推广,这种工作模式逐渐的不合时宜,根本满足不了现状的经济现状。金融软件的设计源于金融行业的需求,但是不应该停留在原有的需求上。当大部分的金融机构使用同一种软件时,并将其各自的需求反映到这个软件中,然后加以改良,最后形成一个适应于大部分金融行业的软件产品。这可以统一、自动、规范的进行业务的展开,目前比较通用的SWIFT系统就是其中的一个较成功的案例[3]。

  这需要在实际的软件开发过程中,进行仔细的研究,积极采用先进的信息处理技术,对一些较为落后的技术、方式和习惯进行摒弃。积极的引进外来的先进技术和设备,规范和改进自身的业务流程。

  5 协同开发平台分析

  软件的开发是一个整体的过程,这个整体不但包括项目工程的整体,还包括了开发方和使用方的统一整体,甚至包含了整个开发行业的整体。软件技术的发展带来了使用方也就是金融企业对软件的管理上的发展,对软件的需求管理、变更管理、测试管理、维护管理等项目开发不同阶段进行有机的联系,保证开发方工作的顺利进行,保证软件的适用性。以往的开发工作一般都只在于开发方的自身的控制中,不同的开发方、不同的使用需求使得软件产品的生命周期和版本各不相同,产品与产品相互割裂,无法进行统一的分析和度量。

  建立一个统一的管理交流平台,保证开发方行业内部的联系以及开发方与使用方的联系,对提高软件的性能和适用范围有积极的意义。统一的交流平台的建立还有利于全面的项目的成本和绩效的评估,也有利于使用方的统一管理[4]。

  6 结论

  在金融软件开发过程中,积极的处理使用方和开发方的双方关系,合理平等的进行沟通和矛盾的处理。软件使用方在进行经费和相关要求的提出时,要合理有据,并且要进行相关专业性具体要求的提出,保证软件设计的合理性和与自身金融机构的需求的匹配性。对于开发方而言,在项目竞标时要根据自身情况合理的报价,在软件设计的过程中,保证经费和所接项目的匹配性,不能盲目的进行投标,积极与使用方进行沟通,细致了解客户的需求,进行相关的设计和解释,树立自身的服务形象。积极构建统一性和行业适应性的软件系统,积极引进先进技术,保证软件技术的先进性。