Slashdot Mirror


Why Vista Had To Be Rebuilt From Scratch

iliketrash writes "The Wall Street Journal has a long front-page article describing how Jim Allchin approached Bill Gates in July, 2004, with the news that then-Longhorn, now-Vista, was 'so complex that its writers would never be able to make it run properly.' Also, the article says, 'Throughout its history, Microsoft had let thousands of programmers each produce their own piece of computer code, then stitched it together into one sprawling program. Now, Mr. Allchin argued, the jig was up. Microsoft needed to start over.' And start over they did. The article is astonishing for its frank comments from the principles, including Allchin and Gates, as well as for its description of Microsoft's cowboy spaghetti code culture."

27 of 711 comments (clear)

  1. And Microsoft rule by Timesprout · · Score: 5, Insightful

    Because much as /. knocks them this is the sort of thing they can manage, astonishing turn arounds.

    --
    Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
    What truth?
    There is no dupe
    1. Re:And Microsoft rule by davmoo · · Score: 5, Insightful

      Right on, dude. I wish I had mod points to give you this week.

      The only computer company that has reinvented itself more times than Microsoft is IBM. And both companies are, contrary to popular belief around here, very far from dead. They aren't even sick or gasping.

      --
      I want a new quote. One that won't spill. One that don't cost too much. Or come in a pill.
    2. Re:And Microsoft rule by hayden · · Score: 5, Insightful
      If you honestly believe they have re-written all of Windows in 18 months then I have a bridge to sell you.

      This is probably one of two things. He's telling the truth and they have re-written the core parts. This wont fix the vast mass of code sitting on the core code which relies on the way things used to work.

      The other option is this is the latest round of "we've fixed it this time, honest". The result of this is left as an exercise to the reader.

      --
      Nerd: Derogatory term typically directed at anybody with a lower Slashdot ID than you.
    3. Re:And Microsoft rule by timeOday · · Score: 5, Insightful
      The other option is this is the latest round of "we've fixed it this time, honest".
      Most software development houses struggle with this.

      Every piece of software starts with a clean, elegant structure - in the mind of whoever created it. Over time some of their assumptions prove false, and more importantly, many of the "true believers" who originally engineered the system move on. The inevitable result is the next wave of developers have a burning urge to throw it out and start from scratch. Virtually all developers want to throw out the code they maintain and start from scratch. As this faction gains momentum, what do you think they say about the software? It sucks, it's not engineered, it's not maintainable, and so on. There's probably some truth to it, but a lot of it is people making an argument to justifiy doing what they want.

    4. Re:And Microsoft rule by cahiha · · Score: 5, Interesting

      You forget Apple, they reinvented themselves more than once AND always have managed to be the frontrunner of computer innovation...

      According to their marketing and PR departments, anyway.

      That ultimately gave us osX, the ultimate in plug-in philosophy, from the kernel to the GUI.

      Apple didn't give us OS X. The kernel came from CMU (an open source project), and NeXT and Apple spent the last 20 years making it less modular. The GUI software architecture came from NeXT, borrowed heavily from Smalltalk, and is client-server, like X11, only not as well architected or as efficient.

      In fact, Apple's own systems programming staff screwed up so badly that Apple had to go out and buy a new operating system; all their attempts to develop a next generation Macintosh OS in-house failed.

  2. another Spaghetti Incident? by Anonymous Coward · · Score: 5, Funny

    "Microsoft's cowboy spaghetti code culture"

    If its any thing like "Guns n Roses - Spaghetti Incident" then this should effectively be the last we hear of Microsoft.

  3. Anarchy of Development by NeuralAbyss · · Score: 5, Interesting

    It's interesting to hear how their software development survived in such an anarchistic environment - everyone producing their own code, with ad-hoc integration. It's a good example of how software development methodology can work though, even though the specifics of the specification design weren't discussed in the article - if everyone codes to a documented interface, software development can work on such a grand scale.

    I personally would like to hear more about the software development procedures and methodologies used in other large projects - how successful different types of development are.

    I work for an automotive parts manufacturer, and to see the lack of consistency within the organisation's software development is disturbing. Safety-critical parts are being produced, and the level of testing between said parts varies quite considerably. Additionally, the level of oversight and adherence to software development procedures is rather bad to say the least. I just hope it's not characteristic of the industry as a whole.

    1. Re:Anarchy of Development by Jugalator · · Score: 5, Informative
      I personally would like to hear more about the software development procedures and methodologies used in other large projects - how successful different types of development are.

      Not sure if this is what you were interested in, but I think Paul Thurott has some great lengthy and detailed articles, along with some interviews with Microsoft engineers for some insight in the stress, problems, and achievements with various large Windows projects, and also with pictures of their build labs and test machines. :-)

      For example:

      Windows 2000

      Windows XP SP2

      Windows Server 2003


      A disclaimer bias-wise is that Paul Thurott is a guy who wants Microsoft to do well, but he's not afraid of criticizing them harshly when he doesn't agree with their decisions, so I think it's still not a case with "inside stories" being too biased to be useful. He was for example the guy behind the quote that Windows Vista had the markings of a shipwreck after seeing Beta 1. Although he has had some missteps IMO such as saying Windows Me should be far more reliable than Windows 98. ;-) I guess he had to eat his own words there...
      --
      Beware: In C++, your friends can see your privates!
  4. Re:That explains a lot by Anonymous Coward · · Score: 5, Insightful

    And Linux is what exactly?

    A highly structured and organized operating system developed under the instruction of a central authority, no doubt?

    Don't be such a hypocrite.

  5. why ''astonishing''? by dankelley · · Score: 5, Interesting

    Why is it "astonishing" that the article does a decent job of providing hard-hitting information without spin? That's what we are supposed to expect of journalists. The Wall Street Journal is supposed to be (and often is) an example of real journalism. That makes it distinct from computer magazines that rely on advertising revenue from the computer industry, and from discussion forums whose course is steered by peeves and submission sequencing.

    1. Re:why ''astonishing''? by Anonymous Coward · · Score: 5, Insightful

      It's astonishing because nobody does it anymore, it's few and far between. It's gotten to this level and hardly anyone has noticed. Nowadays if you ask hard hitting questions they will just find someone else to be interviewed by, an interview that will have better PR results. With companies buying or owning media companies, they can just choose some of their own and build themselves and their empire up. A better question to ask is what incentive is there to do a hard hitting interview, for both the interviewer and the interviewee? Both want to perpetuate their jobs and positive PR but it requires criticism.

  6. Re:That explains a lot by ConceptJunkie · · Score: 5, Insightful

    Not only does it explain a lot, it's been glaringly obvious for more than a decade. Everything Microsoft has done since before the days of Windows 3 has smacked of design-by-committee and a painful lack of consistency. Everything in Windows has always had the smell of being designed and implemented by dozens of groups that had little or no communication with each other. I'm surprised they managed to release code at all, however buggy and insecure, with the development model they were using.

    It will be interesting to see if Vista demonstrates an improved level of quality due to this new process.

    --
    You are in a maze of twisty little passages, all alike.
  7. one of the first rules of programming - start over by ruebarb · · Score: 5, Interesting

    When I took C programming in College, one of the points our professors made was if you like your program, rewrite it...

    the first time you write something, it's always hackney'd - and it gets that way till you figure out what you want to do and how to do it - afterwards, it then becomes so much clearer to see ways to clean up the code and fix issues...

    so one of the first rules he had was once we were almost done, restart our stuff - it ended up being a lot cleaner/modular the 2nd time around...

    of course, that won't help MS, but good for the rest of ya to know ;)

    RB

    --

    ----------
    ah honey, we're all resplendent - Bill Mallonee
  8. Re:That explains a lot by GreyPoopon · · Score: 5, Insightful
    A highly structured and organized operating system developed under the instruction of a central authority, no doubt?

    You know, when I read the article, I was thinking: This sounds almost exactly like how Linux is developed, except that all the authors aren't employed by the same company. Who would have thought that the Open Source development model would be the same as that at Microsoft?

    --

    GreyPoopon
    --
    Why is it I can write insightful comments but can't come up with a clever signature?

  9. Not a good article to base Microsoft bashing on by ex-geek · · Score: 5, Interesting
    This is a Wall Street Journal article. It has no technical details whatsoever since it was written for business people.

    Just look at this quote:
    The second man Mr. Allchin tapped was Amitabh Srivastava, now 49, a fellow purist among computer scientists. A newcomer to the Windows group, Mr. Srivastava had his team draw up a map of how Windows' pieces fit together. It was 8 feet tall and 11 feet wide and looked like a haphazard train map with hundreds of tracks crisscrossing each other.

    That was just the opposite of how Microsoft's new rivals worked. Google and others developed test versions of software and shipped them over the Internet. The best of the programs from rivals were like Lego blocks -- they had a single function and were designed to be connected onto a larger whole. Google and even Microsoft's own MSN online unit could quickly respond to changes in the way people used their PCs and the Web by adding incremental improvements.

    They are comparing an operating system, which has to be backward compatible with a dozen or so earlier versions of Windows and DOS and support an oodle of devices and subsystems, with a bunch of mostly unrelated web-applications and gimmicks from Google.

    All I'm getting from the article is that the "let's rewrite from scratch" crowd got the upper hand within Microsoft. But that doesn't necessarily mean that they are right or that the end result will be better than continuous improvements. At the beginning, it is easy to maintain a nice, clean and simple system. But a complex set of requirements can't always be broken down into simple Legolike blocks, as the article suggests.
  10. Re:That explains a lot by aussie_a · · Score: 5, Insightful

    Don't be such a hypocrite.

    The difference being, Windows is touted as a professional OS built by professional coders, upheld to a high standard, etc, etc, etc. Simply put: People expect more when they have to pay for it. Microsoft has constantly criticized projects such as Linux, because the code isn't built by a central authority. Now we learn that Windows is made pretty much like Linux. I think criticizing Microsoft for this is definitely justifiable.

  11. Ultra-Extreme Programming by Waffle+Iron · · Score: 5, Funny
    Throughout its history, Microsoft had let thousands of programmers each produce their own piece of computer code, then stitched it together into one sprawling program.

    Microsoft's new approach: Ultra-Extreme Programming.

    Now they have taken the pair coding concept well beyond the next level. They put over 5000 developers in one auditorium, and they now write Vista together as a group. The shared display is up on the movie screen, and every coder has a wireless keyboard and mouse.

    They're going to use thousands of minds working as one to produce a single, cohesive body of code. With so much manpower on the problem, development moves at a lightning pace: once a function has been typed in, it gets refactored dozens times within a matter of seconds.

  12. yes, very competently managed by idlake · · Score: 5, Interesting

    Of course, you are right: Microsoft is indeed one of the most competently managed companies around. And that is exactly their problem.

    Why is that a problem? Because their management, sales, and marketing are so good that their technology doesn't have to be. They can ship software with security holes, bugs, poor usability, and bad design, but the non-technical part of the company will somehow manage to still sell it and make a bundle on it.

  13. Feature lists, PHBs, and cowboy coding by G4from128k · · Score: 5, Insightful

    I'm sure the root cause of cowboy coding is in Microsoft's quest for being able to put check marks in feature boxes so PHBs can pick MS software as having the most "features." Back in the 80s there used to be a number of standalone outlining applications and high-quality outliners embedded in competing word processors. Then Word got an "outliner." That this "outliner" never worked and still doesn't work to this day is irrelevant. It enabled MS to put a check mark in the outliner feature box and eliminate user's arguments that they need a non-MS product because they need an outliner.

    Checkbox marketing -- about the only way to market when non-users make purchase decisions -- drives software companies to bolt-on features without regard to consistency of or destructive interactions between features.

    --
    Two wrongs don't make a right, but three lefts do.
  14. Celebration! by Alsee · · Score: 5, Funny

    After the Windows group was able to install a workable version of the system on their PCs four days before Christmas, Mr. Srivastava says the group celebrated by not working over the holidays.

    They also like to celebrate by not having their fingers broken.

    -

    --
    - - You can't take something off the Internet! That's like trying to take pee out of a swimming pool.
  15. Getting into trouble.. by ninjamonkey · · Score: 5, Insightful


    There's just one more lesson Microsoft needs to learn from Longhorn/Vista: Don't start promising features and showing Powerpoint presentations to the press until you understand the scale of the project.

    I love Google, because they rarely promise something and don't deliver. Actually, they rarely promise something. It just shows up one day and it's elegant, clean, and fast.

    1. Re:Getting into trouble.. by spisska · · Score: 5, Interesting

      I love Google, because they rarely promise something and don't deliver. Actually, they rarely promise something. It just shows up one day and it's elegant, clean, and fast.

      Hear, hear. MS holds flashy press conferences to announce products that won't ship for a year (if at all), includes laundy-lists of features that will be radically pared down before release, and ultimately ships products that are, at best, incremental improvements over previous versions, although they are touted as 'revolutionary', eg Win 2k vs Win XP.

      Google doesn't talk about products in preparation. They quietly release full-function betas before announcing them, and the betas offer features that really are revolutionary. No Gmail wasn't the first web mailer, but it redefined what a web mail program was capable of. No Google didn't make the first map, but maps.google blows everyone else away.

      Yes, there is a big difference between between building something like Google Desktop Search and building a whole new filesystem and all the other changes that requires. But the point is what is promised and what is delivered.

      Google promises nothing, and delivers products that become essential. Microsoft promises the sky and moon (I thought Windows was supposed to be voice-controlled by now, and my fridge was supposed to automatically order milk when I need it), and delivers products whose importance to daily life is based primarily on the difficulty in avoiding them.

      When Google does drop the next bomb (Google TV?, GoogleFS?, Googlix OS for running a smart terminal?), you won't hear about it in a press release. You'll be an invited Beta tester.

  16. Comments by MyLongNickName · · Score: 5, Insightful

    90% of the comments I've read so far are either entirely or partially "omfg... microsoft suks!". However, read the entrie article, and you are faced with an interesting siutation.

    Software always has to strike a balance point... between features, quality, cost and timing. All software does (sans Duke Nukem Forever). Microsoft has been very good at getting product out there with the feature sets people want (Microsoft is also very good at manipulating folks into getting folks to want what they are able to deliver). Now, they are at a cross-road. Continue their current coding model, and get the next couple versions out there (relatively) inexpensively and quickly, or bite the bullet, and try a new way that will make them competitive for serval versions.

    Seems like an easy choice. But here you have thousands of developers who style is being crimped. Software engineers generally want to write code, not have constraints placed on them. Add to the fact that Google is gobbling up the best and brightest, and suddenly you wonder: If Microsoft forges forward, do they lose even more of their best engineers. They may have a better model for code depelopment, but will they have the best coders to move forward with?

    Which leads to the final question: Does Microsoft really need the "best and brightest" anymore? If so, do they need as many (percentage terms) as they used to? Their products are mostly in the mature stage. Can a few intellectuals keep the ship moving forward. Despite what groupthink on Slashdot may indicate, 90% of coding is not revolutionary, or even evolutionary.

    Just some things to think about and watch for over the next few years.

    --
    See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
  17. Re:That explains a lot by Glonoinha · · Score: 5, Funny

    Linux has adult supervision

    Translation :
    All the developers live in their parent's basements, and walk the code upstairs to show their mom.

    --
    Glonoinha the MebiByte Slayer
  18. You are all missing the key difference by mary_will_grow · · Score: 5, Insightful

    Everyone works AT microsoft. Everyone comes in at 9 to 5. Its a lot easier to manage "a bunch of little programs" when all the developers are on the same campus. Its a lot harder when the developers are all across the globe, with different schedules, all stitching together their communication with /no central management authority/ to make sure everyone can communicate effectively. People who are reading this without thinking will say "Whats Linus, if not a central management authority?" OK, find a piece of code you dont understand in the linux kernel, written by someone who speaks a language you dont understand. Go ask Linus to facilitate getting that guy to explain his code to you. See how far you get. Nowhere. Now try it at microsoft, asking your manager.

    One would think that because of this, Linux would be a mess, but we've seen the opposite is true: For projects to continue to evolve rather than quickly die off, they require _rigid_ structure and sane, intuitive modularity to support the OSS development model. Projects that turn into spaghetti code too fast just fizzle out and never make it into my slackware distro. While at microsoft, they have this whole management system that makes it easier to support spaghetti code. OSS has a much more brutal "natural selection" process that is constantly favoring modular, readable, easy-to-learn code bases.

    Plus, spaghetti code is not fun, so hobbiest programmers arent going to waste their time with it.

    Thats why so much OSS software is structured so well.

    --
    Why stick up for big business?
  19. How the story tracks by DannyO152 · · Score: 5, Interesting

    Put my two cents in as to how the article's storyline doesn't quite track. If Mr. Allchin, despite massive institutional inertia, gave the pig winglets and put it back on a track to actually being releasable then we're missing the motive for why he'll leave on Vista D-Day and why the company wouldn't fight to keep him. In some sense, the article is about the story Microsoft wishes to tell, which is we were writing bad code, but we've fixed that now (and look at the bruises: no pain, no gain, right?), which is what the parent posts suspects.

    Now I suspect that the interviews took place before the Microsofta est omnis divisa in partes tres announcement, and there was no desire from Microsoft to have Mr. Allchin candidly describe his reasons for retirement (and maybe Mr. Allchin has a book up his sleeve), so off to press with this peek into the hallowed halls of Redmond.

    One quibble I would have with article is in its suggestion that Mr. Gates, as Chief Software Architect has two paradoxical duties to reconcile: coming up with innovations and putting down unrealistic projects. A lot of the candid reporting I've seen is that there's a third element that he practices with zeal, which is to grind into a fine powder any idea he believes shakes a stick at the cash cows.

    One implication of the story is that in Summer 2004 Bill Gates didn't know that one of the cash cows was flatlining. There's a thought to ponder.

  20. Re:"Generally" by Malor · · Score: 5, Insightful

    Well, I'm hopeful they can nail things down and get them stable, but their focus doesn't seem to be on quality first. I think it was Rik van Riel who said that it was perfectly okay for only 1 stable release in 3 to actually be stable. I kid you not. I'd link it for you, as it's in my old comments. Unfortunately, I can't get to my old submissions, as I don't pay Slashdot anymore. So you'll have to find the quote yourself. lwn.net definitely has it somewhere in their archives.

    It's worth pointing out that the whole move of Linux into the server market was accidental. It was always being written as a desktop Unix. It just happened to be so amazingly robust that it made a dynamite server, and took over a good chunk of the internet. That'd be a good book title, "The Accidental Server". Unfortunately, the development model never changed to match the actual use of the system.

    The reason I started using Linux to begin with was because it didn't ever break... it didn't have as many features as Windows, but it just never, ever, EVER fell over. The 2.2 kernel was probably the most bulletproof piece of software I've ever run on a PC. 2.4 never got to the sheer solidity of 2.2... on good hardware it's quite robust, but I saw a number of machines where stressing it would lock it up after a few days. (from the kernel messages, it looked like it might be bugs in the (different) network drivers.) 2.6, relatively speaking, has just been a disaster. They won't leave it alone long enough to let it stabilize... they insist on jamming new code into every release, and dropping old releases very quickly. (the new 2.6.X setup.) So I can't get my bugfixes without new features if I want to use a vanilla kernel.

    People, of course, instantly bash me and say 'you're stupid, you should be using a distribution kernel'. I'm doing that now, even though I liked rolling my own, but I shouldn't have to. The dev team's attitude seems to be 'ship it and let the distros debug it'... which, as far as I'm concerned, is waving one's hand in the air, hoping that someone else will fix it. Linus' kernel should be rock-solid. It's the center around which the Linux universe turns. Their new attitude means that both Mandrake and Red Hat will have to spend time fixing the same problems, possibly in incompatible ways. And it means that programs may run on Red Hat, but not on Mandrake or vanilla Linux, or some other variation on that. There needs to be a gold standard, a One True Linux. We don't have that anymore, and I think the inevitable result will be to balkanize the community. Without that central kernel, switching from one distro to another, particularly with commercial software like Oracle, becomes much chancier. You'll end up with vendor lock-in... Oracle will run only on Red Hat's kernel, so you're stuck with Red Hat's distro. That's not supposed to happen with Open Source, but it looks nearly inevitable if we can't get a stable kernel at the center.

    Wow, that was quite a segue. Sorry about that. :)