Fog Creek Software
Discussion Board




"The Way Good Software Gets Designed"

http://story.news.yahoo.com/news?tmpl=story&cid=581&u=/nm/20020305/tc_nm/microsoft_depositions_dc_3

I can't believe someone here hasn't already mentioned this news story.  According to the article Steve Ballmer is quoted as saying:

"That's the way good software gets designed. So if you pull out a piece it won't run"

Am I the only one who disagrees with this statement?

Chris
Sunday, March 10, 2002

"If you're a great programmer, you make all the routines depend on each other, so little mistakes can really hurt you." -- Bill Gates, ca. 1985.

Fredrik Lundh
Sunday, March 10, 2002

Steve needs to go and read something about tight vs loose coupling. There's a good discussion in CODE COMPLETE. Seeing how that's a Microsoft Press book, there's probably a copy laying around campus somewhere.

Of course, these days any statement out of Ballmer's mouth should be assumed to be propaganda, not related to software development, unless proven otherwise. A rough translation of that sentence might be "This is the logical outcome of the silly-ass things I've said throughout this trial, so I have to say it, otherwise I'll be caught perjuring myself."

Mike Gunderloy
Sunday, March 10, 2002

hmm, let's see, remove the Discussion board and the articles from joelonsoftware.com and this website wouldn't be worth much. So yes, in a way Steve Ballmer is right.

Roger
Sunday, March 10, 2002

It depends: consider two EXEs sharing a common DLL ... you can remove either EXE and the other will still run, but to remove the DLL would break both applications.

Christopher Wells
Sunday, March 10, 2002

I would like to know if they ever considered having a pluggable architecture for their use of web browsing, instant messaging, media player, etc.

How hard would it have been to design an interface anyone could implement, and let resellers and/or power users decide which implementation they used?  Isn't this what OS engineers should do?

I have no problems with the OS having hooks into web browsing or instant messaging technology, and even relying on it.  But why does it *have* to be MSHTML and MSN Messenger?

rich
Sunday, March 10, 2002

Tight V. Loose Coupling came from the book "Normal Accidents" by Charles Perrow. I believe Donald Norman references this book in his "Design of Everyday Things"

Charles Perrow analyzed the Nuclear Power industry, among others, trying to determine what causes accidents. Usually it's blamed on 'Operator Error' but what he found was lots of poor design and tight coupling - if one system fails, every system behind it in the sequence, and any related systems fail.

In some ways software can't avoid this - you pull out the logon script and nobody can access the system. But if you pull out all the plugins, Photoshop should still work, and there should probably be a way for administrators to turn on and off any feature in a way that doesn't break the system. "Disable Login" and the user goes straight to the welcome screen.

The Y2K scare was an example of lots of tight coupling. "The system that opens the valves in the water supply system would act as if it were 1984 and open on the wrong schedule, leading to an excess of water in the pipes, which would burst, dousing computers in water. The disabling of those computers would cause power outages in parts of the City. The power outages would cause mayhem in the streets and strand people on the public rail system. The people stranded on the public rail system would riot. The rioting would cause..." Many people reported that Y2k wouldn't happen on midnight, it would take affect over months as more and more systems failed.

Don't let this happen to your software!

Mark W
Sunday, March 10, 2002

Perrow may have discussed tight coupling, but he certainly didn't originate the concept. McConnell cites the 1979 Yourdon/Constantine STRUCTURED DESIGN as a source for his discussion of coupling.

Apologies if you didn't intend to tag Perrow as the inventor.

Mike Gunderloy
Sunday, March 10, 2002

You're right, I didn't know that Perrow was not the inventor of the concept, though in his book he certaily speaks as if he is!

Mark W
Sunday, March 10, 2002

>hmm, let's see, remove the Discussion board and the
>articles from joelonsoftware.com and this website
>wouldn't be worth much. So yes, in a way Steve Ballmer
>is right.

Roger, that whooshing noise you just heard was the sound of the point flying completely over your head.

The issue is that Microsoft has a practice of bundling apps with their OS.  Opponents of this practice claim Microsoft can, and should, be forced to "unbolt" these apps.

Steve Ballmer's comments were intended to refute the allegations of their opponents by "explaining" why this cannot be done.  You, on the other hand, are talking about complete removal of content.

Chris
Monday, March 11, 2002

So according to Steve Balmer, if Microsoft built bridges, you could remove a single bolt and the whole thing would come crashing down. An MS car would halt if the speedo ceased working. An MS airliner would crash if the lock on the toilet door was broken. Nice attitude.

DB
Monday, March 11, 2002

Programmers: He is at court arguing for his product. He is using a specific strategy in his argument.

He is _not_ interested in the slightest whether what he is saying is technically true or not.

A.
Monday, March 11, 2002

LOL.

So the first casualty of law is truth :)

DB
Monday, March 11, 2002

The speedo went on my car as I was accelerating down the slip road onto the M6 one evening. Oh. Not really a problem, I know what revs correspond roughly to which speed in which gears, it'll be fine...

Powered it up to 70, pulled out into the outside lane, was passing a truck and changed up into 5th.

That was the point the engine management system noticed it had no speed input but a load on the engine and turned the engine off in confusion...

Transpires the EMU's speed input is tapped off from the dash speedo. Nice.

Katie Lucas
Monday, March 11, 2002

