Microsoft product manager Philip Su talks about why Vista is so late.
- Windows code is too complicated. It’s not the components themselves, it’s their interdependencies. An architectural diagram of Windows would suggest there are more than 50 dependency layers (never mind that there also exist circular dependencies). After working in Windows for five years, you understand only, say, two of them. Add to this the fact that building Windows on a dual-proc dev box takes nearly 24 hours, and you’ll be slow enough to drive Miss Daisy.
- Windows process has gone thermonuclear. Imagine each little email you send asking someone else to fill out a spreadsheet, comment on a report, sign off on a decision – is a little neutron shooting about in space. Your innocent-seeming little neutron now causes your heretofore mostly-harmless neighbors to release neutrons of their own. Now imagine there are 9000 of you, all jammed into a tight little space called Redmond. It’s Windows Gone Thermonuclear, a phenomenon by which process engenders further process, eventually becoming a self-sustaining buzz of fervent destructive activity.
If I’m reading correctly, Windows is starting to suffer from bloat—not only in its codebase, which has gotten so huge as to be unmanageable and beyond the grasp of many of its developers, but the company itself is so mammoth and overburdened with bureaucratic strata that it begins to resemble not The Company as it once did, but something out of a Dilbert cartoon. Read Su’s description of the managers, blithely ignoring the protestations of developers and project leaders with a haughty “Just get it done,” as if enough insistence will overcome any problems in the code.
Of course, Microsoft has the unfortunate position have having to build backwards compatibility into everything that they do. They’re still under fire for stopping support for any operating systems with a DOS-based kernel (declining to issue a patch for a recent severe security vulnerability for 98/ME). I imagine that if developers had carte blanche, they’d be done by now, but they’re paying the price for controlling 9X% of the desktop market.
I think we all knew, somewhere, that such a lofty position was untenable, and I think Microsoft is finally starting to feel the heat—certainly, it’s no death spiral, but with *nix attacking them on the enterprise and OS X and Linux attacking them on the desktop (albeit less successfully), they have to rush to develop a product that is full of the latest whizbang features, but that still plays nice with all the whizbangless stuff they’ve made before. Now they know what it’s like for web developers, having to support IE.
How ever will they make it work so well when Bill stops working at the ShitCodeFarm full time?