If Not Ray, Who?

What if Microsoft had picked a different Chief Software Architect (CSA) to succeed Bill Gates? Word is they almost did. Yep, a full two years before getting cozy with Ray Ozzie. Indeed, sources said Bill Gates pursued IBM's Grady Booch to take the job as CSA at Microsoft, but Booch apparently turned the offer down and accepted a gig with IBM, which acquired Rational around the time of Microsoft's pursuit of Booch. Microsoft later admitted to looking at acquiring Rational itself, but passed on the company.

I was aware that Microsoft, specifically Gates, had pursued Booch for his modeling expertise but I didn't know the position Gates is said to have offered Booch. According to sources, that position was the CSA role that Ray Ozzie now holds. Microsoft's effort to transition Gates out of the CSA role had been a long-running concern at the top rung of the company after Gates decided his years were numbered. Both Gates and Microsoft CEO Steve Ballmer have said for years that they have long wanted Ozzie to work at Microsoft. And Microsoft acquired Ozzie's company, Groove Networks, in the spring of 2005 -- some say primarily to get Ozzie onboard. The threat from Google had become clear and Gates knew Microsoft needed a services story and fast. Ozzie was the go-to guy for that. And Ozzie assumed the role of Microsoft CSA in June of 2006.

However, back in 2003, Gates aggressively pledged Microsoft's support for modeling, one of Booch's pet areas as co-author of the Unified Modeling Language (UML). The Google threat was not so clear back then and perhaps Gates had a different set of criteria for choosing his technical successor. IBM completed its acquisition of Rational in February of 2003 and, according to sources, that is when Gates swooped in and began talking with Booch about coming to Microsoft. In those inital months of uncertainty, moving from an independent toolmaker for enterprise and complex systems developers to a mega-corporation like IBM was lkely to be a little irksome for the geeky Booch. Many Rational long-timers bailed rather than join IBM. Booch stayed on and quickly became an IBM fellow and later chief scientist for software engineering in IBM Research. Booch is one of the software development world's luninaries. Don't let the long hair fool you. While he might give the appearance of a free-spirtied hippie, Booch graduated from the U.S. Airforce Academy and emerged as an officer.

But if Microsoft bought Groove for Ozzie, why not buy Rational for Booch when they had the chance? Well, there was no guarantee he'd want to stay after an acquisition. And turns out Microsoft decided it didn't need Rational -- just some of its architects -- to come up with an enterprise-focused toolset: Visual Studio Team System (VSTS). And modeling is the central force behind Microsoft's "Oslo" initiative and plans to deliver a new declarative language. Some of these same former Rational people are working on parts of Oslo.

Yet, in 2003 Microsoft did still need some enterprise credibility and vision. That's where Booch could have helped. And the prevailing thought was that Microsoft had to go outside of the company to find someone with enough credibility to disrupt the contemporary Microsoft thinking and deal with tensions between various key groups such as Office and Windows.

If Microsoft had hired Booch what could they expect? What might be different today? Well, perhaps, a little less of a consumer focus on some things like the Live Mesh strategy. More overall enterprise focus. Certainly more of a modeling-centric model than a sync-centric one as is evidenced by Ozzie's moves thus far.

Microsoft has not yet responded to requests for comment on this issue, and Booch is not talking.

I remember a VSLive conference in San Francisco in 2002 when Booch made an appearance during Gates' keynote where Microsoft formally launched Visual Studio .Net. Booch demonstrated a Rational add-on product for developers to do modeling and design on .Net. Ironically, next week in Orlando Gates and Booch will deliver dueling keynote speeches -- Gates at Microsoft's TechEd Developer conference and Booch at IBM's Rational Software Development Conference.

One interesting thing to me is how Microsoft seems to keep coming to IBM for enterprise credibility. Microsoft came after Booch (albeit early in his IBM days), hired Ozzie (formerly of Lotus prior to Groove), hired Don Ferguson to lead much of the Oslo technology effort, and has hired countless other IBM software architects and developers to focus on enterprise tooling and database technology.

I want to make it plain that this post is not about criticizing Ray Ozzie. I have much respect for the man. But the uncovered bit of history about Booch brought up the question: If not Ray, who? Who could really be expected to come in and truly take the reins from the guy who started it all? Some of my colleagues in the press seem intent on saying Ozzie is "not the guy." But if he's not, who is?

Who would you choose? Who would you build around? If you had to build a winning basketball team would you choose Dwyane Wade, LeBron James or Kobe Bryant? For football would you choose Peyton Manning, Tom Brady or a young Brett Favre? The point is you want a winner. And you're going to win with any of those guys.

Same here. But if you had to choose Microsoft's chief software architect who would you pick? I'm taking a poll here. Would it be Gates? That's easy, but Gates is done. Ozzie's easy, too, because he has the job. But who else would you even consider?: Grady Booch? How about Adam Bosworth, Craig Mundie, Eric Rudder, Bjarne Stroustrup, or James Gosling? Who? I would love to hear your thoughts.