<<< Date Index >>>     <<< Thread Index >>>

[IP] more on Microsoft and software engineering





Begin forwarded message:

From: Bob Frankston <Bob2-19-0501@xxxxxxxxxxxxxxxxxx>
Date: September 23, 2005 6:50:15 PM EDT
To: dave@xxxxxxxxxx, 'Ip Ip' <ip@xxxxxxxxxxxxxx>
Cc: "Steven M. Bellovin" <smb@xxxxxxxxxxxxxxx>
Subject: RE: [IP] Microsoft and software engineering


When I was at Microsoft I never got the sense that they appreciated the
problem of complexity.

While starting over would be a good idea the implication is that we now
need to grow up and design the system as a whole and that would be a
disaster.

The problem is not in having separate pieces of code -- the problem is
"stitching" as the assembly technique. We must redesign our systems more
like the Internet as a set of cooperating elements that trust each other as appropriate and are suspicious as appropriate where the word "appropriate"
is a research topic and ultimately ambiguous.

The idea of installing a program is a legacy from when we had to
essentially compile each program to order to make sure it could fit within tight resource constraints. I'm afraid to upgrade my system because it can
take a month or much longer to get my environment restitched.

.Net actually has elements that operate independent of the containing
environment but making such compositing too available would threaten
Microsoft's control. It's the same problem the phone companies face when
their business is based on controlling a platform or other essential
elements.

I sent a letter to the editor of Spectrum (I can forward it to the list
there's interest -- I don't really expect them to publish it) in response
their recent issue that argued that we need to do "real" engineering for
software. Real engineering is the 1960's notion that you carefully design
every element of the system and then hand it off to coders. No surprise
that the silly idea of proving programs correct also resurfaced -- it's a
silly idea since there is no unambiguous closed definition of correct.

Along these lines I posted http://www.frankston.com/?name=SATNUSBNo arguing
that USB and other dependent buses should be replaced by networks.

The whole idea of a desktop mainframe is passé ... we need small
programmable devices that communicate but all we get are smart-assed
telephones.

-----Original Message-----
From: David Farber [mailto:dave@xxxxxxxxxx]
Sent: Friday, September 23, 2005 18:11
To: Ip Ip
Subject: [IP] Microsoft and software engineering



Begin forwarded message:

From: "Steven M. Bellovin" <smb@xxxxxxxxxxxxxxx>
Date: September 23, 2005 5:57:22 PM EDT
To: dave@xxxxxxxxxx
Subject: Microsoft and software engineering


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 BobIP@xxxxxxxxxxxxxxxxxx
To manage your subscription, go to
  http://v2.listbox.com/member/?listname=ip

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





-------------------------------------
You are subscribed as roessler@xxxxxxxxxxxxxxxxxx
To manage your subscription, go to
 http://v2.listbox.com/member/?listname=ip

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