Forgot your password?
typodupeerror

Why Vista Release Date Really Slipped 562

Posted by samzenpus
from the better-excuses dept.
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 ;-)."
This discussion has been archived. No new comments can be posted.

Why Vista Release Date Really Slipped

Comments Filter:
  • by (1+-sqrt(5))*(2**-1) (868173) <1.61803phi@gmail.com> on Thursday June 15, 2006 @07:50AM (#15538748) Homepage
    From TFA:
    We shouldn't forget despite all this that Windows Vista remains the largest concerted software project in human history.
    David Wheeler, for instance, calculated that Redhat 7.1 contained 30,152,114 [dwheeler.com] physical source lines of code (SLOC), a 60% increase over 6.2 (and that was in 2001).

    Linear extrapolation would take us to about eighty-two-million today, comfortably over Vista's projected fifty-million; but who's counting?

    • by linvir (970218) * on Thursday June 15, 2006 @08:02AM (#15538791)

      According to this data [tripod.com], those figures put Vista somewhere above Piccolo after merging with Kami, with Red Hat at the level of Super Saiyan Vegeta (after time chamber). In the words of the late great Leonard Nimoy, fascinating.

      Also, what bracketing convention does each of those use? Are Red Hat artificially inflating their count with 15,000,000 lines consisting of

      {
      and another 15,000,000 consisting of
      // loop starts here
      ?
    • by plover (150551) * on Thursday June 15, 2006 @08:04AM (#15538796) Homepage Journal
      I think you're completely discounting the original usage of the word "concerted."

      Debian isn't a concerted effort by any stretch of the imagination. It consists of thousands of modules that really exist independently of one another; the vast majority of them were not even written specifically for Debian at all, but rather for Linux in the general sense. They were simply included in the package. I'd go so far as to guess that some of them made it in "by proximity" -- they were in the same directory as something useful, and someone came along and did a 'cp coolutility/* /distro/coolutility/*'.

      Now, if the Debian project managers were told to write specs for all n-thousand of these modules, and then told "deliver these modules so we can have the next 'eager beaver' release," then you'd be looking at a concerted effort.

      • So the difference is that Debian is nicely modular while Vista is impenetrable spaghetti code.

        Figured as much.
      • 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.

        Re
        • Arguably, Debian developers are acting in much more harmony and conjuction than Vista devlopers, because the low overall communication between the individual developers makes the code and the interfaces between the modules all that cleaner, and encourages good code documentation.

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

        • by joranbelar (567325) on Thursday June 15, 2006 @12:57PM (#15541131) Homepage
          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]
      • by Zigurd (3528) on Thursday June 15, 2006 @10:15AM (#15539637) Homepage
        Now, if the Debian project managers were told to write specs for all n-thousand of these modules, and then told "deliver these modules so we can have the next 'eager beaver' release," then you'd be looking at a concerted effort.

        You have answered youself: TFA asks if a project the size of Windows in controllable. In an environment where the tone is set by Steve Ballmer the answer sure looks like "No." Maybe "Hell no."

        TFA also states Windows has 50 layers and circular dependencies. Linux has complex version and interface dependencies, too. But, evidently, the Windows dependencies are hairy enough to flummox 2000 smart people working in "concert" while Linux gets by with only a handful or people working in the same place at the same time and a much simpler process.

        That is, Linux has better modularity and less process.

        That points to the depth of the problem at Microsoft: They will have to change almost everything about how Windows is made in order to get a different result:

        They have to stop telling developers to "do or die." Has that ever happened in the entire course of Linux development? Probably not. It's something that software project management can do without.

        They have to get strong product management that knows which features are actually important, so you don't get that "do or die" message being sent to teams that are making things that don't add that much value.

        They have to decouple development more: Why on Earth do you need to have 2000 people working in concert on any software project? That's a bug, not a feature.

        They have to un-layer their management structure. 11 layers? That's ridiculous for a software company.

        There is no one prescription for success. Apple succeeds by having very strong product management, so they know which features are actually important to the end user. Linux succeeds by having no product management at all, and having to adapt process to the practical constraints of being FOSS. Microsoft is stuck in the middle: Not enough product management strength to know which parts really deserve a "do or die" effort, and so much process, interdependency, and management layers that any of the 500 product managers Microsoft already employs that are smart enough to make these decisions can't possibly put them into effect.
        • Eleven (11) layers of management is ridiculous for ANY company. When I worked at Unisys we had four (two layers of management at our facility and two more in Blue Bell), and when I worked at NWA we had five:

          (1) Peons ("individual contributors") like me (i.e., not a manager).
          (2) Managers
          (3) Directors
          (4) Managing Directors
          (5) VP
          (6) CEO

          I think. There might've been a layer between 5 and 6. But that'd be six layers of management at most, and at the operational level where we worked there were really only two
        • Stop telling them what to do.
        • Quote from Toyota (Score:5, Insightful)

          by rewt66 (738525) on Thursday June 15, 2006 @11:22AM (#15540244)
          "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."
        • by Locutus (9039)
          TFA also states Windows has 50 layers and circular dependencies. Linux has complex version and interface dependencies, too. But, evidently, the Windows dependencies are hairy enough to flummox 2000 smart people working in "concert" while Linux gets by with only a handful or people working in the same place at the same time and a much simpler process.

          That is, Linux has better modularity and less process.

          So, 'integration' is what's holding Microsoft developers back while 'integration' is what the Microso

    • How many of those thirty million lines were written as a concerted effort of Redhat?
    • It also depends on how you draw the line on what's a single software product.

      Vista Ultimate is going to have tons more code than Vista Basic simply because of all the extra bundled apps. Linux is another good example--Red Hat includes the GNU tools and assorted applications, Ubuntu's base distro fits on a single CD, whereas Debian and SUSE's official distros provide everything but the kitchen sink and probably contain an order of magnitude more code as a result.

    • by _|()|\| (159991) on Thursday June 15, 2006 @09:18AM (#15539170)
      Linear extrapolation would take us to about eighty-two-million today, comfortably over Vista's projected fifty-million

      Linux distributions (including this linearly extrapolated Red Hat Linux) contain an office suite, development tools, and a DBMS, so you should also compare them to Office, Visual Studio, and SQL Server.

    • software project vs physical source lines of code ...

      Since when is the size of a project and needed resources expressed in lines of code?

      Consider a 5 person project with one manager. They're building an "innovating revolutionary" program.
      Bob came up with the same idea, but codes in his free time... However Bob is less organized in his coding, and still is "learning" so his code will be less efficient.

      The team releases their version, as does Bob.
      Bobs program counts more lines then the teams' but the t

    • I miss the days when people took pride in using less code and/or more efficient code to do a given task. Now writing *more* code to do a task is in vogue?
  • by eldavojohn (898314) * <eldavojohn@nOspAM.gmail.com> on Thursday June 15, 2006 @07:51AM (#15538749) Journal
    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.
    • by plover (150551) * on Thursday June 15, 2006 @08:07AM (#15538811) Homepage Journal
      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?"

      Actually, Windows developers go "What the CHKDSK.EXE?"

    • by Anonymous Coward on Thursday June 15, 2006 @08:07AM (#15538812)
      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.


      Tell that to all of the Software Assurance customers whose deal ends in December of '06.
      • Tell that to all of the Software Assurance customers whose deal ends in December of '06.

        Microsoft doesn't guarantee updates every two years (or whatever your term length is). They just guarantee that you get any updates that occur during the term of your agreement.

        Also, it'll be available to volume license customers in November, which you should already know.

        Tard.
        • by R2.0 (532027) on Thursday June 15, 2006 @09:40AM (#15539345)
          Guarantee updates every 2 years? No.

          Predict that the software would be updated? Yes, and that's how they sold Software Assurance.

          Can the SA customers sue to get their money back? Probably not, although some will try.

          Will the SA customers renew? Hell no - they probably would have been better off buying Vista retail a year from now (after the bugs are known).

          Is Microsoft going to lose revenues because of the Vista delay? Oh yeah.
    • 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.

      Yeah, but they did sell a bunch of subscription licenses, and screwed over any clients that had the expectation of getting a new version of Windows within that time frame!

      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 thi

    • It's a new operating system.

      It's an upgrade to an existing operating system.

      If Vista is as complicated as its specs say it is, I hope Microsoft takes another two years to get this done

      Operating systems are Microsoft's core competency. You would think that by now Microsoft would know how to estimate the scope of the project required to write an upgrade for an existing operating system.

      The delays, no matter how well explained, are still delays; and are continuing evidence of Microsoft's incompe

      • by crerwin (971247) <<moc.liamg> <ta> <niwrerc>> on Thursday June 15, 2006 @09:07AM (#15539095) Homepage
        It's an upgrade to an existing operating system.

        Well, sure, it's an 'upgrade' to the 'Windows' operating system line, but not in the same way that 98 was an upgrade of 95. I guess it's somewhat based on Windows 2003, but the point is that it is certainly a large undertaking, unlike the 'minor' upgrade Longhorne was originally supposed to be in preparation for Blackcomb. It is mostly new code, and lots of it.

        ...continuing evidence of Microsoft's incompetence in the area of operating system development.

        I certainly have no evidence to back this up, but I would imagine that Microsoft has some of the best programming minds working for them. They also probably have some fantastic team leads and managers. I don't think the problem lies in an incompetence in the area of OS development, but rather in a company philosophy that has too many restrictions and silly requirements. Their programmers most likely spend a lot of time integrating DRM and proprietary replacements for perfectly viable technologies into their otherwise quality code. I guess all in all this equates to an overall conclusion that Microsoft has trouble producing quality operating systems in a timely manner, but it doesn't sound like incompetence on the programming end.

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

      Why would Microsoft give you a hand signed piece of paper for any operating system release? MS Execs have publically stated that the release would be in 2006.

    • 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.
      Same in Opera.
    • 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.

      This is my beef with Vista. It is late and when it ships, I expect it to be buggy with many follow-on Service Packs. The reason it is late and buggy is the absurd devotion to backwards compatability. I don't understand it. I could accept software compatability, but the hardware aspect is mystifying.

      • This is my beef with Vista. It is late and when it ships, I expect it to be buggy with many follow-on Service Packs. The reason it is late and buggy is the absurd devotion to backwards compatability. I don't understand it. I could accept software compatability, but the hardware aspect is mystifying. Microsoft could spend five more years trying to get Vista to be all things to all people, but its stupid. OS X ships every 18-24 months. Granted this is not a full up new OS, but these releases are much more sig
        • by JonathanBoyd (644397) on Thursday June 15, 2006 @11:14AM (#15540169) Homepage
          I'm waiting for the little light bulb to go off in your mind that explains to you the reason why Macs have a 4% worldwide market share.

          Historical reasons laregly rooted in their reufsal to license the OS. Not issues with backward compatability. Their market share was low way before that came up.

          My company does have a few Macs for specific tasks, and we couldn't even upgrade to OSX at all until a few months ago - let alone any "latest version" - because one of the apps we use, Media 100i, wouldn't work properly on OSX

          Didn't they release a new version almost 4 years ago [macworld.com] that took advantage of the features of Mac OS X [media100.com]?

          If you have to upgrade your hardware and apps at the same time as you upgrade your OS, that is both a huge expense and a huge disruption to any company.

          We've used quite a few iMacs and Powermacs which have gone from OS 8 up to 10.4.6. Occasisonally the software does change, but the vast majority of it has run fine in Classic. There are very applications that have problems with it. The one you use may be one of them, but they brought out an OS X native version years ago.

          (I never tried it in compatibility mode, but was told not to) [...] Apple does not believe in backward compatibility

          So, Apple has a compatibility mode (called Classic, by the way), but doesn't believe in backward compatability? That sounds a little contradictory. And you've heard of Rosetta [apple.com] haven't you? It features superb compatability across a different processor architecture.

    • by bilgebag (102479) on Thursday June 15, 2006 @08:42AM (#15538968) Journal
      It's a new operating system.
      No, no it's not. As has been pointed out, it's an upgrade. It's not even the original upgrade that was promised for 2003, and it doesn't have many of the new vapour-ware features which have been touted along the way (WinFS, Monad, Trusted Computing Base) and isn't even 'largely' rewritten to use .NET internally.

      Like Windows XP to Windows 2000, this is largely a GUI re-design. KDE and Gnome knock one of those out about once every six months. Apple's releases evolve rather than revolutionise, but they tend to over-deliver on their promises.

      Did you believe this 'new operating system' shtick when Windows 95 came out? 98? ME? NT3.51? NT4? W2K, XP? W2K3? It's getting old. Bill needs to learn a new mantra.

      The last new (PC) operating system Microsoft released was Windows NT 3 (largely based on the work of IBM and ex-DEC employees) and it took them over 7 years to phase out the old DOS based Windows and get back to one offering which wasn't a complete piece of poo.

      When are you going to stop believing the marketing?
    • 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.


      Not only did they do so in what is called a press release, but they held public demos of Longhorn and proclaimed its target release date. And the original announced date was 2003.

      In 2006, there were public statements made that Vista would be out by the end of the year, no matter what. That was another lie.
  • Slashdot (Score:4, Funny)

    by linvir (970218) * on Thursday June 15, 2006 @07:54AM (#15538763)
    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.

    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)

  • grammar (Score:5, Funny)

    by Sathias (884801) on Thursday June 15, 2006 @07:54AM (#15538765)
    Obviously the other thing that is too complex is the whole to/too/two thing ;)
  • by ChowRiit (939581) on Thursday June 15, 2006 @07:54AM (#15538767)
    Vista code being /too/ complicated...
  • by yobjob (942868)
    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?
  • Lines of Code? (Score:5, Insightful)

    by bmongar (230600) on Thursday June 15, 2006 @08:03AM (#15538793)
    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.
    • It's an aweful metric to use

      For bug fixes I find the measure of lines removed to be of some use. If they want to convey meaning they could quote a figure on the number of requirements implemented and validated to date or per unit effort or something. That at least has a better chance of giving a measure of progress.

    • Agreed. Hell, one could fit Vista on one line if you want, just make it a really long one. :P
    • I'd rather one perfect line of code, and 4999 lines of comments explaining what the line of code does and why it is perfect.
    • Re:Lines of Code? (Score:3, Insightful)

      by martinmarv (920771)
      Agreed. If I type

      If CorrectPassword(input) Then
            allowlogin = True
      Else
            allowlogin = False
      Endif

      am I five times better than

      allowlogin = CorrectPassword(input)
      ?
    • Re:Lines of Code? (Score:5, Informative)

      by hlh_nospam (178327) <concealedhandgun AT gmail DOT com> on Thursday June 15, 2006 @09:19AM (#15539174) Homepage Journal
      [bmongar] Wow, who uses lines of code as a metric.


      This brought back a memory of an event that I still find amusing after all of these years. Back in 1978, I was working for a defense contractor. I remember a department meeting in which one of the managers brought in a stack of graybar printout and proudly held a ruler next to it. He proclaimed that his group had produced 9 "side-inches" (the depth of the paper stack) of software, and outlined several items that were to be given to his group as a reward for such an outstanding accomplishment. Next meeting, all the managers brought stack of graybar and rulers. And surprise! surprise! surprise!, every one of those stacks was even more than 9 inches deep.

      Within a year, over half of the projects represented by those stacks of graybar had been cancelled, unfinished. Today, that company is no longer in business.

      As has been pointed out by many authors on the subject, you get what you measure.

  • by Minwee (522556) <dcr@neverwhen.org> on Thursday June 15, 2006 @08:03AM (#15538795) Homepage

    ...as bear is to taking a crap in the woods?

    ...as Pope is to being Catholic?

  • (which is *only* 1200 lines less than the national average of 6200 lines of code per year).

    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.

    • Source for averages? (Score:5, Interesting)

      by Anonymous Brave Guy (457657) on Thursday June 15, 2006 @08:34AM (#15538928)

      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?

  • Twas ever thus (Score:3, Insightful)

    by sane? (179855) on Thursday June 15, 2006 @08:08AM (#15538814)
    Managers blame the workers
    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

    • Maybe if the team manager wasn't writing a blog, and concentrated on managing his team, Vista might not slip so much. I'll consult my Gantt chart and get back to you.
  • Summary == Wrong (Score:4, Informative)

    by ahsile (187881) on Thursday June 15, 2006 @08:09AM (#15538815) Homepage Journal
    The article says the monkeys in Redmond only write 1000 lines of code a year:


    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.


    5000 lines per year is mentioned as a joke...
  • by MacBrave (247640) on Thursday June 15, 2006 @08:14AM (#15538832) Journal
    From the blog:


    The largest software project in mankind's history now threatens to also be the longest.


    Nah, that would be Duke Nukem Forever........

  • by Sowilo (970468) on Thursday June 15, 2006 @08:20AM (#15538860)
    Philip tells us in the blog, that Windows developers are writing on average of 5000 lines of code (which is *only* 1200 lines less than the national average of 6200 lines of code per year).
    No, actually, he doesn't tell us that at all. From TFA:
    ... 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. ... 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.
    Rather than the paltry "1200 line" decrease suggested by the writeup, what we actually have is a 5000 line decrease, and the MS developers are on average each producing less than 17% of the national average. Most of this is probably due to various factors of bureaucratic bloat and Windows bloat in general, but if I had a company full of workers whose pace was less than 20% of the national average, I'd be gravely concerned. Of course, it'd almost be fine if that 20% was QUALITY code, but, well... Consider the source. Reviewing its history, I somehow doubt that Windows code is in any way "bug-free" or "easily maintainable"...
  • Renamed (Score:2, Redundant)

    by BenBenBen (249969)
    I thought they changed the name to 'OSX Forever'?
  • by Zobeid (314469) on Thursday June 15, 2006 @08:23AM (#15538874)
    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.
  • Hmmm... (Score:5, Insightful)

    by pubjames (468013) on Thursday June 15, 2006 @08:28AM (#15538898)
    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.
    • Re:Hmmm... (Score:5, Insightful)

      by zoomba (227393) <mfc131&gmail,com> on Thursday June 15, 2006 @08:45AM (#15538983) Homepage
      I'm a Mac user, got a great powerbook running 10.4, but I have to jump in on this point to point out the differences between OS X and Vista in terms of complexity and development time.

      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.

      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.

      Personally, I think that MS bit off way more than it could chew with Vista. They shot for the moon when in reality they should have been happy with breaking Earth orbit. If you look at the evolution of MacOS, you'll see many iterative improvements every 18 or so months. It kept the OS fresh, added features at a reasonable pace for both developers and users, and didn't get sucked into development hell. OS X has taken this approach with it's point releases every year or so. OS X, while a huge shift from OS 9, wasn't on the same scale as the Vista shift is for Microsoft.
      • Re:Hmmm... (Score:5, Insightful)

        by LordLucless (582312) on Thursday June 15, 2006 @10:10AM (#15539597)
        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.

        So in other words, the problems MS needs to solve have already been solved, MS is just pig-headed and wants to roll their own solution instead of using one that's been tempered over the last 20 years. I'm not sure that's a good thing.

        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.

        That makes it harder for driver writers, but not much more. When windows talks to hardware, it doesn't really talk to hardware. It talks to drivers, and drivers talk to hardware. Since all the windows drivers have the seem interface, it really doesn't matter what hardware you run it on, as long as the drivers you write implement the interface correctly. Since MS already has the drivers from old versions of windows, it should be fairly simple to rework them to use the new interface; unless there are major changes in driver-OS interaction (and there really shouldn't be - they've had time enough to get it right) it shouldn't be too time-consuming even to do that.
        • Re:Hmmm... (Score:3, Insightful)

          by Sax Maniac (88550)
          Are you _really_ suggesting MS could save time by throwing the kernel out and replacing it with something else?

          Many Windows program are really poorly behaved, and are utterly welded they are to every documented and undocumented aspect of every version of Windows ever written. Read Raymond Chen's blog - it's full of things that would blow your mind. App Z crashes in Windows X but not Windows X-1. Why? Well, it's using invalid memory after a free, and the allocator changed a bit between X and X-1 for othe
  • by thechronic (892545) on Thursday June 15, 2006 @09:01AM (#15539065)
    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.
    • Hey, Vista is not Software Engineering 101. Everyone who participated in a major software project probably ended up accepting circular dependencies. It's a compromise between the size and usability of a module on one hand and independency on the other. And if you don't want to duplicate code (talking about SE-101), things can get quite complex in such a big system.

      Not that I'm looking forward of installing it on my Dual Core iMac, though...
  • by xRelisH (647464) on Thursday June 15, 2006 @09:02AM (#15539073)
    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.
  • by Grismar (840501) on Thursday June 15, 2006 @09:31AM (#15539253)
    ... who think this writer should lay of the Ctrl+B for a bit? The emphasis in my inner voice is driving me bonkers.
  • by guruevi (827432) <evi@@@smokingcube...be> on Thursday June 15, 2006 @09:31AM (#15539254) Homepage
    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...
    • by porkchop_d_clown (39923) <mwheinz@@@me...com> on Thursday June 15, 2006 @09:39AM (#15539330) Homepage
      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.
  • by Rinzai (694786) on Thursday June 15, 2006 @09:36AM (#15539307) Journal
    I wrote 5,000 lines of code last month. Most of them were very, very, short. They're all in QA right now, too.

    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

    • I used to hate schedules, until I learned to respect both sides of the _real_ issues:

      1. Schedules tell me that you care more about the product then the people building it. That's one way to kill the company -- let people know that they are only being used, and they will give back the same medicine by refusing to work there. "Hey Joe, tell your friends that company X doesn't give a shit about us dev's having a personal life." It's fatal for a company to lose loyalty of its employees, because you can't mot
  • by Momoru (837801) on Thursday June 15, 2006 @09:39AM (#15539333) Homepage Journal
    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).
  • by Guysmiley777 (880063) on Thursday June 15, 2006 @09:59AM (#15539497)
    ...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.
  • by allenw (33234) on Thursday June 15, 2006 @10:10AM (#15539602) Homepage Journal
    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.
  • by plopez (54068) on Thursday June 15, 2006 @10:15AM (#15539644) Journal
    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.

  • Simple Lessons (Score:5, Interesting)

    by radtea (464814) on Thursday June 15, 2006 @10:46AM (#15539921)

    The article describes the basic things that are wrong with virtually every late project:
    • Managers who can't handle the truth
    • Developers or lower level managers who lie to fulfill the psychological needs of managers who can't handle the truth
    • A marketing-driven schedule culture that declares "drop dead dates", misses them, and nobody dies
    • Input rather than output focused management (action control vs results control)
    • Managers who interfere inappropriately with technical decision-making
    • Excessive project mangement/process burden--the level of process needs to be just right for a project to run effectively, and needs to retuned on a per-project basis by people to whom success is more important than ego


    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.
  • Ha! (Score:3, Funny)

    by catdevnull (531283) on Thursday June 15, 2006 @11:02AM (#15540073)
    Slashdot gets mentioned, too...

    Looks like Slashdot speaks for itself:

      "Server too busy"
  • presentation (Score:3, Insightful)

    by drew (2081) on Thursday June 15, 2006 @12:43PM (#15541003) Homepage
    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.
  • by moochfish (822730) on Thursday June 15, 2006 @01:55PM (#15541742)
    Note: the author has edited his entry and removed most of it. the mirror:

    http://mirrordot.org/stories/fb474e7cf3aa2bdcb1590 091564cac59/index.html [mirrordot.org]

Imitation is the sincerest form of plagarism.

Working...