Steve Ballmer was interviewed in Saturday’s Times. Noted:
Q. What was the lesson learned in Windows Vista? After all, it wasn’t supposed to ship more than five years after Windows XP.
A. No. No, it wasn’t. We tried to re-engineer every piece of Windows in one big bang. That was the original post-Windows XP design philosophy. And it wasn’t misshapen. It wasn’t executed, but it wasn’t misshapen. We said, let’s try to give them a new file system and a new presentation system and a new user interface all at the same time. It’s not like we had them and were just trying to integrate them. We were trying to develop and integrate at the same time. And that was beyond the state of the art.
This is at once an unusually candid and an oddly defensive statement.
Ballmer is saying that, in 2001-2, as Microsoft pondered the next phase of Windows’ evolution post-XP, the company deliberately chose to “re-engineer every piece of Windows in one big bang.” It’s a telling choice of phrase. In the software development world, “big bang” (typically used in “big bang integration”) is used to describe a bet-it-all strategy that involves building lots of parts of a system separately and waiting until the end to hook them up and hope they play nicely together.
So Ballmer is essentially admitting that the “design philosophy” of the new Windows was founded on a risky, widely discredited approach. Then he turns around and says that it wasn’t “misshapen” — twice.
Misshapen? Is this a new buzzword I’ve somehow missed? Did the Times reporters mistranscribe “mistaken”? What is Ballmer talking about?
Then he says, “It wasn’t executed.” Note the passive voice, correct for it: “We didn’t execute it.” Which means, “We didn’t do it.” That’s, you know, obvious, I’d think.
Then Ballmer closes the explanation by declaring that the problem wasn’t one of integration; it was even worse than that — it was that Microsoft, the largest and most successful software company in the world, set out to simultaneously “develop and integrate” new versions of all the core functions of its central product. Now, in 2006, the company understands that this was “beyond the state of the art.” But back in 2001-2, they didn’t see that.
This is a fascinating rationalization. I’m loathe to draw too facile a comparison between the tribulations of a technology company and the drama of global conflict. But here, I think, there’s a clear and illuminating parallel between Microsoft’s hubris in this era and the Bush administration’s overreaching in Iraq — two phenomena that overlap almost precisely on the historical timeline.
And no, of course I don’t mean to suggest that there is any moral equivalence, or that the sad saga of a software product’s delay is in any way an event of equal import to the tragedy of an unnecessary war of choice resulting in hundreds of thousands of deaths. But there are some similarities, too, to wit:
Bush’s team — chests puffed large from its success in invading Afghanistan post-9/11 — ignored conventional wisdom and disregarded expert intelligence and invaded Iraq, only to discover that the effort to control and transform that country was beyond its means.
Gates’ team — surveying a decimated post-dotcom industry landscape as the “sole superpower” of technology — simiarly ignored conventional wisdom and disregarded expert knowledge. Incremental development? Continuous integration? They are for mere mortals. Microsoft, with its mountain of cash and its armies of developers, could bring brute force to bear on the most intractable of large-systems development problems. The company would rip out the guts of all of Windows’ key subsystems and renovate them at the same time — because it was invincible!
The result was predictable. Now a more humbled Microsoft is limping to the finish line with a version of Windows that — whether users find it reat or so-so or terrible — will always be overshadowed by the ambitious claims once made for it. In the context of that falling off, Ballmer’s statement is positively bizarre.
[tags]microsoft, steve ballmer, windows, vista[/tags]
There are no revisions for this post.
I think there are about 30,000 programmers at the Redmond campus. It boggles the mind how that many coders can get anything done that doesn’t duplicate, simulate, or break what others are doing. For many years they coped through specialization. Each programmer got something tiny, like a single Win32 API call, to work on.
Then after XP they pinned the needle the other way, and a rewrite orgy began. It produced some good things. XAML is good. They completely rewrote Window’s TCP/IP stack; which is quite an act of chutzpah, and now it supports multi-core CPUs in useful ways. But overall they ended up suffering, as you say, exactly the sort of problems that a Big Bang approach would bring.
In a way it’s a smart move though. Most people are quite happy with XP. So any next version had to be a long-term, next-generation thing. People will love Vista in 2009.
Don’t forget the other monumental hubris of post-XP Microsoft: The decision to kill the standalone Internet Explorer browser. As if standalone browsers weren’t going to matter anymore. Then came Firefox and Safari, and the rest is history.