IWETHEY v. 0.3.0 | TODO
1,095 registered users | 1 active user | 1 LpH | Statistics
Login | Create New User
IWETHEY Banner

Welcome to IWETHEY!

New Undelete!

The World As Best As I Remember It

\r\n

Broken Windows Theory

\r\n

Vista. The term stirs the imagination to conceive of beautiful possibilities just around the corner. And "just around the\r\ncorner" is what Windows Vista has been, and has remained, for the past two years. In this time, Vista has suffered a series of\r\nhigh-profile delays, including most recently the announcement that it would be delayed until 2007. The largest software\r\nproject in mankind's history now threatens to also be the longest.

\r\n

Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and\r\nwhite. "Vista is a bloated piece of crap," my furry little penguine would opine, "written by the bumbling serfs of an\r\nevil capitalistic megalomaniac." But that'd be dead wrong. The truth is far more nuanced than that. Deeper than that.\r\nMore subtle than that.

\r\n

I managed developer teams in Windows for five years, and have only begun to reflect on the experience now that I have recently\r\nswitched teams. Through a series of conversations with other leaders that have similarly left The Collective, several root\r\ncauses have emerged as lasting characterizations of what's really wrong in The Empire.

\r\n

Useless Trivia Sidebar: Broken Windows Theory

\r\n

