Supervising the Application-Construction SiteBy Baselinemag | Posted 2005-08-04 Email Print
Building solid, efficient software that runs a business often requires as much management and discipline as erecting an office building.
Sara Garrison, senior vice president of network and open systems at Visa USA, oversees development of software that runs Visa's worldwide retail-payment system, which at peak periods processes 5,000 transactions per second.
She doesn't put much stock in "extreme programming," a free-form approach that emphasizes fast, iterative software development without much up-front planning. For Garrison, the key is to strictly follow detailed, standardized software-development methodologies that have been refined over time.
How detailed? Let's just say that Visa's development guidelines handbook, which includes information for developers on how to describe application functions using common terminology, runs to about 500 pages.
"We build hundreds of applications, and we have to build them to be industrial-strengthalways up and always running," she says. "It's very important that we keep our feet on the ground." At the same time, software isn't static. "Applications are like living organisms," Garrison notes. "They have to live and grow over time."
To manage the process, Garrison and her team of about 400 developers rely on various tools. At a basic level are systems from IBM's Rational group that track different versions of an application and can show exactly what's changed in it. Above that are tools from Rational and other vendors that use the Unified Modeling Language, an industry specification for defining an application's structure and behavior.
Garrison says that by sticking to such standards and methodologies, Visa has been able to reuse more code it has already developed. For example, her group found it could reuse 47% of the code from one of Visa's messaging applications that transfers data during the transaction-approval processshaving weeks off one of its recent projects. As she puts it: "We're striving to make all our applications reusable."
Clearly, the need for companies large and small to create their own home-cooked code isn't going away.
"There's no off-the-shelf product that does exactly what we need," says Ben Hull, senior programmer for Comtrak Logistics. The Memphis, Tenn., company operates a fleet of 600 trucks that handle "intermodal drayage," the moving of cargo boxes to and from railroad depots.
Using tools from Borland Software, Comtrak wrote its own programs for dispatching and tracking those drivers. Nearly all of Comtrak's competitors are smaller, regional playerswith an average of 25 trucksand almost none of them has software to track their trucks. "A lot of those folks are still doing it on paper," Hull says. "We've gotten critical mass to where we're able to invest in I.T."
Especially for larger organizations, software that can manage the entire application-development process is critical. Without it, enforcing standard design methodologies, testing software quality or tracking a project's status becomes exceedingly complex. Rational, which IBM bought two years ago, has been the industry leader in this market; now Microsoft and Borland, which have been better known for their code-creation tools, are expanding their offerings to manage the entire process.
The main purpose of application-development management tools has been (and still is) to build reliable software that does what a business needs it to do. But a new requirement has emerged: Corporations need to document how their software has changed, in order to comply with regulations like the Sarbanes-Oxley Act, which mandates that businesses track who accesses financial reporting systems and what's modified.
"Now there's a business risk that touches software development very directly," says Melissa Webster, program director at research firm IDC.
The U.S. arm of drug maker Novartis uses IBM's Rational software change-management tools to track all of the code created by 800 developers around the worldincluding India, Japan and Basel, Switzerlandthat runs its SAS statistical-analysis programs for 350 clinical trials. That detailed information is turned over to the U.S. Food and Drug Administration to be audited when a new drug is undergoing approval.
The task would be impossible without an automated way to record changes to the code, according to Elizabeth Honig, application manager at Novartis. "With this system, we can have 20 people working on the code at the same time," she says.
Automating the development process also helps managers stay on top of their projects, and can speed up development cycles. GMAC Commercial Mortgage, a division of General Motors based in Horsham, Pa., plans to use Microsoft's Visual Studio 2005 Team System (to be released this fall) to automate some workflow among its 50 developers. For example, once a programmer has checked in a piece of software, the system will immediately notify a testing engineer that it's ready for analysis.