Slashdot Mirror


Software Engineering at Microsoft

an_mo writes "A link to a google cached document is floating around some mailing lists containing some info about microsoft software engineering. In particular the document contains juicy bits about the development of a large project like NT/2K. Some examples: Team size went from 200 (NT3.1) to 1400 (Win2k). Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space. Written/email permission required for checkins by the build team." The HTML version on Usenix's site is much nicer than Google's auto-translated version.

7 of 461 comments (clear)

  1. A recipe for disaster by sting3r · · Score: 0, Troll
    One need look no further than BUGTRAQ to see that Microsoft's efforts to produce a secure, reliable codebase have been met with unmitigated disaster. Microsoft products are the least secure, least reliable pieces of software in my entire company. Finally, in this article, we can see the design methodologies that have caused Microsoft to produce millions of lines of unmaintainable, buggy code. And we can apply that knowledge in future Open Source projects to prevent ourselves from falling into the same trap.

    Let's take a look at some of Microsoft's more questionable practices:

    • UML and other modelling fads. My former employer required the use of 65-page UML diagrams for the simplest command-line utilities. Why? Because it was popular, and the investors liked to make sure we were buzzword-compliant. UML is designed for non-technical audiences, and as such it flies in the face of the engineering goals it is designed to solve. What's good for the suits isn't necessarily good for the engineers.
    • Formal checkins. These stand in the way of progress like no other corporate "bad habit." Requiring programmers to have a supervisor (often a non-technical PHB) "sign off" on their code prior to the commit is ludicrous. Developer time costs $20-40 an hour - should that time be wasted pursuading co-workers to check in and approve their code, or should it be spent doing actual development?
    • Code review. Code review is a power trip and best, and a drain on morale at worst. If a programmer cannot be trusted to develop excellent code, he should be replaced with somebody who can. It's a tight labor market on the developers' side, so incompetent programmers should be spending their time reading O'Reilley books instead of playing games and looking at porn in their parents' basement.
    • Large, geographically concentrated development teams. The best work is emphatically not done by 1400 people in the Redmond campus. The best work is done by culling experts of individual niche areas from around the globe. Not surprisingly, this is the model that Linux and most Open Source software uses, and that is why OSS is phenominally successful compared with any of its proprietary competition.
    As my company has avoided these measures, it has produced a superior product for a very low development cost. I expect that other companies who apply the same techniques will also fare better than Microsoft did in this instance.

    -sting3r

  2. Only 8 hours? by guttentag · · Score: 1, Troll
    Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space...
    Only 8 hours to build the complete Win2K? That's pretty impressive, considering that every piece of software Microsoft develops is "part" of Windows... or does the 8-hour figure refer only to what we consider to be Win2K?
  3. Doh... by T3kno · · Score: 1, Troll

    It's gonna take me 8 hours on a 4 way PIII to read this whole damned presentation.

    --
    (B) + (D) + (B) + (D) = (K) + (&)
  4. Re:standard linux praise... by jcast · · Score: 0, Troll

    Although W2K doesn't have anything half as good as most of the GNU utilities.

    Moderators: I admit this is a troll, but it's against M$. Please mod accordingly.

    --
    There are reasons why democracy does not work nearly as well as capitalism.
    -- David D. Friedman
  5. Re:What no sacrifices to the gods? by Lobsang · · Score: 1, Troll

    What do you expect? People checking in before they email their bosses? And what happens when a bozo checks in a piece of code that DOES NOT introduce a new security bug?

    C'mon man... They got a [bad] reputation to uphold! :)

  6. Pick any two. by Pig+Hogger · · Score: 1, Troll
    • Software.
    • Engineering.
    • Microsoft.
    Pick any TWO of those.
  7. BS detected! by EdMcMan · · Score: 0, Troll
    Take a look at this line:

    Complete build time is 8 hours on 4 way PIII Xeon 550 with 50Gb disk and 512k RAM.

    Now, read this:

    Complete build of win2k time is 8hrs on 4way PIII and requires 50GB of hard drive space.

    The former comes from the article, and the latter from the front page. Microsoft must be using some pretty good compression if they can take 50GB of stuff and put it into one cd.