Thursday, July 5, 2007

Reuse of code is the key to keeping IBM from being a 500,000-employee company

Nice piece in the The New York Times today about how IBM is again re-inventing itself as the "blended IT provider." Those are my words. IBM is seeking the means to blend talents, technologies, locations, approaches, people-process, and -- above all -- applications and services.

After attending a few IBM conferences over the past two months, I have a pretty good sense of what the new IBM is all about. I think they have a strong and correct vision, that success nonetheless depends on extremely good global execution across many disciplines, that time is short, and that it will be quite hard for nearly any other IT provider to emulate IBM if it succeeds and develops a sizable lead in crucial markets like health care.

What The Times story did not address is the essential role that SOA and code reuse will play in this vision and its execution. IBM and most large IT providers (and users!) recognize: They can not just throw more people at the problem (even if they could get them). Enterprises need to rush to find the right blend of wetware and flexible software services, and then aggressively reuse the software.

As IT solutions become highly customized and depend increasingly on deep knowledge of industry verticals and individual companies -- "people as solution" just won't scale. Any and all technology options should be on the table. Costs should be managed for long term ROI. Locations of the assorted workers and the IT itself should be as flexible as possible, but not remote nor on-site as default.

Once these productivity adjustments are in full swing, the deciding factors for success will be about how smartly software components and networked application and data services are defined, exploited, leveraged and extended. The 80-20 rule will have great bearing on the efficiencies. In my interpretation for this blog, the 80-20 rule holds that 80 percent of the cost and labor comes from the 20 percent of the applications requiring the most customization. And that's true even if 80 percent of the applications are crafted from past services, shrink-wrapped precedents and stock components.

In highly customized development, however, reuse percentages start out low -- due to the high degree of specific requirements and unique characteristics of the tasks at hand. For vertical industry custom development, it may be the 50-50 rule (half reuse and half fully custom) at best for some time. Costs will be high. But those IT providers and outsourcers willing to get in first and learn, that share the knowledge acquisitions risk with the clients will gain significant long-term advantage.

I can see why IBM is buying back so much of its stock.

That's because those IT providers that can boost the percentage of reuse closer to 80 percent -- even on highly vertical and specific custom projects -- to be blunt, win. As IBM, SAP, Oracle, Microsoft and HP roll up their sleeves and get their people deeply into these business-specific accounts, they will come away from each encounter richer. They will be richer in understanding the business, the industry, the problems and discrete solutions -- but they will also be richer by walking away with components and services germane to that business problem/solution set, ones that will be easily reused in the next accounts (anywhere on Earth).

The providers can also apply these components to creating on-demand applications and SaaS services for the potentially larger SMB markets that they may wish to serve, in highly virtualized and account-specific fashion. That recurring revenue may make up for the investment period in sharing risk inside those larger vertical industries. Lessons learned on-demand can be applied back to the larger enterprises. And so on.

The growing library of code and services assets that blossoms for these early-in blended IT providers will assuage the need to scale the people over time. Expertise and experience on a granular, "long tail" basis coupled with highly efficient general computing fabric will be the next differentiating advantage in IT and outsourcing. Reuse will solve both the people problem and the business model problem. This, incidentally, has SOA written all over it. Grid and utility computing with myriad hosting options also supports this vision quite well. Get it?

Lastly, who controls and owns the libraries of business execution knowledge is a huge issue. Individual companies should and will want to own their business logic, even patent or protect it legally. They may want their blended IT provider to help them develop and create this intellectual property, and remain assured that the client always owns it. None of this "my IP" popping up in China business, either.

There will be tension between what the blended IT provider owns and what they client business owns. Knowing where the demarcation point is that separates the provider's intellectual property from the client's will be an area for especially careful consideration -- as early in the project as possible. IT providers and clients will need to partner more than tussle. IBM get this and is already doing "play nice" vendor dance. There are still some steps to learn here for Oracle, Microsoft and SAP.

These boundary and ownership issues will be worked out such that the businesses can keep the business logic and innovation jewels (and compete well by them for a long time), while also allowing the IT provider to take away enough knowledge and code assets to make its initially costly, people-laden work worth the slog. An amenable bridging of these concerns will ultimately lower costs and speed of execution for all.

In those areas -- large and varied they will be -- where ownership and control are hard to agree upon ... open source licenses on the services and applications within the boundary zone of ownership makes great sense. It will be hard to draw a fine line between client assets and provider assets, so install a mutually beneficial grey area of open source "ownership" between them. That's why developments like GPL v3 are so important. Open source will apply to applications, components, and services far more importantly than platforms and runtimes in the future.

In this "blended IT provider" environment, the providers that can be trusted to leave the jewels alone may end up getting the better spoils of general reuse efficiency. And therefore become the low-cost, high-productivity provider in myriad specialized field (what makes you special?), and energize their own global partner ecologies, to boot.

Yes, there is indeed a new brass ring in the global IT business, and IBM has its eye on it.