Challenges of Working on Software that Moves Money
The banking industry is a market shaker of the economy that aims to react to customer demands in the shortest time possible. Cost and time are the key factors financial institutions are considering when they are turning to software solutions. These, in fact, are not enough to develop competitive advantage. Security of the financial transactions is the high stake challenge that needs to be addressed jointly by the software development service provider and the IT department of the bank.
Challenges of developing financial software
Robust application. Banking software is characterized by high complexity. Compound code components, extensive specification files and communication between legacy code and newly created software are making the difference in this sector.
Add to this that quite a few number of solutions have been developed independently and are subject to later integration. There is also the chance that these software solutions have been created by different service providers over the last 50 or so years. Copy-paste option is forbidden, IDs, codes need to be retyped manually from one screen to another.
The human resources component. Business served by the robust financial software applications is so vast that there is not a single person in the bank to understand it all and to have an overall perspective on it. In fact, subject matter experts rely on existing software completely the other way around: they use the existing software to understand and manage underlying processes of financial transactions.
Actually the existing software suspended the need for the business logic knowledge. Therefore, software developers need to consult with every subject matter expert in part to put the system architecture together to enable add-on functionality integration.
Ensuring security. As transactions are being executed from some remote location and financial information is transmitted over wireless network ensuring safety of application data is mandatory. Devices assisting such transactions are subject to authentication and financial applications must safeguard that unauthorized devices are not connected to perform money transactions. Furthermore, a secure transaction cannot happen without authentication of the user ID & password of the bank’s customer.
Also, backend that verifies data integrity of the system should be a high priority concern: no one should be granted access to the system to alter the database. It needs to detect, recognize and avert fraud attempts, delay suspicious transfers and send notifications to a user through a third channel (e-mail, call, sms) every time a transfer is made – to mention only a few concerns of the security aspect.
Technology solutions. As consumers choose more often mobile banking, supporting the same application on multiple and different mobile device platforms can be a real challenge. Full mobile application development lifecycle for multiple platforms is due to cover mobile payments, transfers, localization of nearest ATM, mobile remote check deposits or payment due reminders.
Provocations of testing a banking software
A few questions you might consider when testing the interface of a financial software:
- Is GUI interface documented?
- Is there an assumption that the user will always use keyboard and mouse?
- How will it function on tablets and smartphones?
- Can the user download documents, if so, in which format?
- Are any connections established on the application server’s side (stock exchange applications)?
Managing the cost of mobile banking application testing for diverse device models is an important factor. Identifying test case failures on the actual devices is essential as all current data is pointing to a surge in mobile banking. Nevertheless, introduction of automated testing tools enables testing on various mobile OS platforms and devices without having to procure the physical hardware. Instead of device procurement costs, looking after chargers and USB connection cables, ensuring appropriate development environment with drivers and sync of software and headaches caused by compatibility issues with drivers of various mobile devices, the single concern and focus point is the action of testing.
Our Client is:
German market-leading provider of tailored software solutions for banks, corporates and service providers, developing secure high-end software systems for financial transactions.
The Challenge facing us was in:
Software development, software testing and support of the client’s existing software.
Actions we took to address these challenges:
-Implementation of a CAMT XML message import and integration of this into the existing product with support of the old MT 94x messages.
-Provide an alternative login solution in case of USB smartcard reader failure.
Java, Oracle Database, XML SAX, Spring, JMS, WebSphere MQ, Struts, WebService, JSF.
Used Development Tools:
Maven, Sonar, Hudson, JIRA, Jboss4, WebSphere 6.1.
Our Actions Resulted in:
-The existing product of the client complies with ISO 20022 CAMT XML message standard that replaces the old MT 94x messages;
-CAMT import implementation satisfies the requirements of configurability, extendibility and high performance.
-“Zero footprint” solution to access the banking application: it enables authentication and signature by using the same combination of reader and smartcard. No need to physically connect the reader to the PC and to install software.