Custom code is alive and well and playing a strategic role at many companies
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.
AXA Financial is layering its systems with internally developed capabilities, says Wollin, managing director of E-business and emerging technology
Photo by Sacha Lecca
AXA Financial Inc., a diversified financial-services company, already expects 10% productivity gains each year from its staff of more than 300 developers. Even so, there's opportunity for greater improvement through more carefully coordinated development activities, says David Wollin, managing director of E-business and emerging technology. "That's a big and important thing," he says. "You can improve the way you collect and organize business requirements. That's got to save us a ton of time."
With an established software infrastructure that includes PeopleSoft Inc.'s general-ledger and human-resources applications, the emphasis now is on layering AXA Financial's systems with new, internally developed capabilities, Wollin says. One project under way will let customers view quarterly investment statements online. The company's programmers write in C++, Cobol, Java, and other languages. Tools in use include IBM's Rational Rose for business modeling, Borland's JBuilder for code generation, and Mercury Interactive's testing software for quality control. Wollin plans to use Microsoft's Project 2003 to improve the way he tracks the progress and costs of development projects.
Key to making it all work, Wollin says, is regular interaction with the business units that will use the new capabilities. In fact, usability, a project's timing, and business-process alignment all need to be determined by close collaboration with business units, experts say. "The hard part of the exercise is mapping your business process to the technology," says Eric Rudder, senior VP of Microsoft's tools and platforms division. "None of these technologies is a substitute for good thinking."
But technological advances certainly help. The London Stock Exchange is increasingly using Microsoft's C# language in lieu of Cobol, a decades-old language still widely used on mainframes. Ian Homan, head of technology for the exchange, says the shift is possible because the choice in application-development tools can now be made independently of hardware platform and operating system. In the past, he says, "the hardware would choose the operating system, the operating system would choose the development language, and I would have no choice whatsoever."
Languages such as C#, Java, and Microsoft's Visual Basic .Net are faster, easier, and safer to use than older languages, Homan says. That's because the more contemporary languages avoid or mask some of the complexities (such as pointers, threads, and extended template libraries) of earlier languages. "The testing is a lot easier, and if the applications do start to go wrong, you get a lot more predictable failure," he says.
The cost benefits are also compelling. Homan estimates programmers can generate code using C# at half the cost of Cobol. And, because newer languages unhitch programmers from mainframes and other proprietary platforms, money saved on hardware gets factored into total cost of ownership. Moving from a proprietary hardware platform that requires an older programming language to Intel-based servers that allow for newer development tools can pay for itself in three years, Homan estimates. The exchange is assessing whether the economics justify moving its trading operations from the Hewlett-Packard Himalaya systems that require Cobol programming.
Meanwhile, the London Stock Exchange is writing most new applications using Microsoft's Visual Studio .Net 2003 development system, the C# language, and the .Net Framework in Windows Server 2003. In April, after 10 months of design, development, and testing, the exchange used that combination of Microsoft technologies to launch an application that delivers real-time market information to traders and other customers. The exchange's programming work is done by 100 to 150 engineers who are employees of Accenture; the number fluctuates depending on need.
Building A Mobile Business MindsetAmong 688 respondents, 46% have deployed mobile apps, with an additional 24% planning to in the next year. Soon all apps will look like mobile apps – and it's past time for those with no plans to get cracking.