Interesting People mailing list archives

More on Microsoft and software engineering


From: David Farber <dave () farber net>
Date: Sun, 25 Sep 2005 07:11:27 -0400



Begin forwarded message:

From: Cliff Bamford <bamford () oz net>
Date: September 24, 2005 10:17:51 PM EDT
To: 'David Farber' <dave () farber net>
Subject: RE: More on Microsoft and software engineering
Reply-To: bamford () oz net


I'm a programmer. I also worked at MSFT for several years and although I was not in development, I saw the results of that division's labors early and up
close.

I think these two anecdotes reflect the essence of Microsoft's development
culture:

1. In a certain mainstream OS product, there was code that permitted you to change your password. That code allowed the choice of password characters
that were translated in some unknown way by the input mechanism of the
actual login module. As a result, you could establish passwords that were not accepted at logon time (which of course meant that you couldn't logon to
change the unacceptable passwords).  Permitting two separate input
validating mechanisms in this case isn't programmer freedom, it's rank
amateurism bordering on negligence.

2. Brian Valentine, who joined Microsoft in 1987 and could arguably be said
to have helped set the tone for much of Microsoft's development culture,
became the leader of the Windows 2000 development team in Dec 1998, which at that time was struggling with complex implementation issues. Valentine set
out to relieve these stresses.  He made a motto out of the phrase,
"Decisions in 10 minutes or less, or the next one is free." He wandered the
halls and asked people, "What is a decision? It's a tool to remove
confusion! Are you confused? If so, then make the decision and let's move
on!"

Good engineering decisions are not tools to resolve confusion. They are the
result of good and often painstaking problem analyses and adherence to
effective design principles.  Resolving design issues by hunches divined
within 10 minutes does not result in good software --- it results in the
kind of absurdity described in anecdote 1.

I'm not trying to single Valentine out -- he just happens to have gone on
record more frequently and volubly than other MSFT project leaders.

What's astonishing is that the world has accepted, with so little
resistance, software of such low quality for so long.

Cliff Bamford
Seal Harbor

-----------

From: "Steven M. Bellovin" <smb () cs columbia edu>
Date: September 23, 2005 5:57:22 PM EDT
To: dave () farber net

There was a long article on the front page of today's Wall Street Journal about how Microsoft is finally starting to appreciate the tenets of software
engineering.  For a long time, they didn't:

The news got even worse: Longhorn was irredeemable because Microsoft
     engineers were building it just as they had always built software.
     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.

The rationale within the company was classic; so were the consequences.

     But as personal computers
     took off in the 1980s, companies like Microsoft didn't have time
     for that. PC users wanted cool and useful features quickly. They
     tolerated -- or didn't notice -- the bugs riddling the software.
Problems could always be patched over. With each patch and enhancement,
     it became harder to strap new features onto the software since new
     code could affect everything else in unpredictable ways.

Some people, such as Jim Allchin, realized this all along, but couldn't get
any traction to change it.  The article indicates that Gates didn't
understand the scope of the problem.  Furthermore, and not surprisingly,
there was a lot of resistance from the progammers who enjoyed the lack of
structure.  Apparently, though, now that some of the new techniques and
tools are starting to show their worth, people are starting to accept them.

I can't vouch for the accuracy of the article; I have no idea how things are done inside Microsoft. It is very clear to me, though, that if matters were as described, no one with any background in software engineering should be
even slightly surprised by the state of Windows.

         --Steven M. Bellovin, http://www.cs.columbia.edu/~smb






-------------------------------------
You are subscribed as lists-ip () insecure org
To manage your subscription, go to
 http://v2.listbox.com/member/?listname=ip

Archives at: http://www.interesting-people.org/archives/interesting-people/


Current thread: