In-Depth

norisbank

I. Project Information

Project Designation

easyCredit on JBoss

Brief explanation of the goals of the project

norisbank launched easyCredit to help drive its market leadership position in Germany’s consumer credit business. The goal was to develop an end-to-end automated platform that would drive norisbank’s credit life cycle process. norisbank wanted to use the best technology available for the lowest cost. Open source software from JBoss provided the optimum solution. Today, norisbank is Germany’s third biggest consumer loan provider. This growth was achieved by transforming from manual business processes to highly agile, interconnected and automated system-driven processes.

Brief description of the business risks involved

norisbank needed a scalable solution that would allow concurrent automated credit decisions and the ability to handle up to 100,000 parallel transactions. The team also had to safeguard against significant performance loss after integrating with 785 additional financial institutions representing 11,200 agencies and over 31,000 registered users.


norisbank required enterprise technology that was on par with enterprise platforms, such as BEA WebLogic, in terms of performance and functionality, but priced affordably. The decision to use the open source JBoss Application Server for a mission-critical application that would ultimately process 3 billion euros ($3.6 billion) a year was considered a risk at the time of implementation. (JBoss is now recognized as industry leading enterprise solution, making its debut in 2005 in the Leader position of Gartner’s Enterprise Application Magic Quadrant.)


Despite the highly conservative nature of the banking industry, norisbank was an early adopter of open source technology. The IT department had the expertise to validate the technical capabilities of JBoss and other related open source software and the foresight to recognize the many benefits they would provide in the long term.

Brief description of how the system helps users

easyCredit is a customer facing online loan application. Since the process had previously been paper-based, the new system now enables loan and credit applications to be processed more rapidly and accurately, overall improving efficiency and delivering a response more quickly to customers.


II. Organizational Objectives

What short-term and long-term benefits did the organization achieve from the project? Did the solution meet the projected goals for saving time and money? How were benefits measured? Was the system mission critical to the organization?

Processing over 3 billion euros ($3.6 billion) a year in revenue, easyCredit is most definitely a mission-critical application for norisbank.


The most immediate and apparent benefit can be measured in time savings. Compared with the industry average of two hours for the credit application life cycle, easyCredit reduced norisbank’s to a mere 33 minutes. This benefited everyone, from the customer to the bank employees. In terms of opportunity, less time spent processing one credit application also meant that more applications could now be processed on the whole.


Technology cost savings was a major decision factor in choosing JBoss, which is licensed under the zero-cost LGPL (Lesser Gnu Public License). With 16 online servers and two batch servers planned for the easyCredit system, norisbank was already looking at substantial upfront per CPU licensing costs with a proprietary platform such as WebLogic. On top of the licensing, norisbank could expect to pay a contractual 20% (the industry average) more for ongoing support and maintenance. In contrast, the JBoss Application Server came with zero licensing costs and optional, annual subscription support available at three levels depending on norisbank’s service level needs and the number of applications that need to be supported.


Moreover, the flexibility of the JBoss subscription support model meant that norisbank had room to grow and expand its use of open source without having to go through time-exhausting renegotiations on the licensing agreements, as typical with proprietary vendors.


Business agility is another benefit of using JBoss. Because JBoss is both J2EE-certified and open source, norisbank never had to worry about vendor lock-in or issues such as stability of a proprietary vendor or how future software versions will impact the business. JBoss is portable and interoperable, so future business needs can be addresses as required.


Furthermore, JBoss provide a framework that simplifies enterprise Java development. JBoss was built by developers for developers, so it is intuitive and easy for developers to use. That means projects can be deployed more rapidly than if significant training was involved.

Describe the business purpose of the new system.

easyCredit was designed to help norisbank achieve market leadership in Germany’s consumer credit business. The company needed to attract more customers and for that to happen, they needed to improve their ability to serve more customers. That meant an entire transformation of their existing, manual, paper-based credit life cycle process to an end-to-end, automated platform that could scale as norisbank rapidly grows its business. easyCredit must be able to integrate with and collect data from multiple sources and provide real-time monitoring of credit decisions – all securely and rapidly.


