Aligning Business Goals, IT Projects
At Java Pro Live!, IBM's Lee Nackman spoke of the convergence of Java, Eclipse, and SOA and how aligning business goals with IT projects reflects the collapse of communication barriers worldwide.
T is moving from a technology-driven world to a business-driven world, according to Dr. Lee R. Nackman, vice president for product development in Rational, at IBM Rational. Nackman spoke to a large gathering of developers and architects on September 13 at the second Java Pro Live! conference in San Diego, Calif. The convergence of Java, Eclipse, and the world of SOA in the IT industry, Nackman said, in many ways corresponds with the convergence of communications that is breaking down symbolic barriers to create a "flatter" world, which is giving people the opportunity make greater strides in commerce.
Nackman's keynote address began by taking look at the business environment and what he argued is a trend in the way organizations are making decisions about IT projects. Using a comparison of data between 1999 and 2002, Nackman pointed out a shift in which more decisions on IT projects are being made jointly by business and IT executives, reflecting what he sees as an evolution of Java, the effect of Eclipse, and how these technologies fit together in the world of SOA. Nackman said that anecdotal evidence showed this trend to be continuing in 2005, clearly demonstrating that "business folks are driving more decisions about IT projects."
In support of the theme of his discussion, Nackman cited a book by Thomas Friedman published recently, The World Is Flat: A Brief History of the Twenty-First Century
(Farrar, Straus, and Giroux, 2005), that Nackman said does a great job of articulating what's going on in the world with the convergence of almost-free communications that are breaking down a variety of barriers. For instance, the tearing down of the Berlin Wall in 1989 was significant as a symbol of increasing freedom around the world, and the 1995 IPO of Netscape symbolized the start of the Web world, and Nackman cited the discussion of these events in Friedman's book as being illustrative of the world becoming a flatter place where there are opportunities for people worldwide to take important roles in what's happening in the business world and commerce.
"You see the movement of work from one place to another very easily because of the communications and because of the Internet infrastructure. You see companies building highly automated supply chains that go around the world. Look at what Wal-Mart and look at what Dell have done in terms of highly integrated supply chains around the world and what a dramatic effect it has on their ability to deliver products at a low price and with a great deal of reliability," Nackman said.
Nackman said that the concept that Friedman is talking about [in his book] is how many different things are converging together and creating a rapid change in what's going on in the world, which punctuated the theme of Nackman's keynote discussion: how a number of different threads are coming together at one time and bringing about a great deal of change that is, for the most part, change for the better.
Acknowledging that many IT projects fail in one way or another because they're over budget, or they don't work, Nackman said that we nevertheless are beginning to see certain patterns of successful projects. He stated several considerations that characterize such patterns.
"First of all, it's really important that you align the business goals and the technology. I should actually put it the other way; the business goals ought to drive the technology decisions, not the other way around," he said. A second important point is incremental transformation, and thirdly Nackman said we're starting to see that you need to architect your solutions in a service-oriented way rather than building silos and big, monolithic applications. Building big monolithic applications, Nackman said, means you don't have the flexibility to make the kind of changes to achieve successful projects.
Nackman illustrated the need for incremental transformation with a slide showing an example of an architecture diagram that was virtually unreadable because of its complexity. "People build up enormously complicated architectures for the way they run their businesses, and you can't go into such an organization and say we've got this great solution for you, and all you have to do is throw all this stuff away and start over and do it our way," Nackman said. "People just cannot do that; they cannot afford to do it. They can't take the risk because their business has to keep running, and this is why you need to be incremental. You need to be able to figure out ways to take a part [of this diagram], and change its architecture to make some improvements that provide real business value in a short period of time. Then you can get the support of the business executives to move ahead with some of the technology things that will pay off for the business."
At this point, Nackman's discussion turned to the topic of service-oriented architecture (SOA) and how it can have a different meaning for different members of an organization. He said that for the business executive or for the organizational consultant, SOA means some set of services that the business wants to provide: "It's those little boxes that I move from one place to another." For an architect it means something different. "It's a style of architecting systems where we talk about services, and interfaces to services, and descriptions of services, and the various ways to put them together," Nackman said. Services can be coupled together in a loose, dynamic way, which provides the kinds of contexts for being able to reuse services in multiple ways.
Nackman said that at a more detailed, developer level, SOA is a particular programming model. "It's standards for how you describe what services bring in, and what services give out in a standard like WSDL. What an SOA is depends on who you're talking to," he said.
"This is something that's very close to business. You think about steps in terms of a business process: how you take various steps and chain them together with some decision-making capability to implement a business process, something like a supply chain or creating a new customer account. They get implemented by composing together a number of services, and those services are implemented in terms of a layer of components. Those components might in fact reuse some existing technology.
"We tend to want to think of something in a very clean sort of way, that I'm going to implement a service in Java and I'm going to provide a WSDL interface to it and it's all nice new code. But in reality a lot of customersand I'll use an IBM examplehave a mainframe application that does a lot using CICS [Customer Information Control System]. Eighty percent of the world's data is still on mainframes. So one way of implementing a service is to wrap something like a CICS transaction to make it appear to be a service to fit into an SOA. You have all these different levels of looking at services," Nackman said.
Same Old, Same Old
Nackman pointed out that people who have had an interest in the IT industry for many years have been hearing about these revolutionizing concepts before. "Didn't we talk about doing this with CORBA? It's the same old story, right? Reuse, componentize, and so on," Nackman said. "So people are going to say, well, what's different this time, why are you telling us this, and why is it going to work this time when you guys in the IT world have failed to deliver in the past?"
The answer, Nackman said, comprises several points, beginning with the alignment of business and technology and then granularity. "Because of what's happening in this flattening world, people really do want the flexibility to move work around at a service kind of level. When I'm talking about services, I'm not talking about a Java class and reusing a Java class, I'm talking about reusing something more at a business process level. Whenever you reuse something, there's a cost and there's a risk. There's a cost in understanding the thing that you're going to reuse. There's a risk that it doesn't really do what you want, and you have to depend on something else. You only get enough benefit to overcome the cost and the risk if the service that's provided is big enough and hard enough to build. And I think as we talk about services in this world, where technologists were talking about the same ideas of the SOA world, we're talking about big enough services that the benefits outweigh the costs and risks of reuse."
Another point, Nackman said, is flexibility. Systems are being put together with enterprise service buses where the services aren't hard-wired together, and doing so provides the flexibility to respond when the business goals dictate changing the structure of the system to meet the changing demands of the business process, rendering the alignment of business goals and technology crucial.
Standards that people accept are another important facet to delivering service-oriented processes. Nackman said that standards have become so important, and this has made a big difference between now and a decade or 15 years ago. He said it's important that we have standards that are not just standards on paper. "People are really starting to adhere to the various standards. If you look at the basis for SOA you see a whole bunch of standards. There's the Web services standards, there's standards for service descriptions, there's standards for how we describe data in XML, there's standards at the network protocol level, and then closer to the business there are actually standards for the semantics of various kinds of data that flow in cross-company networks of services."
Nackman also pointed out the importance of the role of open source. "I think that open source is accelerating our progress for a couple of reasons. One of them is that open source is a source, if you will, of disruptive innovation. Open source projects are coming along that are making dramatic changes in the technical context of our world. They're also coming along and they're changing the business models. Companies, including my company, struggle with what business model we use around open source because we see the power of the technical changes that open source is causing to happen. And this also connects back to standards because one of the things that I see happening is that open source is putting pressure on standards bodies to evolve standards more quickly, so that standards are not just documents that sit on somebody's shelves but they're backed up by code that people use."
Nackman also spent some time talking about the creation of ecosystems around open source products, namely, the ecosystems that have been created by Eclipse. He said that Eclipse is just an example, and there are other open source projects that are also creating significant ecosystems. He cited several ecosystem examples, ranging from people writing books that teach others about the technology, to people at universities learning about and using these technologies, to companies that are emerging to do training, support, integration, and so on.
These ecosystems represent a consolidation, according to Nackman, and he said that companies trying to do things outside some of the ecosystems that the open source projects are creating are struggling because the open source projects have so much momentum behind them.