Customer and Industry
US Bank is a diversified financial services company with headquarters in Minneapolis, Minnesota. US Bank offers a comprehensive range of financial solutions to meet the needs of individuals, businesses, institutions and government entities.
Redesign the US Bank treasury department system centered on a modular task execution engine with a standard interface that made adding, moving, modifying, and deleting functionality faster and less prone to side effects.
- VB.NET (2003 version)
- QL Reporting Services
- SQL Server 2000
With assets of $207 billion, US Bank is the 6th largest financial services holding company in the United States. The company operates 2,411 banking offices and 4,999 ATMs providing a full line of banking, brokerage, insurance, investment, mortgage, trust and payment services products to consumers, businesses and institutions. Their premier Five Star Service Guarantee assures customers of key valuable banking benefits and services or customers will be paid for their inconvenience. U.S. Bancorp is the parent company of U.S. Bank.
The US Bank treasury department had been relying on several Microsoft Access databases (97 version) and applications to manage accounting, payments, and reporting for a large portion of their derivative and debt transactions. These transactions represent billions of dollars in securities. The MS Access databases and applications had evolved over 10 years time as new transaction types were added, new accounting demands arose, and regulatory reporting requirements multiplied. The applications have been in constant flux, and that situation is expected to continue.
The applications and data required constant maintenance, and the IT support team was being overwhelmed trying to meet the support needs as well as trying to implement new features requested by the users. Business logic and processes had become increasingly complex and intertwined while spread over many objects (code modules, code behind forms and code behind reports, Access queries, stored procedures, and user documentation). This evolution created a system that was difficult to understand, easily broken, and time consuming (i.e. costly) to troubleshoot and extend. In addition, these critical business applications did not meet the basic security and audit requirements implemented by the bank’s regulatory teams.
- Alto recommended that the debt and derivatives systems undergo detailed analysis in preparation for a redesign in a .NET platform against a set of SQL Server 2000 databases. A planned upgrade to Access 2003 would not alleviate the support and maintenance problems discussed above. Many of these problems were exacerbated by using Access as the platform. The detailed analysis was also necessary to untangle the complex web of dependencies that made the old systems so fragile and hard to change. Once the current system was fully understood, a new application could be built from the ground up to meet the following requirements
- Consolidate business logic and documentation into discrete processes that can be more easily changed, added, or removed with a minimal impact on the system as a whole.
- Design these processes so they have at least a minimal awareness of their own dependencies (i.e. a process knows it can’t run if it depends on another process that has not completed successfully).
- Create standardized testing procedures for new processes or for significant changes to existing processes.
- Design the data store so that daily and month-end transformations are saved and automatically archived after a certain amount of time.
- Design the development and test environment so changes can be fully tested before implementation.
- Improve data security.
- Increase control over data integrity so critical data entry errors or omissions are caught at the database level.
- Increase auditing and logging of user data changes to meet regulatory requirements and as an aide to troubleshooting and support.
- Increase logging of automated processes to meet regulatory requirements as an aide to troubleshooting and support.
- The redesigned system centered on a modular task execution engine with a standard interface that made adding, moving, modifying, and deleting functionality faster and less prone to side effects.
- Development on the new system has been done with Alto developers in partnership with the US Bank Treasury IT support team. This means that those tasked with supporting and extending the new application have an understanding of how and why it’s built the way it is.
- The redesigned system exceeds the new regulatory requirements being implemented throughout the bank and is far easier to extend and support. All data generated and maintained in the new system has a full audit trail so US Bank Treasury management can sign off their reporting numbers with greater confidence and peace of mind.
- Troubleshooting problems takes far less time and guesswork because of the extensive logging in the new system and because of the careful compartmentalization inherent in the new design. New functionality can be developed and tested without disrupting the existing system. Once accepted, this functionality is simply plugged into the open architecture of the new system. New features that have been in the development queue for years can now be implemented in days or weeks.
- Standardized and professional development practices are now in place. A phased approach had been taken so all developers involved have gathered a great deal of experience with the full life cycle of software development, and the IT support team now has proven processes for continuing to extend the application.