Thanks to easyCredit, which transacts and supports the majority of its annual revenue, norisbank is Germany’s third biggest consumer loan provider today. It is also one of the most profitable banks in the domestic market and a leading provider of installment credit in Germany. This growth has been achieved by transforming all manual business processes to a highly agile, interconnected and automated system-driven process.

Describe the features of the new system.

The new system included the following features:

  • Web-based applications, to enable data gathering from different data sources such as applicant, merchant and credit bureau, supported by a set of online and offline data quality checks;
  • Scalable rule engine, that allows concurrent machine based credit decision;
  • Enterprise Content Management System, keeping paper output low and giving employees access to customers files at any given time from any given workplace;
  • Web-based tools for real time monitoring and investigation of credit decision;
  • Business intelligence tools for automated fraud detection; and
  • Control and monitoring tools for tracking run-time improvements and availability of the overall system.
Explain the functions of the new system.

Refer to description above.

Who were the internal sponsors of the project? Which officials or groups were opposed to developing the application? Why?

The project was approved and supported by the bank’s board of directors and subsequently launched by IT and two other business departments: Product Management and Production Control.


Although no department opposed the system, it was difficult to persuade some departments to participate in the project. Some, such as the accounts department, believed the existing system was working well and serving their data reporting needs.


Were users of the system involved in the project during the planning and development phases? If so, how?


The team applied the unified software development process. In this process, users of the system are involved from the requirement engineering phase. For example, assessment meetings were held with business units to gain an overview of existing business processes and to discuss potential improvements and the usage of new technologies.

What were the greatest challenges in completing this project? How were they overcome?

It was enough of a challenge to convince people that open source software was credible for production environment, never mind using open source software in a bank for a service that would be generating more than 3.2 billion euros ($3.6 billion) in annual revenue. This risk was mitigated by building the application on an enterprise standard (J2EE), which would enable easy porting to a commercial platform (e.g., BEA WebLogic, IBM WebSphere) in the event that the JBoss-based system failed in production. Ultimately, the JBoss Application Server proved to be both reliable and high performing and porting to a commercial platform was not required.

Were the goals changed as the project progressed? If so, what were the changes and why were they made?

When the project initially started in January 2003, the system was planned for 1,500 agencies with approximately 5,000 users. In June, the bank was acquired, and the team was directed to build a system that would serve 11,200 agencies with over 31,000 users. The system would also have to handle 100,000 parallel web-based transactions.


Fortunately, the first prototype was developed on schedule and the system was open and flexible enough to fully integrate into the specificity of the new parent company. Flexibility of the application was provided by the consequent use of the JMX architecture of the JBoss Application Server. Ultimately, the use of JBoss was an asset because there was no other application server on the market with such a flexible JMX implementation.


III. Category

Open-Source Development

IV. Methodology/Process

Describe how productivity tools or techniques were used in the project.
  • Methodology: USDP (unified software development process) from OMG
  • Development Environment: Eclipse and diverse plug ins (like xdoclet, ant)
  • Software Components: Apache Struts, Apache OJB, JBoss CMP2.0
  • Application Server: JBoss Application Server/Tomcat
  • Version Control: CVS
  • Continuous Integration with Cruse Control
Were testing tools used during development? If so, when were they used? Was the testing cost-effective?

