The Microsoft Vista Development Process

This morning was glued to this article in the Wall Street Journal — Microsoft Windows Officially Broken — about how Microsoft basically re-wrote Longhorn last year and re-built the internal Windows development process that led to the Vista beta. The article is fascinating and filled with some pretty honest quotes from Microsoft executives Like this one:

And Microsoft’s culture was facing a new threat. The mass of patches and agglomerations that made up Windows turned it into an easy target for viruses and other Web-based attacks. Mr. Allchin had to divert top engineers into the effort to fix security problems in existing versions of Windows. “The ship was just crashing to the ground,” Mr. Allchin says.

Crashing to the ground? Wow. Assuming that’s an accurate quote, it’s rather extraordinary, don’t you think? I mean, coming from Allchin? We’ve also had to admit some mistakes the last couple of years around here (I’m happy we did), but that crashing image is particularly visceral.

In general, I had just assumed that Microsoft had a more organized way of building Windows since the system is so big and complex. I based my assumption on what I have learned from working with the Solaris engineering team on OpenSolaris. On day one of my job a year an a half ago I learned two things: (1) that the Solaris engineers are extremely business and customer focused and (2) that the Solaris engineers have an extensive development process for building their operating system. It’s not perfect, certainly, but it’s a fairly sophisticated process from which our customers benefit since it produces highly scalable and secure enterprise software. I didn’t ask anyone and no one told me about all this when I joined the team, but it pervades absolutely every conversation you have with these guys. I thought to myself, well, Microsoft must have something similar, yes? I never asked. Actually, who would I ask, anyway? I just assumed. Well, I guess they didn’t. Or more accurately, what they did have was broken and undermining the integrity of Longhorn. So, I guess last year they tossed out a bunch of code, hired some process guys, built a better development system, started coding all over, and the Vista beta is what resulted from that all that. Scoble says that the Windows engineers didn’t start completely over — as is suggested in the article — but instead they started with the Windows Server 2003’s codebase. Regardless. It’s still very cool — from an engineering, management, and cultural perspective. It must have been quite a year in the Windows engineering hallways, eh? I say that with a lot of respect because I see the complexities of what we’re doing here. Our processes are good, sure, but there are areas where they can be improved as well.

Solaris 10 is already out there, so you can see what results from great engineers working a solid process; Solaris Express gives customers access to the very latest builds of Solaris as the engineers are building (we don’t wait years to do one big hairy beta program, we do betas constantly); and OpenSolaris is opening the code and development process (note: much more to come shortly on the dev process and governance). I’m not sure which is more complex, to be honest — what Microsoft did by putting a process in place and massively re-coding, or what we are doing by opening our code and updating and opening our already extensive processes for community contributions while normal coding operations continue.


2 thoughts on “The Microsoft Vista Development Process

  1. It is no brainer to realize that the kernel is not even fulfilling its primary responsibility of protecting itself from poorly written applications. Hope they do it right this time with all the changes (mentioned in the article).

    And of course Sun has to keep doing the good work, and try to grab as many opportunities as it can, by showing the high quality work and by exposing the poor quality of competitive products, at the same time. It is business after all ..


  2. What Sun is doing with Solaris Express is revolutionary. No other company has even come close to this process.
    I read Bryan Cantrill’s blog entry where he was doing a demo which went wrong with a core dump. And in that entry he states that you guys try to give production quality code in every snapshot…
    That takes guts to demo your snapshots to customers
    Forget about being complex or simple. Progress is made in small steps. Your way is right, that is all that matters.


Comments are closed.