Slashdot Mirror


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 ;-)."

55 of 562 comments (clear)

  1. Give Vista Developers A Break by eldavojohn · · Score: 5, Insightful

    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.
    1. Re:Give Vista Developers A Break by Anonymous Coward · · Score: 5, Insightful
      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.
    2. Re:Give Vista Developers A Break by Anonymous Coward · · Score: 1, Insightful
      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!

      I don't think this can be stated enough times. People that bought into the Software Assurance license are the ones that will be screwed. Many of us had expected Vista to be a "free" upgrade under the terms of the license, but with Microsoft continually pushing back the release date it'll eventually fall beyond the date of our terms and require us to pay thousands and thousands of dollars to upgrade to it. I don't even think we wanted the Software Assurance in the first place, but I believe that was the only way they'd sell us the licenses for our company.

    3. Re:Give Vista Developers A Break by Gorshkov · · Score: 2, Insightful

      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.

      Bzzzzzzzzzzzzzzzzzzzt! WRONG!

      From day one, ever since the deal with Seattle Computer Products, MARKETING has been Microsoft's core competency.

      Microsoft has not, nor has it ever been, primarily a technology company. It has always been a marketing company.

      Bill Gates has not, nor has he ever been, a techie OR a nerd - but what he is, is a brilliant marketeer

    4. Re:Give Vista Developers A Break by bilgebag · · Score: 4, Insightful
      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?
    5. Re:Give Vista Developers A Break by Golias · · Score: 4, Insightful

      Bill Gates has not, nor has he ever been, a techie OR a nerd - but what he is, is a brilliant marketeer

      That's some pretty damn impressive marketing skill he displayed when he ported BASIC to the Altair.

      Shit, if you're going to rip the guy, and are that clueless, at least take the time to read the Wiki on him or something.

      --

      Information wants to be anthropomorphized.

    6. Re:Give Vista Developers A Break by crerwin · · Score: 5, Insightful
      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.

    7. Re:Give Vista Developers A Break by R2.0 · · Score: 4, Insightful

      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.

      --
      "As God is my witness, I thought turkeys could fly." A. Carlson
    8. Re:Give Vista Developers A Break by Capitalisten · · Score: 2, Insightful

      License keys and media kits are one thing - the support needed during the installation is quite another. SA includes numerous support options and is one of the key reasons to selecting this type of licensing (IMO) and that part will be gone once the SA agreement expires. So yes - SA customers are probably not going to be happy.

    9. Re:Give Vista Developers A Break by badasscat · · Score: 2, Insightful

      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 significant than service packs. I am of the mind that this is possible because they make the hard decisions about what hardware and legacy support should be cut.

      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.

      Businesses cannot afford to be dealing with full hardware and software upgrades all the time, and waiting for other vendors to update their own software to work on new operating systems. 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 (I never tried it in compatibility mode, but was told not to). When we bought new hardware, we had to actually downgrade the OS. A lot of time and effort had to go into keeping those machines stuck in 1999, all because Apple does not believe in backward compatibility.

      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.

      You can argue that it makes for a cleaner, more modern system if you don't worry about backward compatibility, but the logistical and business arguments in favor of it should be obvious. MS and Intel (and even AMD) wouldn't be where they are today without it.

    10. Re:Give Vista Developers A Break by TheGreek · · Score: 2, Insightful
      License keys and media kits are one thing - the support needed during the installation is quite another. SA includes numerous support options and is one of the key reasons to selecting this type of licensing (IMO) and that part will be gone once the SA agreement expires.

      If support is a "key reason" for your selection of SA, why would you want to lose support for your existing WinXP installation by letting your SA lapse out of protest just because they didn't ship Vista when they pinky promised?
    11. Re:Give Vista Developers A Break by dtjohnson · · Score: 2, Insightful

      Maybe Bill Gates understands the umpty-ump millions of lines of codes but what happens after he's gone? Then we'll need mere mortals to go in and understand enough to confidently code the Vista2 release...and they won't be able to do it. They'll throw up their hands, clutch their heads, and say 'I...can't...rememmber...what...that...does.' Frankly, the umpty-ump millions of lines of code in Windows Vista seems a little over the top for what is theoretically supposed to be system software that will let your word processor run so you can write a letter to Aunt Minnie. My cell phone can browse the web with a puny processor and not much code. Do people really want a new 'Windows' that uses dozens of gigabytes of hard disk, needs much more powerful hardware, new drivers, etc. just to do what they're doing now? Tell me again, what does Windows Vista do that Linux doesn't? Will Windows Vista be more secure? Doubt it as long as Microsoft keeps on using ActiveX, installing stuff like 'Windows Genuine Advantage' and the like. When will people realize that Bill Gates is not really the answer and that 'Windows' is not the question?

    12. Re:Give Vista Developers A Break by abbossy · · Score: 2, Insightful

      Microsoft has not, nor has it ever been, primarily a technology company. It has always been a marketing company.

      Bill Gates has not, nor has he ever been, a techie OR a nerd - but what he is, is a brilliant marketeer


      Bill Gates is the ULTIMATE nerd! How do you think a 19-year-old kid could sell BASIC to companies run by old guys in 1974 on pure marketing skill to found the largest software company in the world? The only way is by vast technical intellect. The young Bill Gates was the type of nerd who knew and had an opinion on everything about current technology.

      Of course, a techie can also market brilliantly, which, of course, as you state, is what Microsoft's success is contingent upon...
  2. Re:SLOC: Vista vs. Linux by (1+-sqrt(5))*(2**-1) · · Score: 3, Insightful
    You can linearly extrapolate software development?
    No: it's as silly as SLOC being a measure of software's quality.
  3. Lines of Code? by bmongar · · Score: 5, Insightful

    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.
    1. Re:Lines of Code? by martinmarv · · Score: 3, Insightful

      Agreed. If I type

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

      am I five times better than

      allowlogin = CorrectPassword(input)
      ?

  4. Re:SLOC: Vista vs. Linux by plover · · Score: 5, Insightful
    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.

    --
    John
  5. Pointy-Haired Boss Line Counting by MSTCrow5429 · · Score: 1, Insightful
    (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.

    --
    Slashdot: Playing Favorites Since 1997
  6. Twas ever thus by sane? · · Score: 2, Insightful
    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

  7. Re:SLOC: Vista vs. Linux by Orange+Crush · · Score: 3, Insightful

    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.

  8. largest software project in mankind's history by Zobeid · · Score: 5, Insightful

    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.

  9. Hmmm... by pubjames · · Score: 5, Insightful

    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.

    1. Re:Hmmm... by zoomba · · Score: 4, Insightful

      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.

    2. Re:Hmmm... by LordLucless · · Score: 4, Insightful

      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.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    3. Re:Hmmm... by Sax+Maniac · · Score: 2, Insightful

      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 other reasons (performance, relability, etc.) Rather than just say "fuck app Z, you deserve it" they go in add in special that detecs the crappy app and makes the allocator act specially just for it.

      Repeat a billion times. Result: people can upgrade and keep their apps. Result: MS makes a ton of money. Result: a boatload of backwards compatability code.

      OS X doesn't have this problem because they don't give a shit about backwards compatability and don't have very many programs otherwise. Nobody uses a Mac to run a custom application like a factory control system, and nobody will upgrade their version of Windows if it doesn't run the apps they want.

      Apple has broken compatability a big way bunch of times - in the switch to Power, the switch to OS X, the switch to x86. Carbon Cocoa Pink Black Red. If I was a Mac developer, I'd be going NUTS. They're in a different siutation, a different market, and they can get away with it.

      Yes, I'm aware of emulation. Sure, that works for toy applications without any sort of performance requirements. You'll find that the factory control system rolls over and dies because the code expects a certain latency by driver X on Windows. Poor programming? Probably. Does the business owner stamping out toilet seats care? Not at all. It either works or doesn't. If it doesn't he loses money.

      --
      I can explanate how to administrate your network. You must configurate and segmentate it, so it can computate.
  10. The REAL question...will anyone buy it... by Ritz_Just_Ritz · · Score: 1, Insightful

    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.

  11. You have *got* to be Kidding, Part III by Gorshkov · · Score: 1, Insightful

    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?

    1. Re:You have *got* to be Kidding, Part III by x2A · · Score: 3, Insightful

      "Just for comparison purposes, does anybody have any (reasonable) numbers for LOC in both Linux and X Windows?"

      For comparison, for fair comparison? Definitely not the latter... also include the desktop, browser, news/mail client, ms-paint (okay that one's a joke), all the computer management software, a truck load of runtime/support libraries that additional software will use. Windows is a distribution, not just a kernel and a display server.

      --
      The revolution will not be televised... but it will have a page on Wikipedia
  12. Re:SLOC: Vista vs. Linux by Anonymous Coward · · Score: 1, Insightful

    Noone was using SLOC for quality - they were using SLOC for size.

  13. Good God! I have done 6200 lines of code in a DAY by Anonymous Coward · · Score: 1, Insightful



    Great merciful Zeus! I have done 6200 lines of NEW CODE in a DAY.

    You may rise (zabalflabin)

  14. 5000 lines of code? by Criffer · · Score: 2, Insightful

    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.

    1. Re:5000 lines of code? by ohearn · · Score: 2, Insightful

      As you hinted to, LOC varies greatly from language to language for the same functionality. Windows is written mostly in C (found this out interviewing with Redmond a year or two ago). The point the article made was they average 1000 LOC/year on Vista + x LOC/year on 64-bit XP + y LOC/year on hotfixes (Im guessing that one is a big number). From what I have seen on Vista so far, I have no interest in running it. I'm not a fanboy of M$ by any means, but yes I run XP as on my main machine and at work (and Solaris, and Unix, and Server 2003 on servers I have to interact with), but my desktop is a Windows machine. It does what I need it to do, and thats all I ask from an OS. To me a computer is just a tool to do a job. I want 3 things from an OS: 1- support of the applications I need, 2-stability (and I have never had stability issues with XP, but I'm not going to start that flame war), and 3- at least consistent UI (preferably actually user friendly, but I'll settle for consistent). Honestly the only reasons I run Windows at home are for compatability with work I bring home and the occasional game. I could care less about new features in a new version of Windows. I just want them to fix the problems with what is already there. And i mean fix not apply 50,000 bandages. I know the only way for them to really do that is to redesign the system from scratch and have at. I doubt this will ever happen, but we can hope.

  15. Less code is a good thing by xRelisH · · Score: 5, Insightful

    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.

  16. The application of "concerted" by Colin+Smith · · Score: 2, Insightful

    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
  17. Re:Summary == Wrong by e1618978 · · Score: 2, Insightful

    The larger the project that you are adding code to, the more you have to think before acting. 1000 lines of code added to a 50 million line code base can be much harder and more time consuming than writing a 10,000 line application.

  18. Efficiency Ratio of each new module by LongestPrefix · · Score: 2, Insightful
    There are lots of advantages to keeping it small. It looks like the Windows Vista project is suffering many of the same maladies documented in OS/360 in Brooks' The Mythical Man Month. It's no real surprise that having lots of minds involved in the design of a project requires lots of communication and coordination to make it work.

    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?

  19. Re:SLOC: Vista vs. Linux by _|()|\| · · Score: 4, Insightful
    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.

  20. Re:SLOC: Vista vs. Linux by ZeroExistenZ · · Score: 2, Insightful
    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 team put more resources into managing the project and communicating back and forth between 6 people which takes alot of organisation, meetings, brainstorms and some sort of coding-standards/protocols to be able to work together on the same code when Bob just turned on his PC whenever and just coded away.

    Now which project is 'bigger'?
    Bob's project? or the teams'?
    Bob has written much more code but the team put alot more time and resources in theirs.

    --
    I think we can keep recursing like this until someone returns 1
  21. Eh. Not so much. by porkchop_d_clown · · Score: 2, Insightful

    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.

  22. 5000 lines of code a year? by Rinzai · · Score: 5, Insightful
    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

    1. Re:5000 lines of code a year? by Rinzai · · Score: 2, Insightful
      There isn't going to be any "more clueful" involved. There's been nearly 45 years in which to get a clue, no clue has arisen, and I don't see any clues looming on the horizon.

      You and I understand software, but Joe MBA doesn't. Even when we try to express what we know, we're always trumped by "business" wisdom, logic, or what-have-you. That's because of two things, largely, and the major one of the pair is that they're the ones writing the paychecks, not us. The other reason is that they only understand one category of metrics, and software development refuses to be measured with that set of calipers. We have our own calipers, but the business people don't like them, so they don't use them.

  23. That's actually on par with by porkchop_d_clown · · Score: 4, Insightful

    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.

  24. Major problem with Windows by plopez · · Score: 3, Insightful

    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+
  25. Re:SLOC: Vista vs. Linux by vijayiyer · · Score: 2, Insightful

    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?

  26. Re:SLOC: Vista vs. Linux by poor_boi · · Score: 2, Insightful

    SLOC is only a good measure of SLOC. A "project's size" can be very large in scope, requiring a lot of research and a lot of very smart people working for a long time -- and the end result may be a few thousand lines of code that is extremely well written/optimized.

    Granted, SLOC is probably "somewhat indicitive" of a project's size 80% of the time. But can you make generalities about such an exceptional (and not just in a good way...) piece of software as Windows?

  27. Re:Yeah, whatever. by tambo · · Score: 2, Insightful
    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.

    Yeah, that's my reaction, too. 5,000 lines of code per day? That doesn't sound like responsible software engineering. It sounds like a code binge - and let's face it, we all know how that generally turns out.

    If Microsoft were really committed to quality code, it wouldn't project a release date for Vista. It would announce a release date when the code was approaching completion - perhaps even the first few public betas. By projecting a release date before then, Microsoft limits its options for responding to deep bugs that arise during the beta: its solutions have to be shoehorned into fitting the projection. That's what it sounds like it's doing.

    I've been an ardent Microsoft user since 3.0 - no, since the early days of running MS-DOS on a 12MHz 80286 - but Vista is the first Microsoft OS that I really don't want. The features that Vista offers over XP don't justify the added complexities and new security holes of the new platform (not to mention the planned hardware and software obsolescence.) And all of this "creeping oversight" BS - Hailstorm, DRM, Palladium, Windows Genuine Advantage - makes me leery as well.

    Microsoft has always been hostile and unfair to its competitors... but now it's being hostile and unfair to its users. I'm not inclined to tolerate it.

    - David Stein

    --
    Computer over. Virus = very yes.
  28. perl by Anonymous Coward · · Score: 1, Insightful

    use perl use CPAN, then everything is done in "10 lines of perl".

    yes, i'm a lazy bastard.

  29. Quote from Toyota by rewt66 · · Score: 4, Insightful

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

  30. Poor excuses... by Anonymous Coward · · Score: 1, Insightful
    "...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."
    ...and then he tells us that the truth in fact is just that...
    • poor management
    • too many (unnessesary ?) tiers/layers
    • a lot of new (to MS) features and code

    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.
  31. Re:SLOC: Vista vs. Linux by DanQuixote · · Score: 2, Insightful


    The justice department actually tried to do Microsoft a favor by forcing them to separate the browser from the OS.

    But perhaps like a child saying "I don't WANNA!", they haven't yet seen the CLEAR advantages that have long been taught with the simple addage:

    By the inch, it's a cinch, by the yard, it's hard.

    I am sick to death of behemoth OSs. They take forever to install, they take forever to maintain, and how much of it do I regularly use?

    Kudos to the OpenBSD team and similar efforts. Do one focused thing and do it well!

    Come on people! K.I.S.S.!

    --
    "We think people rightly feel that once they buy something, it stays bought," --Suw Charman, Open Rights Grp
  32. Re:SLOC: Vista vs. Linux by chris_mahan · · Score: 2, Insightful

    Call to the mods would be justified, except for the fact that he is right.

    It may be slightly offtopic, I agree, but the discussion was (and I rtfa) about windows vista slippage. Now, Microsoft makes software to make money. And they are making Windows Vista to make money (ask any MSFT investor). The problem with slippage, bad management, code complexity, and a culture of not telling the truth directly affects the ability to sell the software, which directly affects invertor returns. Now, the longer Microsoft waits to ship, the more time competitors have to create more compelling software, and this means that the Microsoft software is less valuable in the marketplace. It's about time-to-market. The longer you wait, the more and better choices your consumers are going to have.

    In the GP's case, that has happened a long time ago. But it is starting to happen more and more for regular users. And that is why MS wants to ship Vista ASAP.

    --

    "Piter, too, is dead."

  33. presentation by drew · · Score: 2, Insightful

    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?
  34. Re:Yeah, whatever. by BigNumber · · Score: 2, Insightful

    Wrong. By announcing a release date, they cause people who might have otherwise switched to another operating system to continue to wait. This is essentially the same strategy that killed OS/2 Warp. Everyone was waiting for Chicago (Windows 95). This was also brought out in their monopoly trial as one of the offending practices.

  35. Hey! I recognize this one! by joranbelar · · Score: 4, Insightful

    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]

  36. How can YOU READ THAT article by tsalem · · Score: 2, Insightful

    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?