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.
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
It's gonna take me 8 hours on a 4 way PIII to read this whole damned presentation.
(B) + (D) + (B) + (D) = (K) + (&)
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
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!
- Software.
- Engineering.
- Microsoft.
Pick any TWO of those.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.