"It takes three or four years to make money, but you will see increased productivity during all of those years," said Gartner's Matt Hotle at the Application Integration & Web Services Summit 2004 conference in Los Angeles.
"A culture of reuse will be accepted and service-oriented development of applications dominates," Hotle said. "Code will be well used and developers should be well incented to do so."
COBOL is out, Java, .NET is in
Hotle and his colleague Mike Belchar predicted that 80% of new applications will be built on Java or Microsoft's .NET platform by 2007.
"If I was to look at what's going on, traditional client-server technology is well established and production worthy. It was a low-risk approach in 2001. The risk will rise by 2008 and you will find fewer COBOL and C programs and vendors, and the technology around them will be disappearing," Belchar said. "Established vendors like Oracle are betting on new Java and .NET technology."
Both Hotle and Belchar urged CIOs to develop a SOA transition strategy now. "J2EE and Enterprise Java Beans are not just for leading-edge companies any more," Belchar said.
The researchers described an ROI model enterprises can apply to their particular situations that follows three development methodologies that companies are likely to follow and the revenue timeline likely to occur. Part of that ROI model includes the training costs to move a COBOL, Visual Basic and C++ developers to Java.
Learning new development methodologies
Estimates make it a year-long transition for COBOL developers at a cost of $57,000, all with a 60% chance of failure. VB developers, meanwhile, are looking at a 10-month transition with a $52,000 price tag and a 40% chance of failure. C++ developers are likely to make the smoothest transition: five months long, costing $23,000 with a 5% chance of failure.
"Developers have to learn how to build object-oriented Java components that will be consumed by services," Hotle said.
Managers, meanwhile, must be patient for a return on this investment. Once developers are trained, they will be use one of the following development methodologies:
- New rapid application (NeoRAD): Code-and-go approach, focusing on quick time to market using VB, Java or another fourth-generation language;
- Architected model driven (AMD): Focuses on maximum reuse for long projects, which feature extensive analysis and design. This methodology is structured for phased releases;
- Architected rapid applications development (ARAD): Design patterns from industry sources, like standards groups or vendor consortia, are used and can be customized to conform to J2EE or .NET.
The Gartner researchers said any of these three methodologies will lose money in years one and two, but costs decline annually while benefits rise exponentially. For example, using a mix of any two of these methodologies by year five will return $1.5 million on a $100,000 investment.
Money talks, reuse rocks
"Reuse is not about technology, it's about the behavior of your staff," Belchar said.
Modifying those behaviors and instituting a culture of reuse requires having a good handle on your application inventory and developing best practices that guide staff toward reuse, standards inspections at every level of development, a quality assurance program and incentives.
"In any culture, you've got 10% to 15% of people who want to reuse, people who will go along with any change or innovation," Hotle said. "Then you've got 15% to 25% who will resist any change. It's the people in the middle who will follow. You need to provide incentives to people to get them to do what you want, and dis-incent those who do not."
Even in strict union situations, like in the government, where pay is locked in, managers can change working conditions or performance perks.
"Compensate them by assigning them to perk projects," Hotle said. "Or ding those who don't by denying performance bonuses or not sending them on perk projects. There's always third-shift maintenance."
Hotle added that it's vital to pick the right people to work on projects, notably choose the developer whom others respect most and has bought into code reuse. Others are likely to follow.
"Have formal reviews. You could even develop a loyalty program," Hotle said. "Developers who build code that has reused get money. It's also a way to promote what they do to others."
This was first published in May 2004