The original [link|http://en.wikipedia.org/wiki/Broken_windows_theory|broken windows theory], first coined by Wilson and Kelling, describes the purported phenomenon whereby an\r\nabandoned warehouse with no broken windows is mostly left alone, but as soon as one window is broken, it acts as an open invitation\r\nto passers-by that it's open-season for rock-throwing.

\r\n

This was generally accepted for many years as being true, but is recently coming [link|http://www.washingtonpost.com/wp-dyn/articles/A46381-2005Jan29.html?referrer=emailarticle|under fire] [link|http://www.washingtonpost.com/wp-dyn/articles/A46381-2005Jan29.html?referrer=emailarticle|]from [link|http://en.wikipedia.org/wiki/Broken_windows_theory#Critics_of_the_theory|different angles]. We won't delve into those here,\r\nsince we mostly commandeered the phrase because it sounded good, not because it actually has anything at all to do with our subject\r\nmatter.

\r\n

The Usual Suspects

\r\n

Ask any developer in Windows why Vista is plagued by delays, and they'll say that the code is way too complicated, and\r\nthat the pace of coding has been tremendously slowed down by overbearing process. These claims have already been covered in\r\nother popular literature. A quick recap for those of you just joining the broadcast:

\r\n
    \r\n
  • Windows code is too complicated. It's not the components themselves, it's their interdependencies. An architectural\r\ndiagram of Windows would suggest there are more than 50 dependency layers (never mind that there also exist circular\r\ndependencies). After working in Windows for five years, you understand only, say, two of them. Add to this the fact that building\r\nWindows on a dual-proc dev box takes nearly 24 hours, and you'll be slow enough to drive Miss Daisy.
  • \r\n
  • Windows process has gone thermonuclear. Imagine each little email you send asking someone else to fill out a\r\nspreadsheet, comment on a report, sign off on a decision - is a little neutron shooting about in space. Your\r\ninnocent-seeming little neutron now causes your heretofore mostly-harmless neighbors to release neutrons of their own. Now\r\nimagine there are 9000 of you, all jammed into a tight little space called Redmond. It's Windows Gone Thermonuclear, a\r\nphenomenon by which process engenders further process, eventually becoming a self-sustaining buzz of fervent destructive\r\nactivity.
  • \r\n
\r\n

Let's see if, quantitatively, there's any truth to the perception that the code velocity (net lines shipped per developer-year)\r\nof Windows has slowed, or is slow relative to the industry. Vista is said to have over 50 million lines of code, whereas XP\r\nwas said to have around 40 million. There are about two thousand software developers in Windows today. Assuming there are 5\r\nyears between when XP shipped and when Vista ships, those quick on the draw with calculators will discover that, on average,\r\nthe typical Windows developer has produced one thousand new lines of shipped code per year during Vista. Only a thousand lines a\r\nyear. (Yes, developers don't just write new code, they also fix old code. Yes, some of those Windows developers were partly\r\nbusy shipping 64-bit XP. Yes, many of them also worked on hotfixes. Work with me here.)

\r\n

Lest those of you who wrote 5,000 lines of code last weekend pass a kidney stone at the thought of Windows developers\r\nwriting only a thousand lines of code a year, realize that the average software developer in the US only produces around (brace\r\nyourself) 6200 lines a year. So Windows is in bad shape - but only by a constant, not by an order of magnitude. And if it\r\nmakes you feel any better, realize that the average US developer has fallen in KLOC productivity since 1999, when they\r\nproduced about 9000 lines a year. So Windows isn't alone in this.

\r\n

The oft-cited, oft-watercooler-discussed dual phenomenon of Windows code complexity and Windows process burden seem to\r\nhave dramatically affected its overall code velocity. But code can be simplified and re-architected (and is indeed being done so by\r\na collection of veteran architects in Windows, none of whom, incidentally, look anything like Colonel Sanders). Process can\r\nbe streamlined where inefficient, eliminated where unnecessary.

\r\n

But that's not where it ends. There are deeper causes of Windows' propensity to slippage.

\r\n

Cultured to Slip

\r\n

Deep in the bowels of Windows, there remains the whiff of a bygone culture of belittlement and aggression. Windows\r\ncan be a scary place to tell the truth.

\r\n

When a vice president in Windows asks you whether your team will ship on time, they might well have asked you whether they\r\nlook fat in their new Armani suit. The answer to the question is deeply meaningful to them. It's certainly true in some\r\nsense that they genuinely want to know. But in a very important other sense, in a sense that you'll come to regret night\r\nafter night if you get it wrong, there's really only one answer you can give.

\r\n

After months of hearing of how a certain influential team in Windows was going to cause the Vista release to slip, I, full of\r\nabstract self-righteous misgivings as a stockholder, had at last the chance to speak with two of the team's key managers,\r\nasking them how they could be so, please-excuse-the-term, I-don't-mean-its-value-laden-connotation, ignorant as to proper\r\nestimation of software schedules. Turns out they're actually great project managers. They knew months in advance that\r\nthe schedule would never work. So they told their VP. And he, possibly influenced by one too many instances where engineering\r\nre-routes power to the warp core, thus completing the heretofore impossible six-hour task in a mere three, summarily\r\nsent the managers back to "figure out how to make it work." The managers re-estimated, nipped and tucked, liposuctioned, did\r\neverything short of a lobotomy - and still did not have a schedule that fit. The VP was not pleased. "You're smart people. Find a\r\nway!" This went back and forth for weeks, whereupon the intrepid managers finally understood how to get past the dilemma. They\r\nsimply stopped telling the truth. "Sure, everything fits. We cut and cut, and here we are. Vista by August or bust. You got it,\r\nboss."

\r\n

Every once in a while, Truth still pipes up in meetings. When this happens, more often than not, Truth is simply bent over an\r\nauthoritative knee and soundly spanked into silence.

\r\n

The Joy of Cooking

\r\n

Bundled with a tendency towards truth-intolerance, Windows also sometimes struggles with poor organizational\r\ndecision-making. Good news is that the senior leaders already know this and have been taking active steps to change the\r\nsituation.

\r\n

There are too many cooks in the kitchen. Too many vice presidents, in reporting structures too narrow. When I was in\r\nWindows, I reported to Alec, who reported to Peter, to Bill, Rick, Will, Jim, Steve, and Bill. Remember that there were two layers\r\nof people under me as well, making a total path depth of 11 people from Bill Gates down to any developer on my team.

\r\n

This isn't necessarily bad, except sometimes the cooks [link|http://en.wikipedia.org/wiki/Flash_mob|flash-mob] one\r\ncorner of the kitchen. I once sat in a schedule review meeting with at least six VPs and ten general managers. When that\r\nmany people have a say, things get confusing. Not to mention, since so many bosses are in the room, there are often negotiations\r\nbetween project managers prior to such meetings to make sure that no one ends up looking bad. "Bob, I'm giving you a\r\nheads-up that I'm going to say that your team's component, which we depend on, was late." "That's fine, Sandy, but please be clear\r\nthat the unforeseen delays were caused by a third party, not my team."

\r\n

Micromanagement, though not pervasive, is nevertheless evident. Senior vice presidents sometimes review UI designs of individual\r\nfeatures, a nod to Steve Jobs that would in better days have betokened a true honor but for its randomizing effects. Give me\r\na [link|http://www.catb.org/%7Eesr/writings/cathedral-bazaar/cathedral-bazaar/|cathedral], give me a [link|http://www.catb.org/%7Eesr/writings/cathedral-bazaar/cathedral-bazaar/|bazaar] - really, either would be great. Just not this\r\nmiddle world in which some decisions are made freely while others are made by edict, with no apparent logic separating each\r\nfrom the other but the seeming curiosity of someone in charge.

\r\n

In general, Windows suffers from a proclivity for action control, not results control. Instead of clearly stating desired\r\noutcomes, there's a penchant for telling people exactly what steps they must take. It's creating a generation of McDevs, few\r\nof whom enjoy the monotony. (For more on action control vs. results control, read Kenneth Merchant's [link|http://www.amazon.com/gp/product/0273655965/sr=8-1/qid=1149518462/ref=sr_1_1/103-9508444-8398243?%5Fencoding=UTF8|seminal\r\nwork] on the\r\nsubject - all $150 of it, apparently).

\r\n

Uncontrolled? Or Uncontrollable?

\r\n

We shouldn't forget despite all this that Windows Vista remains the largest concerted software project in human history.\r\nThe types of software management issues being dealt with by Windows leaders are hard problems, problems that no other company has\r\nsolved successfully. The solutions to these challenges are certainly not trivial.

\r\n

An interesting question, however, is whether or not Windows Vista ever had a chance to ship on time to begin with. Is Vista\r\nmerely uncontrolled? Or is it fundamentally uncontrollable? There is a critical difference.

\r\n

It's rumored that VPs in Windows were offered big bonuses contingent on shipping Vista by the much-publicized August 2006 date.\r\nChris Jones even declared in writing that he [link|http://www.businessweek.com/technology/content/nov2005/tc20051118_179356.htm|wouldn't take a bonus] if Vista slips past\r\nAugust. If this is true, if folks like Brian Valentine held division-wide meetings where August 2006 was declared as the\r\ndrop-dead ship date, if general managers were consistently told of the fiscal importance of hitting August, if everyone down to individual developers was told to sign on the dotted line to commit to the date, and to speak\r\nup if they had any doubts of hitting it - mind you, every last one of those things happened - and yet, and yet, the\r\nAugust date was slipped, one has to wonder whether it was merely illusory, given the collective failure of such unified\r\nhuman will, that Vista was ever controllable in the first place.

\r\n

Are Vista-scale software projects essentially uncontrollable by nature? Or has Microsoft been beset by one too many broken\r\nwindows? Talk amongst yourselves.



Peter
[link|http://www.no2id.net/|Don't Let The Terrorists Win]
[link|http://www.kuro5hin.org|There is no K5 Cabal]
[link|http://guildenstern.dyndns.org|Home]\r\nUse P2P for legitimate purposes!\r\n[link|http://kevan.org/brain.cgi?pwhysall|A better terminal emulator]
New Thank you. I hope you didn't have to do the HTML by hand.
New Irony of irony.
Saved as source, into Microsoft Word for de-tabling, then a couple of search/replace cycles in SubEthaEdit to get rid of nonsense, then Tidy for final output.

Total time spent - about 15 minutes.


Peter
[link|http://www.no2id.net/|Don't Let The Terrorists Win]
[link|http://www.kuro5hin.org|There is no K5 Cabal]
[link|http://guildenstern.dyndns.org|Home]
Use P2P for legitimate purposes!
[link|http://kevan.org/brain.cgi?pwhysall|A better terminal emulator]
New Follow the Money
I've rarely seen a schedule mess like that without also seeing that management--usually management that's too high up to anything other than get in the way--having significant bonuses riding on the project shipping "on time".
     Broken Windows Theory. - (Another Scott) - (8)
         ICLRPD (new thread) - (drewk)
         Undelete! - (pwhysall) - (3)
             Thank you. I hope you didn't have to do the HTML by hand. -NT - (Another Scott) - (1)
                 Irony of irony. - (pwhysall)
             Follow the Money - (dws)
         The story's back on MS's blog. - (Another Scott)
         That's a VP that Microsoft doesn't need. - (static) - (1)
             It's in Dogbert's Top Secret Management Handbook - (drewk)

Have your cake and drink it too!
198 ms