文/林萍
银行因业务发展需要,提出建设外卡收单项目,要求在不影响现在银行系统业务的情况下,结合原有框架设计和开发此项目。
外卡收单是境外银行卡持卡人持卡到我国境内消费的业务,包括外卡在境内ATM上查询、取现、POS机上消费和柜台操作等功能。其中涉及外卡的国际组织信息转换为我行系统信息,我行系统处理并能返回给国际组织相关信息等转换业务,同时涉及资金安全、分润等银行业务,要求性能和安全性相对较高。
本文首先集中阐述几种典型的软件需求获取技术和特点,并根据外卡收单项目的特点选取最为合适的联合需求计划、情节串联板和现场观摩等技术相结合的获取方法,快速而准确地获取了本项目的需求。
随着全球经济一体化,所有银行业务都向国际发展,这就需要业务满足对内对外的需求,例如:某商业银行因业务发展需要,提出建设外卡收单项目,要求在不影响现在银行系统业务的情况下,结合原有框架设计和开发此项目。
外卡即国外储蓄卡或者信用卡(以下简称外卡)到国内消费的项目,项目要求在不影响现有银行业务的前提下,凡外卡上有美国运通(America express)、万事达(master)、日本(jbc)标志的卡,均可在境内ATM机上查询、取现,在境内POS机上消费和在境内柜台操作的功能。项目需要另外配备专门的外卡服务器,接入到原来的大型机上,外卡服务器称作外卡前置机,主要采用Unix操作系统和Oracle数据库,负责将大型机发送过来的联机交易信息、清算信息转换为国际组织规定的格式,向国际组织的系统传送,并接收国际组织返回的相关信息,转换成综合业务系统规定的格式,向综合业务系统返回信息的前置处理系统。项目还需要配备管理监控人员的Web监管系统,以备随时检查外卡业务的运行情况。
由于我们的团队都开发过国内银行卡的这些功能,所以对银行卡一般的业务比较熟练,但是第一次接触外卡,涉及外国如master等组织和中国银联的对接、分润以及国际卡信息和我行银行卡信息转换等业务,项目组首先通过制定详细的需求获取方案来获取整个项目的范围、计划和安排。
需求获取技术一般有用户访谈、联合需求计划、情节串联板、抽样调查、现场观摩、阅读历史文档等方式。其中用户访谈一般是针对某个细节,事先设定好访谈内容,从关系人那里了解实际情况,一次访谈时间不宜超过120分钟。联合需求计划是一种获取需求非常有效的方法,一般是联合各个部门领导或者精通业务的人,一起开会讨论获得结果,该方法虽然有效,但不容易组织,首先各个部门时间不好协调,另外涉及各部门的业务耦合,有时候比较难于控制,而且一次会议持续时间较长,多次组织更加困难。情节串联板以讲故事的方式,可以是PPT,也可以是图片等展示给客户观看,让用户提出自己对需求的意见。抽样调查相对来说成本最低、获取信息最快,但抽样调查提出的问题要有技巧,通常需要设计封闭问题和开放式问题,抽样调查一般需要采取一定的激励措施来保证回收数量。
现场观摩是针对复杂业务,客户描述不清,系统分析师也了解不透的情况下,到客户现场参与和观察客户工作的一种简单有效的需求获取方式,缺点是时间安排与客户的配合程度。
阅读历史文档可以了解过去的做法和需要改进的地方,比较有效但不够直接,也有可能出现理解偏差。经过项目组的讨论,外卡收单项目适合采用情节串联板、联合需求计划、用户访谈、现场观摩和阅读历史文档来进行。
由于本项目是在国内卡操作运行的基础上,扩展功能需求进行外卡收单项目开发,所以很多操作和国内卡相同或相似。因此,我们首先截取了国内卡的操作界面,加入项目组对外卡收单项目的理解,以故事串联的方式做成PPT,准备在联合需求计划上展现,并提出了我们不太了解的外卡信息的组成等问题以待解决。
另一方面,项目组分别联系POS部门、ATM部门和柜台部门以及这些部门的重要客户,统计他们合适的时间,安排一个统一的时间到我们项目组进行友好的交谈,并观看我们做的需求PPT。
交谈过程中,各个办公室的人员都提出了自己看法和意见,并希望有更好的解决方式,个别部门还提出现有国内卡操作的不足,并提出在外卡收单项目中加以改进,通过精心的准备和耐心的听取意见建议,项目组最终获得了以下需求:ATM查询、取现、冲正,POS机消费、消费取消,以及POS预授权、预授权取消、预授权未知、预授权确认、预授权取消确认和预授权取消确认未知和柜面取款、柜面取消取款等功能。
另外,根据本项目的特点,通过联合需求的讨论,根据功能的紧迫性,我们分两期迭代开发,一期实现ATM和POS机的收单处理,二期完成柜面机的收单处理,两期功能都涉及外卡前置机的软件开发、Web服务器的开发和监控客户端的开发工作,在联合需求会议上,POS部门提出并要求尽快实现POS的收单处理,因为外籍人员到境内主要是出差,需要住宿等,需要使用POS消费功能,因此这个功能必须第一个开发出来,ATM部门和柜台部门起初不同意,认为这几个业务同等重要,经过几个部门激烈的讨论和综合考虑,最终同意了先开发POS功能。
确定好项目分两期进行后,对于POS部门提出的要比国内卡更高效的处理操作项目组还不是很了解,项目组准备和POS部门领导进行详细的用户访谈,首先项目组设定了访谈计划,访谈内容以及访谈要解决的问题,然后带着问题约见POS部门领导,请他回答一些他们认为国内卡在POS方面不足的地方,从而希望我们在外卡上做怎样的改进等问题。
在得到授权人同意的情况下使用了录音笔,在用笔记录的同时,把没记录到的内容带回项目组反复研究和整理,希望得到最优最有效的需求。此方法后来还用到了其他部门,项目组一直认为此方法行之有效,非常适合外卡收单项目。
在本项目中,有个别业务相当复杂,很难从领导那里得到具体复杂业务的流程,项目组就安排两个比较有经验的人深入一线现场,观察商户的POS操作,比如怎么取消怎么冲正,在什么情况下可以取消和冲正等,通过将商户的操作录播和自己的实际操作,获得了复杂业务流程,进一步了解了需求。怎样把外卡信息转换为我行信息?需要阅读大量的外卡信息文档和我行信息的文档。两个相结合后得到行之有效的转换方法。
这些方法结合使用后,最终制定出了详细的需求规格说明书,并将规格说明书分发到各个部门和客户加以确认,最终获得了各个部门的签字认可,为后续的开发工作打下良好的基础。在总结经验的同时,我们也认识到了需求获取方法的不足之处。
首先,联合需求计划需要安排各个部门的领导、重要客户一起在同一时间到项目组进行商讨,时间很难统一,意见也很难统一,而且会议上还可能出现跑题的现象。这些问题需要项目组到各个部门沟通协调,并取得更大领导的支持。另外,会议主持人一定要把握好时间和话题,如果偏题,立即把大家带回原有的题目上来。
其次,用户访谈注意时间和问题,录音必须征得当事人同意,现场观摩注意录播或者自己亲自操作时不要泄露了用户隐私等问题。
通过本项目,我们在软件需求获取方面又积累了一些经验,同时让我在不同的获取方法中怎样有机结合有了更多的心得体会,为今后的工作打下了坚实的基础,以后还会有更多的需求方法出现,我将结合项目的特点和自身的经验,不断学习,不断总结,从而为以后能够应对更多更复杂的工作做好准备。