"Programmers: He is at court arguing for his product. He is using a specific strategy in his argument.

He is _not_ interested in the slightest whether what he is saying is technically true or not."

Not true.  The lawyers do the arguing, all Ballmer could be doing is testifying as to the facts.  To a degree, he can try to avoid answering questions in a way that reveals facts  hurtful to Microsoft,  But if pressed with the right questions, he has to answer all questions to the best of his knowledge. 

So if he's asked a question about how Windows holds together technically, he's bound to give a answer regarding that technical issue.  Since he's sworn to tell the truth, he has to care about whether what he's saying is technically true.  If it's not, then he's either lying or he doesn't know what he's talking about. 

Herbert Sitz
Monday, March 11, 2002

Katie - what car was this? (So I can avoid buying one!)

DB
Monday, March 11, 2002

Herbert, Ballmer has undoubtedly been through many hours of coaching before each deposition. Any answer he gives has already been carefully checked and crafted by Microsoft's lawyers. If they're ethical, they didn't say "you should say x"; they said "would it be reasonable to say x?"

Try being an expert witness some time and you'll see how it works. Only the naive believe that this is simply a matter of giving truthful answers to the best of your ability.

Mike Gunderloy
Monday, March 11, 2002

Mike -- I'm a former lawyer (worked at Perkins Coie here in Seattle for a while) and was mostly just trying to point out that Ballmer cannot "argue" for anything; all he's able to do is testify regarding the facts.

Although lawyers like to avoid calling it "coaching", that effectively is what they do.  And the difference you try to bring out is close to the difference between what lawyers consider acceptable "witness preparation" and what would be considered unethical "coaching".

Regardless, though, any witness has a duty to testify truthfully.  A witness may try to get around questions he or she doesn't like by not being completely forthcoming, but that's acceptable only to a point.  Everyone recalls the incredible balls Bill Clinton had in avoiding questions and in creatively re-interpreting them to mean what he wanted them to mean (without telling anyone else what he was doing).  That was perjury, even though he'll never be convicted of it.

Microsoft has a history of dubious testimony that doesn't go as far as Clinton's, but which is still highly questionable.  Perhaps the most blatant example was the video James Allchin purportedly created that was supposed to demonstrate (I think) that Windows would break when IE was "uninstalled" from Windows.  Upon cross-examination, Allchin was forced to admit that he had not personally made the video, and that in fact it wasn't a video of a running instance of Windows at all, and instead was a cobbled together video of screen images (a "prototype" of sorts) that was designed to illustrate what Microsoft maintained would happen when IE was removed.

Then there were the infamous Bill Gates depositions where Gates went so far as (in one instance if I recall correctly) to ask his interlocutor if he could please "define what you mean by the word 'is' in that question?"  MS lawyers were afraid to have Gates testify at the antitrust trial, but Justice attorneys made good use of the videotaped depositions in making Gates look like an evasive (if not lying) idiot.

Those sorts of gaffes by Microsoft may not be perjury, but they aren't far off, and in any case they're the sort of thing that make Microsoft look really stupid, make a judge really mad, and damage Microsoft's credibility.  I'm amazed at the ineptitude of MS lawyers in allowing that sort of testimony to occur.  It played a large part, I think, in MS losing the case in front of Judge Jackson, at least to the extent that they did. 

I have no idea what question Ballmer's recent statement was in answer to.  But it's possible that it's yet another piece in what's becoming quite a mass of questionable testimony by Microsoft.  Of course, it's naive to think that witnesses are always forthcoming and never deceptive.  And in fact, some degree of reticence is expected, and is no doubt a good thing.  But in my experience of following MS over the last few years, they really carry it over the top.

Herbert Sitz
Monday, March 11, 2002

Are you sure Gates said "define what you mean by the word 'is' in that question"? I thought that was Bill Clinton during the Monica Lewinsky hearings.

Banana Fred
Monday, March 11, 2002

Banana Fred -- I don't think so, but it's possible you're right.  In any case, the point is the same.  In his deposition Gates was continually asking for clarifications and definitions of all sorts of minor terms.  While there's nothing necessarily wrong with that, it creates the impression that there's something you're doing wrong that you're desperately trying to hide.  You may even succeed in hiding it.  But it still weakens your credibility.

After checking an article on it ( http://seattletimes.nwsource.com/news/technology/html98/gate_19990316.html ) I don't see anything about the definition of 'is'.  I see something about the definition of "define", which is probably what I was thinking of:

        "The semantic sparring reached an almost absurd
        level when, during questioning about a newspaper
        article in which Gates is quoted, Gates began
        debating with Boies over the meaning of the
        word "define."

Herbert Sitz
Monday, March 11, 2002

Thanks for that clarification, Herbert. Remind me not to teach my grandmother to go suck eggs in the future! In any case, you've said what I was trying to get at in a much clearer fashion.

Mike Gunderloy
Monday, March 11, 2002

I love the URL to that article. "gate" like his last name isn't "Gates". "The Bill Gate."

I don't think that obscure and obfuscated testimony necessarily weakens you, especially if enough laywers & spin doctors around - it accomplishes a purpose, and frustrating someone else may very well be that purpose. Another one may be convincing you that the upper management at Microsoft is inept.

"If they're that stupid, they can't be doing these things on purpose."

Mark W
Wednesday, March 13, 2002

*  Recent Topics

*  Fog Creek Home