Interesting People mailing list archives

more on Microsoft and software engineering


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



Begin forwarded message:

From: john kemp <john.kemp () mac com>
Date: September 24, 2005 3:24:17 PM EDT
To: dave () farber net
Cc: Ip Ip <ip () v2 listbox com>
Subject: Re: [IP] Microsoft and software engineering


As a so-called software engineer (not working for MS by the way!), I
like to think that I more or less follow the classical tenets of
software engineering when I design and develop software.  I have a
degree in Compure Science and have spent the best part of 20 years
designing, reading and writing business software. Given that my work
often ends up flashed into some piece of hardware (mostly smart-assed
phones as it happens Mr Frankston!) I also hope that it works, and does
something useful.

Microsoft is a company comprised not just of engineers, but also of
project managers, testers, business and marketing people, who have
different pressures on them than do software developers, and often know
almost nothing of good software engineering practices.

In my job, I am driven by deadlines set for reasons other than for the
purposes of developing the ultimate piece of software architecture. I am
personally under pressure to meet deadlines that are set for reasons of
being able to sell something (for the Christmas market, say), or for the
quick production of a software architecture to meet the needs of the
programmers who will programme it - to meet their deadlines, not mine.

Developing software for the purposes of being paid requires compromise
between the best architecture, and the best time-to-market for the other
parties interested in one's work.

Microsoft has made a very successful and usable product in Windows. It
may not have the optimal architecture, or be bug-free, or make every
customer ultimately happy. But, I bet no programmer, tester, or in fact
any other technician at Microsoft would have wanted it this way. And I
don't think anyone non-technical would have _preferred_ it that way
either. Everyone made the decision to do the best possible job to meet
their customers' needs and keep the product and company alive and
prospering. That's caused quite a few engineers to get rich - something
that's pretty unusual in software companies!

I'm sure that Microsoft's software engineers always appreciated the
tenets of software engineering. They were just forced to try and apply
them in a situation not always ideal for the application of such tenets.

Cheers,

- JohnK

David Farber wrote:




Begin forwarded message:

From: "Steven M. Bellovin" <smb () cs columbia edu>
Date: September 23, 2005 5:57:22 PM EDT
To: dave () farber net
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 frumioj () mac com
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 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: