Financial Web Application
Objective:
Our client financial company was developing an application that integrated their business processes into a streamlined web application. Same application was being built both for internal handling as well as for end user handling. Their existing IT infrastructure was presenting following problems.
- Their current system was based on old technology, and the system was run on obsolete and expensive to maintain systems
- Being a financial institute, they had prime focus on security and fool proof backup and recovery of the system
- Front end of the application was geared for normal consumers who generally are not tech-savvy. It needs to be user-friendly to increase consumer comfort level and reduce on-going user training and call center support.
These challenges were compounded by the fact that their development staff was a) not sufficient b) not trained in newer technologies, also, their geographic location required premium for some of the 'right-fit' engineers.
Note: Some of the information in this case study is protected to respect our NDA with the customer. Our client does not want to disclose that it has used the services of an outside software development company for its developing its mission critical application. All the information shared in this document has been discussed with our customer.
Business Process:
- Whenever a customer's order was made, the sales order was recorded. The client's credit history, account balances, EMIs and various internal accounts are altered according to custom rules for each customer.
- User may be able to view their accounts as well as past and current transactions.
- Information is collected from a user friendly front end from various locations into a large relational distributed database.
- Reports and transaction summary is available to end-users as well as power-users for enabling easy decision making.
Technical Details:
This web application uses N-tier web architecture. In this model, both the presentation layer and the middle layer (50%) are handled by a user friendly front end in Macromedia (Now Adobe) Flex Framework. Microsoft.Net was used for developing this application on top of the flex architecture with action scripts. SQL server 2000 was used as DBMS The following section discusses some of the details of the system.
The front-end component, which is responsible for providing portable and user friendly presentation logic, was a complex workflow. The client had done a good bit of knowledge transfer in the uses of the application and provided flows that make more sense to their users. Many of the user functions (or flows) were generic, however, were very integrated in complex flows depending on the starting point of the user action at the front end. It required a lot of upfront analysis of web flows, and inductive vs. deductive flow analysis. We worked a lot of action scripts 2.0 to improve the quality within flex framework.
The database end of the application was distributed across redundant servers in a cluster in clients data centers one in mid-west and other one on the east coast.
Our Role:
Our engagement model was onsite/offsite model. Our team comprised of project manager, account manager, architects, team leaders, designers, developers and quality engineers. We worked closely with the in-house IT team of the client that consisted of project manager and an architect.
The team leader, with our onsite team was responsible for replication of old application in the new application as well as validation of user screens and closer feedback. Data migration and system testing was done at a later stage in a well defined modular plan. The old system and new system are run simultaneously for a short period for each module that's being migrated, and when the quality of the system was ensured after which the old system was abandoned.
We adopted our global delivery model by using the best combination of resources from our global pool of engineers.
Challenges:
- Quality Assurance: This project had continuous weekly targets with critical requirements. It required faster turn around time to fix the bugs reported after the beta releases. Uploading the changes were also very critical with little window for downtime so that the financial application users don't loose money. We have continuous focus on ensuring high quality with each release build. The QA team goes through test cases on staging server rigorously and Release Candidate 3 (RC3) build is released to production server after three rounds of testing.
- Co-ordination with our client's team: Our global operations for the web development run round the clock, and it's always critical to maintain effective communication with the team based in the US. We have employed task assignment and knowledge sharing tools to capture all the discussion threads.