JUnit for unit testing (http://www.junit.org/index.htm) and Grinder load testing (http://grinder.sourceforge.net/). The team also outsourced some load testing to Mercury (http://www.mercury.com/de/).

Even though the team invested in writing unit tests, all of the tools used were open source tools with zero licensing fees.

Was a formal or informal software development life-cycle methodology employed? If yes, please describe it.
Software development was based on USDP. Tasks were divided based on the J2EE best practice (user interface developers, business logic developer and database designers). The team also followed CBD (component based development) information exchange in which modules are based upon well defined interfaces.

What formal or informal project management methodologies and/or tools were used to manage the project? If used, please describe how.

The team relied on open source development methodology to organize and realize the project by using tools such as Ant, CVS, JIRA, and Eclipse. These tools allowed the team to use templates and patterns from the open source community. This enabled the team to complete development in one year. Almost 80% of components comprising the system are from the open source community. The remaining 20% were developed internally.

Were software quality metrics used? If so, what were they, and did using them significantly help the project?

The team used the clover test coverage tool to assure the application was well tested.


V. Technology

What were the major technical challenges that had to be overcome to complete the project successfully? How did the team respond to those challenges?

Multi-client awareness and dependency management were important considerations for the team. The team implemented a proper access control module on top of the JBoss JMX Implementation. The online module had to be completed within three months of the project launch because all other components had to be built based on this component.

What software tools, including databases, operating systems and all development tools, were selected for the project? Why were they selected over competing tools? What process was used to select development tools and software platforms?

The decision to make JBoss Application Server the foundation of the easyCredit project was driven by JBoss’ technology leadership and reputation for innovation. At the time of implementation, JBoss was the only application server implementing the JMX specification. This capability provided norisbank with the freedom to deploy proper services. Competing products did not allow for freely writing/installing proper Mbeans.


The JBoss Application Server is fully customizable and based upon a microkernel (Mbean-Server) architecture. In addition to ease of use and product maturity, price was another consider. The JBoss Application Service is licensed under the zero-cost LGPL (Lesser Gnu Public License) and freely available. That means the development team could download JBoss and start building, thus eliminating the time associated with rounds of negotiating licensing agreements with proprietary vendors.

Describe the overall system architecture. Were elements of the technical infrastructure put in place to support the new system? Please describe.
  • Parallel deployment of independent servers. No cluster, entity synchronisation is part of business logic. No session replication.
  • Strict separation between online and batch servers.
  • JVM configuration.
  • Exercise interface to hosting provider with multiple environment: dev, Preit, Postit, QA.
  • Installation and operator manual.
  • Application monitoring (30% of total load).
What characteristics of the tools and technologies used were most important in achieving the business purposes of the system?

Choosing open source software, specifically the enterprise-grade J2EE-certified JBoss as an application platform. norisbank was the first in the industry to build a mission-critical application on such a grand scale using an open source stack. The open source stack was chosen after tests and proof of concept. It proved to be cost effective and the best option.


VI. Project Team

What was the size of the development team?

There were 35 people on the team.

Describe the software development experience of the team members.

Everyone on the team had at least 2 years of J2EE experience which proved critical to the project’s success.

What was the composition and skill level of the team? Did development teams require training to work with the technology?

There were a total of 35 software developers. This group was divided into seven teams comprised of four to five people. Each group had a team leader who spoke daily with other leads to evaluate software, determine the best architecture and resolve issues.


Functional expertise included project management, product management, software development, QA, and risk management because of the online credit applications.

How many person-months/days did the project take, and over what calendar time frame? Was a formal schedule created at the start of the project? Did the project stay on schedule?

Launched in January 2003, the project was a priority for the bank. The requirements document was delivered to the project team on January 16. Within two weeks, a team of 20 developers was established. (The team was subsequently increased to 35 when the project goals expanded in June.)


A test version of the easyCredit system was available on May 7, 2003 and by September the system was going through quality assurance. On December 19, 2003, the first online credit application was processed.

Did management and the user community consider the project a success?

Yes. The bank’s position in the German market is a testament to the easyCredit system, which today processes 82% of the bank’s annual revenue.

If you had to do the project over again, would you do anything differently? If yes, please explain why.

Yes. The team was established in two weeks. Though most developers were familiar with JBoss and could begin development, it would have been more ideal to have additional time to get the team trained and certified by JBoss. Knowledgeable, quality people develop high quality systems.