It's a shame that with all that money and development talent they are unable to really rally behind a common "meta goal". That really seems to be the problem there to me - they can't even agree on a realistic release date. It seems like Vista is a true product of committee design. So the question then becomes, is it possible for a project of that size *not* to be?
Obviously you have to look at the Linux community and its development process for an example of a project (projects) of similar scale that work very differently. Perhaps there are lessons to be learned there. Part of what makes Linux actually work is that there are a very few common goals that inspire everyone who is involved, and those who are involved are there because they really want to be. There's a lot to be said for personal inspiration and motivation as opposed to simple monetary incentive.
Ultimately it seems like everyone wants some similar things in the basic parts of an OS. So that's the stuff that should really be hammered on for the core. In a way it almost seems like anything that people can't agree on readily should be dropped from the core OS (by which I mean the product that eventually goes on sale). Obviously that's a bit extreme and you wouldn't have much of an OS if you did that, but taking a less "we must include everything by default" approach could be part of the answer to this "uncontrollable" development. Truly modularizing Windows so that the core is small enough to be manageable and the team that works on that core can really make it fast, secure and stable, presenting the other teams only with interface logic to their core systems (in other words get rid of all these interdependencies the article mentions).
That's probably not quite feasible either, but it seems like making the project more manageable is critical. That doesn't necessarily mean *centrally* manageable, it could even mean somehow *self* managing, which in some sense is the way much of the open source community often works. So that's back up to the first points. Common goals and personal inspiration = robust core feature sets. Where open source tends to fail is UI design and consistent presentation. Maybe this is where you lock a couple really good designers in a room and have them just hash everything out...
Wait, I'm just rambling. I have no idea what I'm talking about. But I swear I started with some interesting ideas.
Oh well, I'm probably too hungry to think rationally at the moment.
But, like many here I'm sure, I've had a whole lot of "great" ideas for "the perfect" OS over the years, so it's hard to resist yammering on a bit when a subject like this comes up. Ultimately I think I'm just (once again) disappointed that MS squanders (IMO) their massive resources.
- Oshyan