Why Vista Release Date Really Slipped
anzev writes "A team manager for Windows for 5 years has decided to write a blog-essay about what caused Windows Vista project to miss the due date. Philip tells us in the blog, that Windows developers are writing an average of 5000 lines of code (which is *only* 1200 lines less than the national average of 6200 lines of code per year). He addresses issues like the Vista code being too complicated, the processes the developers have to follow too complex and a lot more. All in all it gives a nice insight into why Vista will be late, from a different perspective. Oh, and Slashdot gets mentioned too ;-)."
Linear extrapolation would take us to about eighty-two-million today, comfortably over Vista's projected fifty-million; but who's counting?
This isn't some critical release patch.
This isn't some driver that's long overdue.
Microsoft never hand signed a sheet of paper telling me that I would have my copy of "Longhorn" by the end of 2005 or even 2006.
It's a new operating system. More importantly, it's an operating system that has to compete with OSX, Linux, Unix & Windows XP. That's right, they are going to have to figure out someway to improve Windows XP. They aren't stuffing Madden 2005 into Madden 2006 and I hope they are taking their sweet ass time to rework some of the Windows internals that may have been a long time plague on the OS.
My point is that they're making something new and probably forging new ground. According to this article, they suffered the same thing a lot of projects have suffered. You project management plan looks great in Microsoft Project. Then you print it out and re-wallpaper the offices only to have the developers sift through it and go, "What the fsck?"
If Vista is as complicated as its specs say it is, I hope Microsoft takes another two years to get this done because I don't want to have to put up with Vista SP1, Vista SP2, Vista SP3, etc. down the line. I think games like WoW took a lot of time to make but it paid off to be a really stable engine with great features that blew everyone away. Microsoft could learn from that. You might upset some fans and you might piss your boss off but misinformation/miscommunication in the early stages of a project only lead to its downfall. If you can voice concern/dissent to your boss, I suggest you get a new job. We're human beings, we are fallible and we do have limits. Even if we're hand selected by Microsoft's HR department.
I'm reminded of a story about Hitler where the Allies had broken through French beaches at Normandy (unexpectedly) and Hitler's aides were at his house trying to figure out how they could wake Hitler up and inform him of the brigade of tanks rushing across the countryside towards them. Because they all feared for their lives, no one ended up waking him up and they lost a whole lot of ground & a few resources because of it. If you run your company through fear and people can't talk back to you, you'll end up like Hitler. Dead in a ditch with petrol all over you.
I'm also getting really sick and tired of people measuring a project's greatness by KLOC. It's also very frustrating to hear people brag about how many KLOC they write each year. That's great--now how do I know it's not riddled with bugs or a complete memory hog? What ever happened to the desire for elegant computer code? When I see a program that does something quickly and elegantly, my brain releases the same chemical that I used to get when I saw beautiful math proofs. I know this is the mark of the nerd but there's something very satisfying about it.
One last note, this MSDN blogging site does not care for Firefox. The right hand side of the text hangs over about an inch into the right bar side and it's annoying because the text spills onto the calendar. I certainly hope this doesn't happen on purpose.
My work here is dung.
Let me guess, MS employees spend too much time astroturfing on /. instead of writing code.
Man is a slave because freedom is difficult, whereas slavery is easy.
Far more nuanced. Some parts of Vista are bloated pieces of crap. Some, on the other hand, won't even ship. And still others will be incredibly efficient, presumably the important stuff like federal backdoors and DRM.
I don't see things in black and white! There are shades of grey in there too!
(I'm only kidding by the way, and in reality don't give a shit about Vista)
Obviously the other thing that is too complex is the whole to/too/two thing ;)
Blessed are the 1337, for they shall pwn the earth.
Vista code being /too/ complicated...
Microsoft is screwed up.
It's cause there were to many typos in the spec
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.
Duke Nukem Forever and?
Czech language for absolute beginners
Wow, who uses lines of code as a metric. It's an aweful metric to use. I have seen many bad coders produce a lot of code. Lines of code as a metric encourages cut and paste reuse instead of abstraction of common ideas and functions.
As x approaches total apathy I couldn't care less.
...as bear is to taking a crap in the woods?
...as Pope is to being Catholic?
I found the style of writing, and its substance quite interesting to read. Apart from the annoying bolded phrases, it was a delightful insight into what might have caused such a slip.
Intriguing though, to think what Microsoft feel and indeed what they might do when they find such releases.
Truth-intolerance indeed.
ilovegeorgebush
Yeah, so? You have no idea if that 5000 lines of code is faster, more efficent and easier to modify than that 6200 lines of code. Don't you remember the Apple story? Stupid ignorant nubs.
Slashdot: Playing Favorites Since 1997
> "Vista is a bloated piece of crap," my furry little penguin would opine, "written by the bumbling
> serfs of an evil capitalistic megalomaniac." But that'd be dead wrong. The truth is far more
> nuanced than that. Deeper than that. More subtle than that.
What, it won't be bloated, or it won't be crap? Would the people claiming it's neither contend that XP also isn't?
Workers blame the managers
The way this blog is written makes it obvious why its late, and why it probably won't hit the needs of the users. All the effort goes into playing the bureaucracy game and between the 'them' and 'us' everything important gets lost.
Personally I believe its a failing of the MBA courses, etc. The idea that 'A' controls 'B', rather than they work together as a team is prevalent and its fundamentally incompatible with good projects. By default I tend to look questioningly at those who claim to be able to manage because 'they've done the course'. Too often they forget they are costs to the programme and have to offer real, obvious, value to be worth having.
We need project management, version 2.01
5000 lines per year is mentioned as a joke...
Find Nearby Indie Events
"C'mon guys, we can get Inode in there if we work hard!"
Is Vista being delayed, or were previous release estimates put out just to dissuade people from going for the alternatives? "Well, you could get a new Mac with OS 10.n but the next version of Windows will be out soon." (Replace 'n' for any number between 0 and 4).
The largest software project in mankind's history now threatens to also be the longest.
Nah, that would be Duke Nukem Forever........
"So Windows is in bad shape - but only by a constant, not by an order of magnitude."
Can someone explain the difference between "bad shape by a constant" and "bad shape by an order of magnitude"?
The people who estimate schedules always assume it's linear based on the last schedule both on lines of code and on number of programmers (the mythical man month). That's why keeping it simple is so important. But since they measure productivity by lines of code written, people who contributed the most to the problem get promoted so they can more effectively worsen things. You think someone who follows the KISS rule and writes as little code as is necessary will ever get promoted to a design slot?
That post had the worst grammar I've ever seen in a Slashdot news item.
On another note, the article makes some valid points, but nothing we haven't heard before.
... thats a managers way of putting their mistakes in words. Managers always say that the code id complicated when talking to the outside world... when it comes to talking to the workers, its always simple code! Moreover, by the time they finish developing it, they would find Linux or OS X better, and probably redefine their requirements, thus taking another year and so goes the vicious circle.
I thought they changed the name to 'OSX Forever'?
The Slashdot Paradox: "100% Overrated"
How in the world did Vista ever become the "largest software project in mankind's history"? I mean, this is an operating system. This is just an OS for a microcomputer, for pity's sake! It's not running the Internation Space Station. It's not running a nuclear aircraft carrier. It's just supposed to manage a personal computer.
This shouldn't be so hard. It shouldn't be so big, or so complicated. I know we expect our computers to do a lot these days, but still. . . Shouldn't application software do most of the heavy lifting anyhow? I'm just trying to figure out why it takes hundreds of megabytes of OS -- and fifty levels of dependencies, according to the article -- to manage a desktop computer and provide APIs.
If you mix your text with bolded words it will sound more profound. Bolded words can make anyone seem like a real professional. Besides, bolded words are the new Microsoft standard of writing blog-posts
Lesbian Nazi Hookers Abducted by UFOs and Forced Into Weight Loss Programs - -all next week on Town Talk.
"This isn't some critical release patch. This isn't some driver that's long overdue. Microsoft never hand signed a sheet of paper telling me that I would have my copy of "Longhorn" by the end of 2005 or even 2006. It's a new operating system."
"Oooh, de poor little Vista Developers are sooo overworked. Lets give them a break."
No. Wrong. No break. And no extra auto-credit for being MS. I couldn't care less about Vista being delayed or not. But I will take every chance to turn the situation against all legends that cause people to think Computer == Windows. Usability == Doubleclick. Etc.
Reading that essay - from a Vista Guy with a position - gives of one clear message: Vista actually is a bloated weedy mess beyond any measure. And, guess what, making something new or not, the code that makes the unixes so usefull has been programmed allready and is in heavy field use for quite some time now. Somewhere between 10 and 20 years. After 30 years of unix, hardware finally is fast enough to run it on PDAs and cheap Notebooks. What x86 is to architecture - ancient, crazy, nutcase, but good enough for everything, even a Mac, Unix is to OSes - ancient, crazy, nutcase, but good enough for everything, even good enough for a Mac.
No, no break. Game over I say.
If MS has the guts to burn 10 Billion - 20 Billion on getting a new OS paradigm on to every plattform on the planet and do a good job at the same time they'll maybe make it. But even this late, jumping the OSS bandwagon and burning the cash it takes to take over the whole OSS service, distribution and customization sheebang would be cheaper and have better prospects.
We suffer more in our imagination than in reality. - Seneca
He said:
The types of software management issues being dealt with by Windows leaders are hard problems, problems that no other company has solved successfully.
Nobody else has solved the problems? How is it that OSX, which contains many of the features that Vista is due to have, shipped years ago? Before the Microsoft fanboys start with "Ah but it's different...", I think Microsoft is guilty of making their own problems... Perhaps some problems shouldn't be solved in software, but should be solved at the level of how your company works.
Well of course we do. We've been telling them what they're doing wrong for years!
So they admit that Vista is late because their programmers were too busy bashing the PS3, reading TFA and generating FUD on slashdot?
Realy people, I'd expect management to delegate that to the suits in PR or Marketing
--- As to make my comment seem, by comparison, more intelegent... doodie doodie doodie poop poop poop!
It takes time to rip out all the interesting features so that your coders can devote more effort to making sure the DRM is rock solid. But when you are building an entire OS around a feature nobody actually wants, you might as well take your time and do it right.
(I'm not an anti-windows fanboy, Server 2003 is quite a nice OS)
Finkployd
So it wouldn't be dead wrong just lack the nuance of the authors explainations? In other words, Vista is a bloated piece of crap, written by the bumbling serfs of an evil capitalistic megalomaniac. I'm glad to have this confirmed by an ex-staffer, I wonder if MSFT will use that wonderful quote in their marketing?
Other than people who get stuck with Vista on a new PC purchase, who is going to buy copies of this? I can't imagine another painful cycle of OS upgrading just to get what I feel is essentially eye candy that likely won't even work on the 12-18 month old hardware at our office.
It will be interesting to see how successful Microsoft is in pitching this "upgrade" to enterprise customers with thousands or tens of thousands of seats.
I thought the number of finished lines of code per developer-day (that means debugged, documented, etc.) was only 20 for an average developer? A top developer will get closer to 10x that (mainly because when they write a lot of code in a day, they don't introduce lots of silly bugs that take a lot of time to correct later). Some developers actually have negative productivity overall (which makes sense when you consider the time spent by their colleagues to fix their bugs afterwards).
I can't remember where I saw those stats: probably something like Code Complete or The Mythical Man Month, I imagine, or possibly the IBM study into developer productivity at different ages (the one that says anyone under 25 is only good for documentation, and anyone 25-30 should only work on one project at once). Does anyone recognise the number?
I can't see any references in the blog post. Where do the figures of 6,200 (and the earlier 9,000) LOC/year come from?
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
"Windows Gone Thermonuclear, a phenomenon by which process engenders further process eventually becoming a self-sustaining buzz of fervent destructive activity."
Well, the wikipedia Nuclear Fusion page explains the process of Vista quite well, and it all end in a Bomb.
http://en.wikipedia.org/wiki/Thermonuclear
From TFA:
Lest those of you who wrote 5,000 lines of code last weekend pass a kidney stone at the thought of Windows developers writing only a thousand lines of code a year, realize that the average software developer in the US only produces around (brace yourself) 6200 lines a year. So Windows is in bad shape - but only by a constant, not by an order of magnitude.
So - windows programmers write 1/6th of the code that other programmers do, and they wonder why they're behind? D'oh!
Also from TFA:
Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million.
It's a frigging operatiing system, for god's sake. Just for comparison purposes, does anybody have any (reasonable) numbers for LOC in both Linux and X Windows? Mac OS/X? I'm guessing there there's just a wee bit of bloat in there.
And worst of all, there's the 50 dependency levels that were mentioned. WTF are they doing - writing the bloody thing in GWBASIC, line numbers and everything?
I think the above moderation shows it's the Mac OS fanboys who rule the roost around here... ;-)
Or is it the Amiga-lovers? They're a true shadowy cabal to be terrified of!
Tedious Bloggy Stuff - hooray?
It should be obvious to everyone that Vista is a bloated piece of crap, written by the bumbling serfs of an evil capitalistic megalomaniac.
from the article:
...a total path depth of 11 people from Bill Gates down to any developer on my team. ...some decisions are made freely while others are made by edict, with no apparent logic separating each from the other but the seeming curiosity of someone in charge.
They knew months in advance that the schedule would never work. So they told their VP. And he... summarily sent the managers back to "figure out how to make it work." The managers re-estimated, nipped and tucked, liposuctioned, did everything short of a lobotomy - and still did not have a schedule that fit. The VP was not pleased. "You're smart people. Find a way!" This went back and forth for weeks, whereupon the intrepid managers finally understood how to get past the dilemma. They simply stopped telling the truth. "Sure, everything fits. We cut and cut, and here we are. Vista by August or bust. You got it, boss."
Sure, there will be a lot of suggestions about how this mind-set can be averted, but this paragraph points to central problems with corporate structure itself! Don't kid yourself, it doesn't just exist in software companies, either.
also from the article:
There are too many cooks in the kitchen. Too many vice presidents, in reporting structures too narrow.
This is not design; this is tinkering, "cut-to-suit, beat-to-fit, paint-to-match" on a grand scale. Is it any wonder that the end result is poorly done, way too expensive and late on top of it all? "Good, cheap or fast"; you can't get any of the three this way! And, again, don't kid yourself, this situation doesn't just exist in software companies, either.
The author seems to like emphasizing the fact that Vista is the biggest "software" project in "history". Well, maybe in Microsoft's history. But having worked in industry for several years, I can assure you that there are other projects which exist that require significant amounts of highly complex and non-trivial code.
One very pertinent example, from an area in which I've worked, is the design of a semiconductor. (In this case, specifically, an FPGA.) Do you realize how many lines of software are necessary to make a complex semiconductor work? From the VHDL code, to the software support tools for the device (in the case of FPGAs, this includes compilers, synthesizers, tech mappers, placers, routers, timing analyzers, etc.), to the code to operate the test beds, etc.
Egads. This blog author has no idea. I'd wager that he suffers somewhat from Microsoft's "I'm bigger/better than you" syndrome -- he's like to think that Vista is breaking new ground in terms of size and project management, but he's a few years late.
I didn't find the post to be particularly inflamatory or out to bait anyone. I wrestled with this same dilemma when the Win2K --> XP upgrade cycle occured and our organisation ended up sticking with Windows 2000 because of the licensing costs and we did not perceive any benefit to the company offered by the upgrade.
Great merciful Zeus! I have done 6200 lines of NEW CODE in a DAY.
You may rise (zabalflabin)
Lines of code is a stupid metric. It's on the wrong side of the balance sheet. Lines of code is a cost, not a benefit. As a software engineer, your job is to express concepts in as little code as possible. That's why we have high level languages like Lisp, Haskell and Ruby.
On the other hand, we have people who try to fatten their lines-of-code metric, which is why we have assembler, C, and TheDailyWtf.
If anyone asks me for how many lines of code I've written in a day, I will either respond with a negative number, which is probably correct, or if I'm feeling vicious, One.
Average lines of code seems like a bad metric since the number of lines probably is corelated negatively with the size and complexity of the project as well as the number of people working on it. Although it wasn't the main point of the article, the post includes it as if it were meaningful or descriptive of whatever underlying problems do exist. Even if it were a meaningful statistic, one is forced to wonder how the number was compiled (how many lines of code did you write last year? gross or net? including or excluding revised lines? is it adjusted for part-time programmers? who did they ask?) and how a project manager could be expected to accurately know this?
Bad shape by a constant = Windows 4.0 to Windows XP
Bad shape by an order of magnitude = Windows 98 to Windows Me
Bad shape by an infinite order = MS Bob
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
I just came back from an ISV event for Vista training for developers and its now currently in the "touchdown" phase. All the trainers and our "platform evangelist" has hinted at late this year for us (ISV partners) and early next for normal consumers. We did some quick code snippets in WinFX(.NET 3.0) and the new UI and communications improvements were pretty cool.
The guy is saying there are 50 layer dependencies, and tons of circular dependencies. It's software engineering 101, their model is wrong...they're not properly abstracting out each layer. I'm not a big fan of Linux, but every module can be decoupled in it, and modules work together even though they're written by completely different projects due to standards...that's how you design a proper system.
People are always concerned about writing out gobs and gobs of code that isn't properly thought out. That's the problem with a lot of software development these days (namely OSS). I've been digging through a rather large and prominent OSS project and found that its code looks like it's been hacked together.
People need to start focusing on code density. By code density, I mean how much thought goes into each line you write. High code density will almost always give you a good result, take Google for example, I've found that almost everything they have has been well thought-out, and not hacked together in a rush.
If MS has told the developers to slow down and think through everything, I think everyone (who will use Visa) will benefit in the end. I'd rather have a late OS that works than one that is early and feels rushed. Now before I get flamed and labelled as a Windows fanboy, I should mention that I use OSX as my native desktop OS and Linux (Gentoo) for my personal servers.
Interesting article; I'm reminded of E.E. "Doc" Smith's Lensman series, and how Boskone had the same problem of management not wanting to hear bad news and underlings fearing the consequences of reporting truthfully.
I do wonder about Vista's being the largest software project; I'd always heard it was #5 ESS. Has it been dethroned?
Well when you are writing java you have to write that many lines to get hello world done.
Got Code?
From Merriam-Webster Online Dictionary
Concerted:
1 : to settle or adjust by conferring and reaching an agreement
2 : to make a plan for intransitive senses : to act in harmony or conjunction
If we take the second meaning then, yes, free and open source developers are in fact acting in harmony or conjunction. It's the software license and underlying philosophy which defines them as acting in concert.
Just because a flock of birds doesn't have a leader giving orders doesn't mean they aren't acting in concert.
Read up on self organisation and emergent systems:
http://en.wikipedia.org/wiki/Self-organization
Deleted
MS thinks it can run a search engine as well as Google, when their servers can't handle a little Slashdotting? "Server too busy"
Forget Google. Better Web Stats.
In the words of the late great Leonard Nimoy, fascinating.
Uhm... as far as I know, whilst Leonard Nimoy is great, he is by no means late. He's still ticking. He would probably find your conclusions about his state of being, illogical .
Software really is tough. Large software is much tougher. As the "largest concerted project" ever, Windows Vista is pushing the limits of human capabilitity for coordination and communication. Each new module, and its attendant interfaces, adds new communication.
As communication increases, total overhead increases. In some cases, it increases in a combinatorial way. If we estimate the "efficiency" of a component as the value-it-brings (in terms of work saved elsewhere in the code) divided by the ( development-time + communication-overhead ), you always want this efficiency to be well over 1.
Is it less than 1 already? If so, can you really ever complete a project this way?
I love Amigas!
Fear me!
Seriously, the Amiga has come and gone, fouled by incredibly inept marketing and parent-company management. The operating system was light, customisable, efficient, and the whole system was capable of multitasking from the ground up, even on the original 16-bit MC68000 systems. AmigaOS 3.1 was the last version I used, and it was very nice. I really miss the days when I could look forward to a new Amiga system being released, and everyone hung out on Slashdot slagging off Microsoft for the delays in their new forthcoming operating system.
Wait...
He's Jesus, for Christ's sake.
5000 lines of debugged code per year!? I hadn't heard that Microsoft programmers were idiots. In fact I've generally heard the opposite. Must be a badly broken process if that's all the more productive they are.
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
"Measuring software productivity by lines of code is like measuring progress on an airplane by how much it weighs"
Vista's biggest problem is that those millions of lines of code are pretty much all in plain old C - with maybe a little bit of COM thrown in.
I suggest everyone go on an interview at Microsoft at least once. It is quite eye-opening. You realize that the senior programmers for the most critical parts of Windows code have never written any C++ code and don't know the basics of the STL. At Microsoft, people who do networking for a living don't know what a netmask is for.
Wait a minute, isn't that Linux?
I believe I have identified your problem: crap design in your "ground up" new operating system.
Either that or you lied about the "ground up" bit and it's just another new UI/HAL interaction layer built on the same old tweaked NT kernel.
Or maybe you meant "ground up" in the same sense as mechanically recovered head meat...?
Love, Justin.
You're only jealous cos the little penguins are talking to me.
... who think this writer should lay of the Ctrl+B for a bit? The emphasis in my inner voice is driving me bonkers.
5000 lines / year boils down to about 25 lines / 8 hours, close to 3 lines per hour. What the heck are they doing there. Not to mention that in a big company like that, you have project and code management:
#Source control code
#
#Windows Vista (forever) v4.4.4
oooh, an hour work
#
#This code will open a port so we can control users
#
main () {
void port(5000)
#I ran into some problem here
# Fixme: crashes randomly
function (open) {
}
}
OK, time for lunch...
Custom electronics and digital signage for your business: www.evcircuits.com
WTF? talk about egomania... it's just an OS, nothing more and nothing less. you boot it, and run APPLICATIONS on it. it only manages/provides your computer's resources for your applications to use.
the only reason that vista has ridiculous system requirements is to sustain itself.
It is no wonder Vista is a kludgfest! This guy sounded like if he had a consistant thought process, it might throw him into a fucking coma!! That was harder to read than a chinese newspaper.
----- I have bad karma for a reason! -----
You're looking at it from slightly the wrong direction.
From what I remember, lines of code per unit of time are language invariant. That is, an assembly language programmer will write the same number of debugged lines of code per day as a C programmer and as a Lisp programmer.
Thus, the drive to higher level languages is that you can do more with each line of code.
The downside is something you didn't directly mention - the need to master large libraries of code. Most of the examples in the Daily WTF are caused by people who didn't realize there was a library routine to do what they wanted, or didn't understand the features of the language they were using - not because they were trying to pump up the amount of code they produced.
Clear, Dark Skies
I think I have missed something here.
Yes, lines of code is a crap metric, but let's face it--the "manufacturing frozen hamburgers in a box"-school MBAs don't understand software development, and never will. I work for a subsidiary of Really Big Company (no, that's not implying their company name is RBC, or has those letters as the first part of any of their name bits), and Really Big Company mostly supplies a particular kind of hardware to the world of commerce. Our new company president has a degree in engineering, and historically he's been a hardware sort of guy.
(He's not a bad person. Honestly. He's under the same gun as the rest of us, and working hard to make sure we meet our targets. I'm not doing character assassination here--at least not directed toward specific individuals.)
The folks at Really Big Company give us revenue targets every year. If we miss those targets, the next year the targets are higher, no matter the state of the economy, the solvency of customers in our particular market niche, or our saturation level in that market niche. To me it makes no sense, but I'm not an MBA. (Clearly the management team at Really Big Company doesn't consist of too many dog owners. It's patently obvious that if a dachshund can't jump through a hoop two feet off the ground, it won't be able to jump through a hoop three feet off the ground. Perhaps they're avoiding that concept to skirt patent infringement issues.)
(Personal aside: my older cousin, a mechanical engineer by training, got an MBA last year. I consider him a traitor to the cause, and am no longer speaking with him. He doesn't know it, and I can't tell him, because I'm not speaking with him.)
The problem with hardware people, and it doesn't matter whether the hardware is computers, lawn mowers, or frozen hamburgers in a box, is that they deal in tangibles. At the end of the quarter, either one has 1,000 model 59-C units in the warehouse for delivery, or one doesn't. At any time during the quarter, one can count the number of computer model 59-C units and see whether or not the schedule will be met. One can determine whether or not vendors are supplying the parts required to build 1,000 model 59-C units at a rate commensurate with meeting the EOQ deadline.
The problem is, software is entirely intangible. We don't have vendor issues--if we have a compiler, an editor, and a computer on which to work, we're good. As far as the MBAs know, we're spinning moonbeams and weaving webs of purest electricity. While the reality is not quite that prosaic, it's not far from the truth. Everything I have ever done in my programming career (even that game I marketed 15 years ago, the source code for which is still on my latest computer at home) exists purely as an abstraction, nothing more than specifically-configured magnetic signatures.
What we know at the outset of the software project is that we want a Program That Works. What we don't know is how long that's going to take, and it's hard to estimate how long writing a new file system, security layer, or UI component might be, even if we've done it before in another context. The difference between building model 59-C units and writing software is that halfway through the manufacturing cycle no one comes to tell you that the model 59-C unit has been partially redesigned, and that it now uses a stainless steel internal frame instead of cast aluminum. (In the world of tangibles manufacture, the stainless steel version would have a new model number. This doesn't happen with software. The requirements change, and we keep calling it the same old thing.) Specific case, referencing Vista: suddenly WinFS is not part of the shipping configuration, so all the code in other parts of Vista that assumed WinFS would be present have to be rewritten, and then retested both at the unit and integration level. This stuff takes time. It can't be done on the original schedule.
The
what I've seen on other very large projects. So much time is consumed with unit testing, making sure you don't introduce side effects, and studying existing code that the creation of new code slows to a crawl.
I worked on a project that had ~ 8 million lines of code. Code quality dropped so far we had to institute a weekly review - no one was allowed to commit a change until it had been reviewed by the entire team. It always pissed us all off to have to do it - but it turned out to be hugely effective at improving code quality, training new engineers in all the little details that never get written down, cross-training experienced engineers in portions of the code they hadn't worked on and, as a bonus, teaching us all how to write defensively and think about all the likely side effects of our changes.
Clear, Dark Skies
In the documentary miniseries "Triumph of the Nerds", there's an interview with Steve Ballmer where he describes the various factors that led to the fallout between Microsoft and IBM. One of the big things that he harps on is how the IBM programmers were too focused on KLOCs, while the M$ guys were striving for streamlined, efficient code.
Now we've got one of the head guys on the Vista project going on about KLOCs. Is anyone surprised? Me neither.
Boundless Expansion, Self-Transformation, Dynamic Optimism, Intelligent Technology, Spontaneous Order- BEST DO IT SO!
It amazes me how transparent Microsoft lets itself be. The fact that someone can even post a blog like this about the company using internal company resources. As much as we rant about Microsoft being evil, you'd never see anything like this from Google, the only blogger about the internal day to day Google I know of was fired (Mark Jen).
5000 / 6200 != 1 / 6.
Clear, Dark Skies
than bloggers who bold up random phrases on every line of their article? Well, actually there are plenty, but it comes close to destroying the impact of a well-written and informative article.
/.? It's a mess of misspellings, misquotes, and other mistakes. (How that's for alliteration?) If you like the article enough to submit it, could you please quote it correctly?
/., seems like you would want to avoid making it sound stupid.
But what is with the summary on
In the article, the author calculated that Windows develoeprs averaged 1000 lines of code per year. The summary statement of 5000 lines isn't sensible, since no period is mentioned, and wrong because it was compared to the average annual rate.
And learn the difference between "to" and "too" for crying out loud. The article got it right. If you like the article enough to post it on
Most people don't even think inside the box.
"implied italics"
/this/ is meant to be italic.
Here's a handy guide:
*THIS* is meant to be bold.
It comes from people who are used to posting on Scoop-based sites.
Clear, Dark Skies
From TFA:
The Windows developers coded 1000 lines per year, on average, but that number includes ALL Windows developers, even those who have not actually contributed to Vista.
The summary at the top of this article smacks of third-grade-level reading comprehension.
Linux:
#program calculator
for(i=0,i10,i++)
{
draw_button()
print lable (i)
}
Vista:
#program calculator
draw_button()
print lable (0)
draw_button()
print lable (1)
draw_button()
print lable (2)
draw_button()
print lable (3)
draw_button()
print lable (4)
draw_button()
print lable (5)
draw_button()
print lable (6)
draw_button()
print lable (7)
draw_button()
print lable (8)
draw_button()
print lable (9)
NB: Sorry, i am not a s/w developer. my apologies for not keeping the syntax corectly
Let's see...mini-microsoft announces he is going to take a break and now we get this. Insightful but damning the bureaucracy that Microsoft has become.
But, that's too obvious, right?
I hope that someday we will be able to put away our fears and prejudices and just laugh at people. - Jack Handey
His use of bold makes me feel like I'm reading Zippy . I find it highly annoying.
...from a Microsoft shill. "It's been delayed so long because it is such a great operating system! If it wasn't so darn good it would have been out already."
Ugh.
Coding with assembly is like playing with Legos. Coding an application in assembly is like building a car with Legos.
This is ~3 lines of code PER DAY. I know you can't always jump right in, but sheesh, I pumped out complex code at 30 lines/nite in my programming classes.
In the M$ case, they need to think harder about the code they buy. Oh wait, there's nothing being created on Windoze worth buying these days. Slim pickings and having to do it themselves is the real reason Vista is taking so long.
Friends don't help friends install M$ junk.
Yes, but just because the compiled, doesn't mean they're useful.
And was this something you wrote for yourself to do a one of job, or was it going to ship to millions and you'd be stuck supporting it for years?
Heck I could probably train a monkey to cut and paste a few million lines of compliable code a day. Please qualify your statement a bit more.
Hmm. I can't help but wonder if the real issue isn't the gratuitous use of bold type. Turning bold on and off in their editor of choice must cut down on their productivity by several lines a year.
The desire to be all things to all people. Desktop, handhelp, servers, games stations etc. It just muddles things up. It is a architecture driven by marketing. And I wish I could find the video, but some months back I saw a video interview with the Vista team leads and several red flags went up including:
1) A huge code base which included code no one understood.
2) OS design by marketing. They would have to accommodate design changes from the IE team or the Office team.
3) A large team size.
4) Large backward compatibility issues.
It had all the markers of a disorganized project that was drifitng.
It also does not help that it has to operate on a witches brew of cheap commodity hardware. The incompatibility work arounds have got to be a head ache.
If you look at the propreitary Unix model, Solaris, AIX, OSX etc., you have a hardware manufacturer with an OS which, at least theoretically, be designed and tuned to play nice with the hardware. This is why you pay the big bucks, theoretically, reliability and performance.
Microsoft, to a certain degree, is not the master of its own destiny as long as it has to depend on outside hardware makers.
And, in fact, I think Linux and some *BSDs have the same problem. Too many hardware configs sometimes leading to interoperabilty issues (though with open source you can do things like recompile the kernal or your own drivers). Which is why I switched to OS X, I got tired of hunting down drivers and libraries; and doing recomplies.
putting the 'B' in LGBTQ+
The dog ate it!
"To those who are overly cautious, everything is impossible. "
There's a single rule that should be applied with any project. If management chooses a feature set, the development team should be in charge of choosing a shipping date and if management chooses a shipping date, then the development team gets to choose the features that will be in by that date. Any attemps to choose both by the higher management will result in failure.
This is the unavoidable answer.
I mean, is anyone here actually bothered about Vista? All it's going to do is drain your wallet.. for some fancy bug ridden DX9 card only graphical interface... and considering it'll only be Microsoft releasing Vista only games it's kind of pointless.. Ooh ooh i must spend £100 on Vista just so i can play Halo2.. When an xbox costs what? £40 second hand... I'm not saying go and buy an xbox I'm saying what's the point in Vista.. it's XP but with more bugs, and some fancy graphics interface that'll probably just annoy everyone.
My God, this exactly describes my last job (at a large three-letter-acronym addicted company whose name is a two letter acronym). The developers gave their manager a realistic schedule, the manager gave the schedule-pushing weenies that schedule, but once it got up to the project manager whose bonus was riding on a release date, all was lost. Any hint of truth never made it above that level.
It wasn't just a problem for the SW developers. I moved from the SW department to run clinical testing and user-centered design and I'd get the same response. "This product has new features that haven't been tested in an operating room," I'd say. "We need at the very least 2 clinical test rounds with time between for the development team to implement and test the changes. That will take 2 months for each round." The project manager responded, "no way. Get creative, you're smart. You have 4 weeks." (Of course that 4 weeks was dependent on the mechanical, EE, and SW teams completing their untruthful schedules on time.)
Time passes, and the date for prototype release is coming. The engineering VP and company CEO were actually surprised when the project manager stood up and told them the project was going to be late. The manager blamed some people under him, so the VP replaced those people and the madness started all over again.
I learned, just as the managers in the article, to stop telling the truth to people who don't want to hear it. Truth is no match for a man who wants his bonus.
or also Longhorn?
Don't fight for your country, if your country does not fight for you.
I just wrote a perl script to create the largest software project in history. Here's the output:
void main(void) {
float a;
a=1;
a=2;
a=3;
a=4;
-
It goes on like this for a while...
The article describes the basic things that are wrong with virtually every late project:
He is describing a sick management culture, one peopled by individuals who are not part of a reality-based community and not aware of their own deficits. Projects run by people like this will always be late and frequently fail completely, because reality doesn't care about management egos.
This is pretty typical of modern management culture. It just shows up more clearly in this case because of the length and size of the project.
Blasphemy is a human right. Blasphemophobia kills.
I can't wait until Vista is released, because at that time Apple will release OS X 10.5 Leopard.
I've worked in a software company which had a product made up of 4 million lines of code. And they were only around for a few years and had only 10 developers.
Only 5000 lines of code per year? Really?
I just counted up the LOC I have written since March 2005, and I got (very conservatively) 20000 lines of application code plus 12000 lines of library code.
(I'm not counting
I wonder if they're including testers and other non-programming engineers when they compute that 5000 LOC/yr number.
...the happier I am that I won't be using it.
use perl use CPAN, then everything is done in "10 lines of perl".
yes, i'm a lazy bastard.
Slashdot gets mentioned, too...
Looks like Slashdot speaks for itself:
"Server too busy"
I might know what I'm talkin' about, but then again, this is Slashdot...
This msdn article's formatting is really annoying. But really it is a piece of a bigger problem that faces the younger generation. I say they should scrap it. Otherwise, people will only read the bold text!
- RG>
Hey pal, this isn't a pleasantforest, so don't waste my time with pleasantries!
"We achieve great results from ordinary people with a brilliant process. Our competitors achieve mediocre results from brilliant people with a mediocre process. They try to overcome this by hiring even more brilliant people. We are going to win."
not that it matters, but the summary is off (by a constant factor, not an order of magnitude). TFA states:
...the typical Windows developer has produced one thousand new lines of shipped code per year during Vista.
... the average software developer in the US only produces around (...) 6200 lines a year. So Windows is in bad shape - but only by a constant, not by an order of magnitude.
and
As an aside, I've now done 0.3% of what an average developer does yearly at Microsoft.
-Rob
Biblical fiscal responsibility
If Vista were simple, elegant, functional, and maintainable, then it would be re-implementable and copyable. Then it could be stolen, just like paper tape Basic for the Altair. It is important to make it necessary, no, indispensible, large, complicated, and mysterious so that it cannot be copied. Why else all the registration hoopla and the invasive "lets inventory your software and send it to us." It has to be a behemoth. It has to require faster systems to run its behemothosity (otherwise, why, who would need to upgrade to a new $500 CPU and 4GB memory just to have it slog along). It has to be what it is to force upgrade so money keeps coming in. It can't be simple and maintainable. It cannot be such that a single individual or small core group can understand it all. If so, it could be stolen. That and the organizational structure of the company that is developing it dictates it complexity, its unmaintainability, and its ever-sliding-ever-doomed-to-slide schedule.
Read Fred Brook's "Mythical Man-Month: Essays on Software Engineering". Brooks was in charge of the development of the mainframe operating system, OS/360, in the 1960s. I have no idea how many LOCs are in OS/360, but the project was one of the most massive software projects ever undertaken. Brooks observed that adding more developers to a late project can actually delay the project even more.
"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."
.NET. Around about 1999-2002 every analyst seemed to think that Windows would rule the data centre by now. But rather than, say, adopting Java as a development platform of choice and working to make Windows data centre ready, they decided to waste, to date, 6 years re-inventing Java and trying to get Windows out of the door at the same time. This gave the Windows team a moving target since Longhaul was going to be the ".NET" OS and meant that Microsoft had a very spread focus. The new kid in the datacentre now seems to be firmly established as Linux and I think it will probably be another generation or more before Microsoft gets another shot here. So all that Vista work probably won't win Microsoft much new territory at all even if it is really good.
I think the biggest problem for Microsoft with Windows is that practically no-one working on it really knows what most of it does any more since the original programmers have long since moved on.
Its interesting though to speculate on what might have been.. That Dvorak chap recently argued that Internet Explorer was Microsoft's biggest mistake. I think he was wrong. I think it is
...and then he tells us that the truth in fact is just that...
I'm sorry but for me it just seems like a bunch of poor excuses.
...and yes, Vista is bloated piece of crap written by the bumbling serfs of an evil capitalistic megalomaniac.... you made it that way by fx. including DRM.
...and pls. tell mr. Gates that his argument against Linux, that crap about the cost of learning a new UI, also apply to his own fucking operating system and his own fucking office suite.
--
Danger! Furry penguins.
Damn, and 6200 is the average? I just did a quick look at 2 of my projects last year and they are around 25k-30k lines, and both were shipped projects, not including any utility code. I spend probably around 4 hours a day programming on average. Granted the code isn't the most beautiful specimen, but I doubt theirs is either, I guess thats the benefit of only having 1 person on my team :)
Microsoft never hand signed a sheet of paper telling me that I would have my copy of "Longhorn" by the end of 2005 or even 2006.
It is at points like these when I am reminded of a quote from the muppet movie that goes something like this:
"When I said I never promised anyone anything I guess I was wrong. I promised myself".
Microsoft may never have handed you a date on a silver platter, but they themselves sure thought and believed a number of times before now that Vista would be out. And that belief was transmitted to the outside world, not often in writing but it was there. That's is why a lot of people have grown disillusioned with Microsoft.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Ok, our machine might be slower than his, but I wish we could rebuild our distro within 24 hrs...it's much closer to 3-4 days usually... :-(
"Why Vista Release Really Slipped"
To give a million Slashdotters more time to enjoy posting why it will suck...
"But this one goes to 11!"
1. OSX was based on the FreeBSD kernel and leveraged a LOT of UNIX structure under the covers. Lift the GUI off of OSX and you essentially have a BSD box. This means, for Apple, a lot of the engineering had already been completed. They were just adding in their own layers of stuff. Vista on the otherhand is supposedly a near-completely rewrite from the NT kernel OSs (NT, 2k, XP). That's a massive difference in work effort involved.
.Net?
So here's the 100 million dollar question - why? Why did Microsoft decide to re-write all that stuff instead of leveraging an existing stable system like OS X did? Why did they decide to abandon any effort to join in the Java comunnity and improve it instead of re-writing all of Java as
Time and again Microsoft makes the choice to write everything itself. Sometimes that's the right choice but sometimes it is not, yet Microsoft is seemingly unwilling to concede the second case. I don't think they should be let off the hook for hardness or work that they shouldn't even have to be doing!
2. Vista has to run on a near infinite combination of hardware. OS X has to work on a very controlled set. This alone will make coding and testing a hellish experience. Add in the complete rework of how the desktop works (it's 3d now), the revamping of DirectX, and a pretty significant change to the security model and networking code and you're looking at some insane complexity that has to be tested.
That Microsoft has a lot of work to do with hardware is a persistant myth, but careful examination actually shows the opposite to hold - Apple has more work involved related to hardware compatibility.
Why? Microsoft writes driver API's that other people code to. Apple has to go to more trouble to convince companies to write drivers for OS X, and has just as many PCI cards to worry about compatibility with as Microsoft. Furthermore since Apple is actually making hardware they have to work on drivers themselves that other companies would be writing for Microsoft. Apple also generally keeps compatibility about seven years back or so and that is actually quite a lot of different revisions of hardware to consider. Microsoft just has to keep the API's working.
As for the other work, to me it kind of fits into the category above - you just listed all of the features that are actually new in Vista. It sounds impressive until you realize that 2000 people have been working for over six years to deliver the features you mentioned, whereas Apple is working on all sorts of things yet already has all of those features included in OS X with years of refinements behind them.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I seem to recall a similar situation:/ embarrassing-memo.html
http://www.art.net/~hopkins/Don/unix-haters/tirix
I Believe in windows, for the greater good of the internet.. Windows 95, to XP, We have all used them, and we have all experienced a crash or 10,000. But a reboot and windows is back. It's like the man said, "as soon as one window is broken, it acts like an invitation to all "Monkeys", that its open-season for rock-throwing" Hence all the windows bashing. When you stop and think about what windows has done for the internet, they are in a class of there own. Lets show them some respect people.. Sure the system has flaws, bugs, what program doesn't? Microsoft is a company that stands behind it's product with fixes and updates. That's what really counts. With Vista, They are pushing the edge of technology, re-writing history, Fixing all the mistakes that you people fond in previous versions.. So of course there are going to be delays. With the scripting, (there is probably only a handful of people that actually understand what's going on, teaching hundreds of others to do there job right.) And when the product comes to us in a official release, There is still going to be problems that people will have to face, It would be spectacular if they released Vista, and it was 100% perfect. (We all know its human nature to make mistakes). When they do release it every one is still going to BASH them more, because they don't understand how to change this or can't access that. And when they do Microsoft will be there to fix the "REAL" problems that exist. There is always going to be Monkey Bashing, which has already began, and most people haven't even used the product yet, and there already complaining about it. For those of us who have used Vista, we understand that its still a work in progress, so there is no reason to get all upset about this not working or that not working.. See "Monkey Bashing" will always be, people will always be displeased with the product they purchase, no matter how great it is, they only see the problems and blame it on the maker instead of "ID.10.T ERROR, to which the problem truly belongs. One last fact, Microsoft got screwed in that anti trust case with the source code thing, That's when the problems started... Ntlgnce@Work.Here Enjoy, Peace! Thomas '73
Wasn't that the BASIC port that was effectively won because of vaporware? That is, he told Altair that he had a working BASIC port, so that others wouldn't try to do BASIC for the Altair, when neither he nor anyone else at Microsoft had a single line of code written?
And you wonder why anyone questions the company's ethics today.
Don't thank God, thank a doctor!
Nemoy was supposed to meet him for lunch a half hour ago.
"There is more worth loving than we have strength to love." - Brian Jay Stanley
I consistently produce negative total lines of code. Does that give me negative productivity? Should I be fired?
One-day build cycles, yes, that could explain just about any delay. Is it one-day worst case but 5 minutes most of the time, or one-day all the time? I recently had a bug on a platform with a 4-hour debug cycle, I had to do 15 cycles, it took me weeks to fix that bug. It would have taken half a day with 5-minute debug cycles.
Forgive me for commenting on the presentation rather than the content. I really tried to read the article, but the randomly emphasized phrases made it really hard to concentrate on what was actually being said. I know that it's common to use bold font to emphasize key phrases but when you emphasize half of every other sentence it loses it's effect.
On the other hand, I bet that this guy is a Wizard at PowerPoint.
If I don't put anything here, will anyone recognize me anymore?
Anyone who uses "lines of code" as a metric of software productivity is already demanding that bad code be produced.
Earlier in the piece he writes about complexity thus:
This demonstrates he doesn't really understand complexity. The most rigorous definition of complexity is Kolmogorov Complexity, which is simply the minimum size program required to meet specification. Note this is a single metric: number of bits in the program. It doesn't say anything about "interdependencies" and indeed it can't say anything negative about interdependencies because the way you minimize the size of the program is through reuse of code.
Seastead this.
It was called long-horn appropriately. Now that there is light at the end of the tunnel, they will call it vista. These arent just nonsense words, they are metaphors for the very being of windows. p.s. I hope hardware moves faster over the next 6 months, otherwise it's gonna bog. I am running beta right now and it is not snappy on a middle of the Road 2x2.0 512 and 128mb graphics. I am going to put in more ram see if that helps. Note to windows: Make a version of Vista with removed Legacy support for those of us who are willing to completely move over.
From [name of online dictionary service]
[word in question]
1 : [widely-used definition everyone is familiar with]
2 : [something else]
If we take the second meaning, then yes, [original argument] IS in fact [statement of truthiness]. It's the [supporting justification] and [further reinforcement] which defines them as [paraphrase of second definition].
[mildly humorous non-sequitur analogy]
[suggestion to RTFM]
[obligatory Wikipedia link]
A bit of a story from the Macintosh
How to enable garbage collection on a system without protected memory: #define malloc() ((void *) rand())
We are currently unable to serve your request
We apologize, but an error occurred and your request could not be completed.
This error has been logged. If you have additional information that you believe may have caused this error please report the problem here.
A lot of comments so far have been about the author of the article making a big deal out of 1000 lines of code per year for Vista developers. Microsoft doesn't care about how many lines of code any given developer writes. It doesn't factor into performance reviews, managers don't berate each other's teams with "you've only written 2500 lines this month", or anything of the sort. I've had many a code review where I was told to trim down the change. Devs at Microsoft try to write tight, efficient code. Honest.
The reason that the author is using lines of code as a metric: how the hell else are you going to make generalized conclusions when 2000 developers touch the code? I imagine that when aggregated over 2000 developers, lines of code is relatively accurate measure of average productivity. The devs that write loose, big code will average out those who write tight code. He's attempting to make a generalization, and the usual metrics that ARE used at Microsoft (review scores, teams/devs making their commitments, bug glidepaths) are meaningless outside of Microsoft or difficult to quantify.
I'm usually verbose about matters such as this but my personal opinion about what he wrote is that he's full of it. He's their excuse maker. He's the cover up guy feeling he has to justify their inability to produce, even by going so far as to allege everyone else is as bad as they are.
Granted, yes, all that signing off, those meetings, all the chatting, etc is pretty bad, but I know alot of programmers that produced much more than 6,200 lines of working debugged code a year.
Windows is so far behind because they didn't have a good plan and they didn't excute it correctly and the target was moving with Linux and OSX tossing in variables to their mixture.
Microsoft WOULD be in dire straights if they had the same competition back when Windows was first monopolizing the market.
These guys are like the indecision makers who see the moving target and keep reassessing capabilities and features due to that and just can't make a decision on how far to go, when to cut, and when to commit.
You can lead a man with reason but you can't make him think.
The article seems to have been pulled from the blog. Does anyone have the text of the article still?
Did anyone else find this to be quite annoying while reading the article? I mean, geez is it a comic book or a freaking blog entry?
My numbers may be slightly off, but let's say that each Microsoft programmer makes $60,000 USD per year. If he writes 5000 Source Lines of Code per year (this number appears to be high), that means $12 per line of code. At 40 million lines of code in Windows XP, that means that it costs Microsoft roughly $480 million USD to manufacture XP. I understand there are many other costs, but Microsoft claims sales upwards of 250 million copies. So that makes $2 per copy of XP maybe a little more? I'm not sure if that includes OEM or not, but at a minimum of $80 USD to purchase a license... Perhaps someone has better numbers, but that's an amazing profit margin.
I tend to agree with the idea that it's just too freaking big. Why have Windows Live AND Windows Mail AND Windows Calendar AND Outlook? And ship Works with every computer? I know Mail and Calendar aren't holding up Vista, but feature creep has gotten out of control. Three levels of graphics, custom IE7 port, native Widgets,
Microsoft never thought through the human side of the development process, they bought into their marketing that their own software and tools would solve organizational problems, but they don't. They should study the military, well-run hospitals, maybe hire some managers from Oracle.
Because moving the Office guy over isn't going to cut it. There are thousands to manage, and they can't hack it.
Note: the author has edited his entry and removed most of it. the mirror:
0 091564cac59/index.html
http://mirrordot.org/stories/fb474e7cf3aa2bdcb159
From TFA: [I have removed the rest of this post of my own volition, without any external pressure whatsoever. What started as an opinion on the challenges of managing large software projects has turned out to be a rallying point for detractors, which isn't interesting or productive. - Ed.]
true, ever try to compile php5 with extensions,apache 2,mysql5 on 64bit suse 10? nightmare so many dependencies to compile
same took 1 minute to instal on windows using wampserver
http://www.en.wampserver.com/
Consider the source. Reviewing its history, I somehow doubt that Windows code is in any way "bug-free" or "easily maintainable"...
Not only that.
Windows code "is not camera friendly". It doesn't "own a toothbrush" or "let its scabs heal". It is not "easy on the eyes". It doesn't "wipe properly". It's not "hygenic". It doesn't make "eye contact". When it sleeps, it "sweats profusely". It doesn't "clean the area between its crotch and legs"...
from mirror dot incase they re-sync:
Vista. The term stirs the imagination to conceive of beautiful possibilities just around the corner. And âoejust around the cornerâ is what Windows Vista has been, and has remained, for the past two years. In this time, Vista has suffered a series of high-profile delays, including most recently the announcement that it would be delayed until 2007. The largest software project in mankindâ(TM)s history now threatens to also be the longest.
Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and white. âoeVista is a bloated piece of crap,â my furry little penguin would opine, âoewritten by the bumbling serfs of an evil capitalistic megalomaniac.â But thatâ(TM)d be dead wrong. The truth is far more nuanced than that. Deeper than that. More subtle than that.
I managed developer teams in Windows for five years, and have only begun to reflect on the experience now that I have recently switched teams. Through a series of conversations with other leaders that have similarly left The Collective, several root causes have emerged as lasting characterizations of whatâ(TM)s really wrong in The Empire
Useless Trivia Sidebar: Broken Windows Theory
The original broken windows theory, first coined by Wilson and Kelling, describes the purported phenomenon whereby an abandoned warehouse with no broken windows is mostly left alone, but as soon as one window is broken, it acts as an open invitation to passers-by that itâ(TM)s open-season for rock-throwing.
This was generally accepted for many years as being true, but is recently coming under fire from different angles. We wonâ(TM)t delve into those here, since we mostly commandeered the phrase because it sounded good, not because it actually has anything at all to do with our subject matter.
The Usual Suspects
Ask any developer in Windows why Vista is plagued by delays, and theyâ(TM)ll say that the code is way too complicated, and that the pace of coding has been tremendously slowed down by overbearing process. These claims have already been covered in other popular literature. A quick recap for those of you just joining the broadcast:
* Windows code is too complicated. Itâ(TM)s not the components themselves, itâ(TM)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â(TM)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â(TM)s Windows Gone Thermonuclear, a phenomenon by which process engenders further process, eventually becoming a self-sustaining buzz of fervent destructive activity.
Letâ(TM)s see if, quantitatively, thereâ(TM)s any truth to the perception that the code velocity (net lines shipped per developer-year) of Windows has slowed, or is slow relative to the industry. Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million. There are about two thousand software developers in Windows today. Assuming there are 5 years between when XP shipped and when Vista ships, those quick on the draw with calculators will discover that, on average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista. Only a thousand lines a
The World As Best As I Remember It
Broken Windows Theory
Vista. The term stirs the imagination to conceive of beautiful possibilities just around the corner. And "just around the corner" is what Windows Vista has been, and has remained, for the past two years. In this time, Vista has suffered a series of high-profile delays, including most recently the announcement that it would be delayed until 2007. The largest software project in mankind's history now threatens to also be the longest.
Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and white. "Vista is a bloated piece of crap," my furry little penguine would opine, "written by the bumbling serfs of an evil capitalistic megalomaniac." But that'd be dead wrong. The truth is far more nuanced than that. Deeper than that. More subtle than that.
I managed developer teams in Windows for five years, and have only begun to reflect on the experience now that I have recently switched teams. Through a series of conversations with other leaders that have similarly left The Collective, several root causes have emerged as lasting characterizations of what's really wrong in The Empire.
Useless Trivia Sidebar: Broken Windows Theory
The original broken windows theory, first coined by Wilson and Kelling, describes the purported phenomenon whereby an abandoned warehouse with no broken windows is mostly left alone, but as soon as one window is broken, it acts as an open invitation to passers-by that it's open-season for rock-throwing.
This was generally accepted for many years as being true, but is recently coming under fire from different angles. We won't delve into those here, since we mostly commandeered the phrase because it sounded good, not because it actually has anything at all to do with our subject matter.
The Usual Suspects
Ask any developer in Windows why Vista is plagued by delays, and they'll say that the code is way too complicated, and that the pace of coding has been tremendously slowed down by overbearing process. These claims have already been covered in other popular literature. A quick recap for those of you just joining the broadcast:
* 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.
Let's see if, quantitatively, there's any truth to the perception that the code velocity (net lines shipped per developer-year) of Windows has slowed, or is slow relative to the industry. Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million. There are about two thousand software developers in Windows today. Assuming there are 5 years between when XP shipped and when Vista ships, those quick on the draw with calculators will discover that, on average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista. Only a thousand lines a year. (Yes, developers don't just write new code, they
The World As Best As I Remember It
Broken Windows Theory
[This was originally posted a week ago, and yanked of my own volition. What followed was a firestorm of speculation about how The Man beat me down, etc, which is completely untrue. Now I repost this back, only to quell the speculation. Blog on.]
Vista. The term stirs the imagination to conceive of beautiful possibilities just around the corner. And "just around the corner" is what Windows Vista has been, and has remained, for the past two years. In this time, Vista has suffered a series of high-profile delays, including most recently the announcement that it would be delayed until 2007. The largest software project in mankind's history now threatens to also be the longest.
Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and white. "Vista is a bloated piece of crap," my furry little penguin would opine, "written by the bumbling serfs of an evil capitalistic megalomaniac." But that'd be dead wrong. The truth is far more nuanced than that. Deeper than that. More subtle than that.
I managed developer teams in Windows for five years, and have only begun to reflect on the experience now that I have recently switched teams. Through a series of conversations with other leaders that have similarly left The Collective, several root causes have emerged as lasting characterizations of what's really wrong in The Empire.
Useless Trivia Sidebar: Broken Windows Theory
The original broken windows theory, first coined by Wilson and Kelling, describes the purported phenomenon whereby an abandoned warehouse with no broken windows is mostly left alone, but as soon as one window is broken, it acts as an open invitation to passers-by that it's open-season for rock-throwing.
This was generally accepted for many years as being true, but is recently coming under fire from different angles. We won't delve into those here, since we mostly commandeered the phrase because it sounded good, not because it actually has anything at all to do with our subject matter.
The Usual Suspects
Ask any developer in Windows why Vista is plagued by delays, and they'll say that the code is way too complicated, and that the pace of coding has been tremendously slowed down by overbearing process. These claims have already been covered in other popular literature. A quick recap for those of you just joining the broadcast:
* 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.
Let's see if, quantitatively, there's any truth to the perception that the code velocity (net lines shipped per developer-year) of Windows has slowed, or is slow relative to the industry. Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million. There are about two thousand software developers in Windows today. Assuming there are 5 years between when XP shipped and when Vista ships, those quick
Since he's committed the "crime" of pulling the post... here y'all go.
Broken Windows Theory
Vista. The term stirs the imagination to conceive of beautiful possibilities just around the corner. And "just around the corner" is what Windows Vista has been, and has remained, for the past two years. In this time, Vista has suffered a series of high-profile delays, including most recently the announcement that it would be delayed until 2007. The largest software project in mankind's history now threatens to also be the longest.
Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and white. "Vista is a bloated piece of crap," my furry little penguin would opine, "written by the bumbling serfs of an evil capitalistic megalomaniac." But that'd be dead wrong. The truth is far more nuanced than that. Deeper than that. More subtle than that.
I managed developer teams in Windows for five years, and have only begun to reflect on the experience now that I have recently switched teams. Through a series of conversations with other leaders that have similarly left The Collective, several root causes have emerged as lasting characterizations of what's really wrong in The Empire.
Useless Trivia Sidebar: Broken Windows Theory
The original broken windows theory, first coined by Wilson and Kelling, describes the purported phenomenon whereby an abandoned warehouse with no broken windows is mostly left alone, but as soon as one window is broken, it acts as an open invitation to passers-by that it's open-season for rock-throwing.
This was generally accepted for many years as being true, but is recently coming under fire from different angles. We won't delve into those here, since we mostly commandeered the phrase because it sounded good, not because it actually has anything at all to do with our subject matter.
The Usual Suspects
Ask any developer in Windows why Vista is plagued by delays, and they'll say that the code is way too complicated, and that the pace of coding has been tremendously slowed down by overbearing process. These claims have already been covered in other popular literature. A quick recap for those of you just joining the broadcast:
* 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.
Let's see if, quantitatively, there's any truth to the perception that the code velocity (net lines shipped per developer-year) of Windows has slowed, or is slow relative to the industry. Vista is said to have over 50 million lines of code, whereas XP was said to have around 40 million. There are about two thousand software developers in Windows today. Assuming there are 5 years between when XP shipped and when Vista ships, those quick on the draw with calculators will discover that, on average, the typical Windows developer has produced one thousand new lines of shipped code per year during Vista. Only a thousand lines a year. (Yes, dev
I don't get that, I get:
[I have removed the rest of this post of my own volition, without any external pressure whatsoever. What started as an opinion on the challenges of managing large software projects has turned out to be a rallying point for detractors, which isn't interesting or productive. - Ed.]
So, does anyone have the article?
Yeah, I was shocked by that. Where does that figure come from? No wonder we're losing to India. If you're a software engineer who only writes 6200 lines of code a year, then you're likely nothing more than a dumbass slacker. Either that or I need to be asking for a serious raise. I'm usually too busy doing other tasks to get to writing code as often as I'd like but I've easily passed the 12 thousand mark for this year (granted that includes newlines and comments, but still). Fuck it! I'm gonna start spending more time on /.
It always amazes me that upper level managers seem to think that they can always cut time off of the schedule that engineers give them. I just watched the "Gambit" episode of ST:TNG the other day and it provides a perfect example:
NARIK: It will take at least five hours to replace the anti-matter containment unit.
BARAN: You have three hours, Narik. One minute beyond that and you'll answer for it with your life.
Narik glares at Baran, but has little choice except tonod and EXIT the Bridge.
With a couple simple substitutions, as follows
s/anti-matter conainment unit/subroutines/
s/life/job/
it sounds a LOT like a lot of meetings I have been to.
Apparently lotsa management people think that they are accomplishing something by just TELLING engineers to take less time. In cases like this, I have actually asked managers "Are you always going to cut down my estimates so that I *have* to give you inflated estimates so that you can cut them down to what it'll really take? Or would you rather I tell you how long it will really take and you will respect that? Either way is okay with me... just let me know how things work around here."
Sheesh
P.S. Interestingly, we seldom see Picard do that.
No, if you'd be a Mac developer, you couldn't be any happier. After every switch, you can sell your almost-same app again. And nobody will even blame you for it. It's the end users who are tormented. Apple seems to be one of the very few IT companies able to get away with it.
Article text, from the google cache:
http://66.102.7.104/search?q=cache:OxIU8nS0KaIJ:bl ogs.msdn.com/philipsu/archive/2006/06/05/617988.as px+site:blogs.msdn.com+%22Broken+Windows+Theory%22 +vista&hl=en&ct=clnk&cd=1
Broken Windows Theory
Vista. The term stirs the imagination to conceive of beautiful possibilities just around the corner. And "just around the corner" is what Windows Vista has been, and has remained, for the past two years. In this time, Vista has suffered a series of high-profile delays, including most recently the announcement that it would be delayed until 2007. The largest software project in mankind's history now threatens to also be the longest.
Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and white. "Vista is a bloated piece of crap," my furry little penguine would opine, "written by the bumbling serfs of an evil capitalistic megalomaniac." But that'd be dead wrong. The truth is far more nuanced than that. Deeper than that. More subtle than that.
I managed developer teams in Windows for five years, and have only begun to reflect on the experience now that I have recently switched teams. Through a series of conversations with other leaders that have similarly left The Collective, several root causes have emerged as lasting characterizations of what's really wrong in The Empire.
Useless Trivia Sidebar: Broken Windows Theory
The original broken windows theory, first coined by Wilson and Kelling, describes the purported phenomenon whereby an abandoned warehouse with no broken windows is mostly left alone, but as soon as one window is broken, it acts as an open invitation to passers-by that it's open-season for rock-throwing.
This was generally accepted for many years as being true, but is recently coming under fire from different angles. We won't delve into those here, since we mostly commandeered the phrase because it sounded good, not because it actually has anything at all to do with our subject matter.
The Usual Suspects
Ask any developer in Windows why Vista is plagued by delays, and they'll say that the code is way too complicated, and that the pace of coding has been tremendously slowed down by overbearing process. These claims have already been covered in other popular literature. A quick recap for those of you just joining the broadcast:
* 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.
Let's see if, quantitatively, there's any truth to the perception that the code velocity (net lines shipped per developer-year) of Windows has slowed, or is slow relative to the industry. Vista is said to have over 50 million li
posts on Slashdot I have read in quite some time. If you polished this up a bit and added some references, I think it would stand on its own as a decent essay. You would get flamed for your opinionated view, but overall I think it is an interesting way to start looking. I know people have said "the desktop will die" before, but I think this was perhaps the best argument for it.
:)
Oh, and for a name: CompuGlobalHyperMegaNet, or CGHMN for short.
The issue are before you even start writing the first line of code you need to work to establish the requirements. Sure there might be a little prototyping during this phase but it is usually heavily non-code driven (be it documents, databases, wiki's etc). During the entire requirements phase you are spending days but getting no code.
Then, often there is a little bit if a design phase where people who rarely can code their way out of a paper bag get really excited about what the objects are, what the methods are and they argue about if something might be a pattern for a while. Again, spending days and getting no code.
Then the coding starts, some of the developers that did the requirements and design are still around but they are starting to loose interest because this coding stuff is below them. They had off the pretty designs to some mid level to junior engineers to do that monkey work of writing code and they move to another project. The "code monkeys" start to implement the design and find that large portions of it are not workable and so they throw away pieces that were started by the design gods and write something that works. At this point we finally start getting some code while the days are being spent, but we loose some too as the crappy stuff is thrown away (and what is thrown away is not counted at the end when they count lines of code / days).
Next comes integration so we can get all of the code from all of the players working together. Again another batch of developers bail out. SSure it was fun to pick on those design guys and rewrite their stuff but now that the real code has to run together on the real hardware and not just unit tests it is less fun because you need to get familiar with almost everyone's code. The remaining developers are totally baffled as to why integration is going so poorly. I mean they selected to program in so this should never happen. They work to get the code going and make slow progress. Some smaller percentage of the developers just sit back and talk to each other about how things could have been on the project if there had just been some up-front design work.
In the end, the product finally makes it out there, full of buffer overflows, memory leaks and all sorts of bugs but the productivity is poor because there were just too many days when no code was written. Too many days when code was written and tossed away and too many mini-managers who spent time talking about the way it program should have been run.
Wow, some of that felt good to write. Behind all of that complaining though there are some real truths. Even if you are running the most agile process in the world and avoid many of the pitfalls I mentioned, there are still days where there are meetings, requirements changes and other impacts were no code gets written but days get spent. The bigger the project, the more of this there is.
Learn it, love it, live it...
Oh, and I forgot to mention all the days where you are collecting metrics and justifying why metric 3 has a 2% variance over the threshold line that was set by someone that never wrote a line of code in their life....
If you are only managing 30 LOC/night when actually writing code, you would probably pull down the average LOC/day on projects I have worked on where we "book" 12-30 LOC/day loaded with all that crap above.
--- Liberty in our Lifetime
It's still in google cache: http://72.14.203.104/search?q=cache:OxIU8nS0KaIJ:b logs.msdn.com/philipsu/archive/2006/06/05/617988.a spx+The+term+stirs+the+imagination+to+conceive+of+ beautiful+possibilities+just+around+the+corner.&hl =en&gl=us&ct=clnk&cd=1
I still think the Bill Atkinson story is the best example of how stupid lines of code is as a metric: http://www.folklore.org/StoryView.py?project=Macin tosh&story=Negative_2000_Lines_Of_Code.txt&sortOrd er=Sort%20by%20Date&detail=medium&search=lines%20o f%20code
Chris
I know! MS should use GNU Hurd for the Vista kernel!
Ok, first part was right- DOS, then Win1-3 on top. Win1-3 used dos's device drivers to operate the comp's hardware. I call that building the OS on top of DOS. DOS was single-threaded. Win1-3 used cooperative multitasking, which means that the OS itself was really just an elaborate extensible single-threaded program. You were running multiple "programs" (more like relocatable code blocks, really), and control would switch from one to the next when they called "GetMessage". If your program went into an infinite loop without calling this function, it was time for CTRL-ALT-DEL.
;-) They could access it just fine.
Win95 brought 2 main things with it- the Win32 API (for windowing, process/thread stuff, etc, all designed for 32-bit), and native device drivers. Win95 had some DOS compatibility in it, and needed to be able to use DOS drivers for backward compatibility. However, many DOS drivers no longer worked (like, network stuff- I seem to remember that the Novell drivers stopped working with Win95 and we had to get new ones) so you can't say that Win95 was built on top of DOS. It just had a lot of backward compatibility. Most notably, Win95 had real multithreading. It could actually divide processor time between jobs, and divide it between threads within a process without any programmer gymnastics.
The difference between Win95 and WinNT4 was that 95 didn't have separate memory spaces. Each program was just using space in the giant pool of memory, and could overwrite other programs' data at will. yada yada performance video games etc. WinNT4 was actually stable, and provided each prog with a separate memory space, and required complicated (for someone who's never dealt with it before) memory mapping in order to share data between apps. In Win95/98/ME, all you had to do to share data was pass a pointer using a window message to the other prog's main window
Win98 was Win95 with more device drivers and more APIs and more GUI features.
WinME was Win98 with more device drivers and more APIs and more GUI features.
None of this line had protected memory regions. This is why WinME sucked so badly- it had a few bugs and they could take down the system since everything was so tightly integrated.
Win2K was WinNT with most of Win98's functionality. WinNT had been gaining functionality over time, with SP1/SP2/SP3/SP4, but when they finally got it so that it could run most Win98 progs, (and a bunch of API calls that were only on Win9X for some reason) they released it as Win2K. Win2K has a DOS emulator in it, and is itself completely incompatible with DOS. It is completely invalid to say that 2K is in any way based on DOS. I still use Win2K. Win2K is solid stable etc, and I've had uptimes as high as 83 days, while using it under very high load, such as running JBuilder 9 and WoW at the same time, along with Trillian, Winamp, Cygwin's X server, and a whole host of other nifty software. (the thing that ended my uptime was, of course, Windows Media Player, haha. I opened it by accident instead of VLC. I have since deleted its exe) Most of my uptimes are ended by power outages.
WinXP was just Win2K with some improved legacy emulation ("pretend to be Win95 for this program") some (improved?) networking like the firewall, and some additional GUI stuff, like styled window borders. Oh and remote desktop features. (which have been possible all along, since Win95 or so, but never implemented. Those curious should investigate the Windows Metafile ".WMF")
Vista seems that its main attraction will be the GUI, again. But we'll see.
Mark of the Coder fades from you. You perform Opening on World of Warcraft. Warcraft crits GPA for 4. GPA dies.
Maybe it was different in other projects, but for SMS 2.0 they set the project back 4 months by scrapping the UI and deciding to go with the MMC. A justifiable decision (if the mmc weren't such a user-hostile piece of shit) a year earlier, maybe.
Then the furious push and feature prune to get out the door before NT 5.0. Which they managed by only a year and a half. Seriously: they couldn't get a ship date estimate any better than that?
I saw a lot of folks who were very impressed with themselves and missing some fundamental humanity, folks willing to sabotage the effort to screw a personal enemy, folks passionate about that which could not sustain passion. Stepford.
There were some brilliant folks, but they were vastly outnumbered by the folks who only thought they were brilliant.
The only thing impressive about the place, the only reason they can get anything done at all, is a culture where coders are still royalty. They short-circuited the Peter Principle. Rewards and status didn't follow org charts. So a productive programmer could get ahead without becoming a suit.
And come on - when will this shit be enterprise ready? Not in the dancing bear sense - whoa, that's actually running in an enterprise (with a lot of custom code and fabulously expensive consultants and shitty downtime)! But as a natural, logical choice as the best alternative.
a REALLY productive programmer would be one
who could REDUCE the lines of code with a simpler
and more generalized algorithm.
2cents
j
Measuring software productivity by lines of code is like
measuring progress on an aeroplane by how much it weighs.
(Bill Gates)
Your post is full of falacies. Why shouldn't a piece of software for a desktop OS by larger than that for a nuclear power station? You give no reasoning.
If anything I can fully imagine the code for a nuclear power station being much smaller than a desktop OS, for one a desktop OS is much more flexible, and for two, when it comes to something that must be 100% reliable and 100% robust, you want to keep the number of lines of code to an absolute minimum to make it possible to check all code paths, and maintain the code without introducing bugs.
The Blogging author said: Is Vista hard to manage or unmanageable? From the blog it seems that traditional management practices (it just seemed to be typical large company management style) are strained to the breaking point. Also, this may be a dumb question, but why does wondows need to be as large as it is?
Who knew that Windows development at Microsoft was anything like Iraq in the Bush administration. Tell the truth and it won't be accepted...