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:
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.