At Fannie Mae, the nation's second-largest corporation based on assets and the largest source of home-mortgage financing, software engineers are in the midst of a multimillion-dollar development project that promises to transform the way home lenders interact with the big financial company. Fannie Mae is building the applications rather than buying them because "infrastructure sets the speed limit for our new product development," says Julie St. John, executive VP and chief technology officer.
Fannie Mae's so-called "core" infrastructure project involves writing in Java new applications that are intended to be more flexible than the 20-year-old mainframe apps currently in use, which were written when 30-year, fixed-rate loans were the norm in home financing. In addition to providing a more-flexible platform for offering different kinds of home loans, the custom applications will support the acquisition of mortgages from Fannie Mae's lending partners and the delivery of mortgage-based securities to investors--in short, the entire life cycle of a home loan.
The project is being done with the help of IBM and American Management Systems Inc., which together employ about 60% of the developers involved. One of the first achievements of the years-long initiative is an online system launched last year. Called eCommitting, it lets mortgage lenders commit to selling loans faster and with greater efficiency. Applications that support mortgage acquisitions and service reporting are scheduled for deployment over the next two years.
Fannie Mae has sequestered the development team working on the applications, which are being built using Java 2 Enterprise Edition components, in a building separate from its Washington headquarters. "There has to be a total focus on architecting it correctly," St. John says. The languages, tools, and methodologies behind in-house development are evolving, with reusable components and Web-services standards (XML; Simple Object Access Protocol; Universal Description, Discovery, and Integration; and Web Services Description Language) increasingly being used within services-based architectures. The programming environments generally fall into two camps: Sun's J2EE or Microsoft's .Net. While there are strong opinions about the advantages of each, the choice doesn't always boil down to one or the other. "We believe organizations, more and more, will do hybrid projects," says Ted Shelton, senior VP and chief strategy officer at Borland Software Corp., which has been selling development tools for 20 years.
Either way, Shelton says, the trend among corporate development teams is to use tools such as Borland's JBuilder, StarTeam, and Together to treat their work less like a craft and more like a "practice." That means being more attentive to the way software-development teams collaborate with users and business managers to determine the requirements of applications and then being more methodical in the design, development, and testing of those apps. "Software developers today have to be very familiar with the full application life cycle," Shelton says.