Trying to save time and money, CitiMortgage, a unit of Citigroup, has gone enterprise-wide with a software reuse program.
Rather than rewriting duplicate lines of code, programmers are recycling them when possible. Because banks need to change software applications quickly to meet new needs, the ability to reuse code means software developers can produce programs faster.
Reusing code is a financial decision and a way to stay nimble, say CitiMortgage officials. "The level of business change we have to deal with on a daily basis has accelerated on an algorithmic basis," said Andy Zimmerman, senior systems architect.
CitiMortgage began the reuse program on a few large applications in 1998. Now other Citi divisions are looking to follow the mortgage bank's lead.
"This is a strategic platform for this business to grow on," noted Scott Preble, vice president and director of enterprise architecture and advanced technology. "We're really betting the business on it."
CitiMortgage's reuse architecture works through components-software or sections of code with certain functions. Ranging from a few lines of code to millions, they perform everything from computer log-ons to credit analysis.
CitiMortgage uses Component Manager software, from Cleveland-based Flashline, to run its reuse program. Component Manager catalogs Citi's software, retrieves code, and serves as a reference tool for each component. It details how code has been used, who created it, and instances where it could have been used but wasn't. Component Manager comes with 250 components ready for use.
The product provides objective information included in pre-defined reports, as well as subjective component evaluations through constructive code reviews, ratings and usage evaluations. Managers can use these reports to identify the best programmers and focus them on building high-quality, reusable components that other programmers can leverage.
The product also documents tests of every component in a company's inventory, crucial for maintaining security and programming integrity. Detailing test performance prevents the spread of viruses or a flawed program.
Citi chose Flashline from the many vendors offering component reuse packages because it approached the bank at a time when Citi's tech staff realized it would be difficult to create a reuse program internally. And Component Manager's ability to calculate how much time it took to develop code lets managers determine the time savings from reuse. Although this feature doesn't report a dollar figure saved, it lets banks treat software as an asset, not an expense, said Charles Stack, CEO at Flashline. CitiMortgage officials expect to save 10% of software development costs this year.
While recycling software isn't a brand-new idea, it's gaining momentum, especially in the financial services sector. For example, Charles Schwab has gained attention for its reuse program, Stack said. Some financial companies even sell their own components on the open market.
Banks are in the vanguard because they require systems with 24-hour reliability, and face enormous pressure to bring technological innovation to market, explained Liz Barnett, an analyst at Giga Information Group. They also have the financial resources available to launch reuse programs. And their business, at its core, is about managing information.
Reuse isn't limited to software. Some banks recycle business process models, not code. What's reused and the savings that result depend on a bank's goals, whether it's cutting maintenance costs or shrinking the time it takes to bring a program to market.
Yet reuse programs also face pitfalls.
"The biggest challenge with code reuse is really the people. It's not the tools," Citi's Zimmerman said. "Developers like to use their own stuff...the difficulty is getting them to trust that somebody has written something valuable that will save them time."
Still, reusing the "guts and plumbing" parts of software means CitiMortgage's 100 programmers have more time for innovation, which in turn creates greater job satisfaction. "Why would you want to rewrite a credit card transaction program?" said Preble.
If CitiMortgage's programmers had to write software from scratch for each project, the backlog would go on forever, Preble added. "The things we're asked to do are much more than we were asked to do last year." Reusing components, he said, is a tool for "getting in front of that business change."
Leverage investments in its CitiMortgage subsidiary.
"This is a strategic platform for this business to grow on. We're really betting the business on it." - SCOTT PREBLE, vice president and director of enterprise architecture