Slashdot Mirror


Why (Most) Software is so Bad

Rivard was one of several to point out that MSNBC says software sucks. My opinion is that in software fields where the monetary gap between market-leader and second-place is large, we should expect bad software. Good design, good execution, good debugging all take time, but users can't see under the hood -- and wherever information is scarce or not readily traded among consumers, the free market bogs down. (Note what the article says about McAfee VirusScan.) So companies that don't plan on releasing a crummy 1.0 and fixing it later go under. That's just the way some markets work; if you're a coder or engineer who doesn't like that, find yourself a job in a niche without that monetary gap. Anyway, the really stunning thing is that, of all the media outlets, MSNBC points out that just one of Microsoft's poor design decisions has cost consumers $8.75 billion, and wonders why nobody has sued. Update: 06/18 14:10 GMT by J : Readers point out the story is a reprint from Technology Review (one of the few good magazines I get -- but this issue hasn't arrived yet :).

Rivard continued his writeup with an interesting point of view, saying that while we all know software sucks, we just accept it:

"Even though 'plenty of reviewers, pundits, hackers and other outsiders' will point out problems, often intentionally left in the product, no one has brought a liability suit against the makers of the known-to-be-vitiated product -- because the software gestapo (the End User License Agreement) has been 'able to avoid product liability litigation partly because software licenses force customers into arbitration' of poorly designed pith.

"There is a light at the end of the tunnel, believe it or not, and it's Bill Gates. Microsoft suspended coding for two months to seminar on bugs and how to fix them. Gates told his employees he wanted to make 'reliable and secure' software Microsoft's 'highest priority.' If you don't buy Gates' ad-hocking promises of redemption there are other solutions, like creating a programming language that forces good code; going back to the days of intense peer-review, instead of relying on compilers; and intense planning, past the bungling paradigm of the bar napkin."

4 of 794 comments (clear)

  1. Re:How Easy To Criticize by EvlG · · Score: 3, Informative

    Patches like this come out because the company does QA after signing off on the master copy sent for duplication.

    Its like this. You sit down a few months before release and determine what bugs MUST be fixed before you can go into duplication. Then you also determine what bugs you will fix in the first patch, which will be available within the first week or two of release. These are less critical fixes. Then you also determine what to work on after that.

    Its a matter of priority - if they delay the release to fix all the bugs, users get unhappy, and eventually go to competing products.

  2. I'll tell you why! by newerbob · · Score: 3, Informative
    1. The standards for what constitutes a "software engineer" have been lowered because of the Web.

    2. Companies don't want to pay enough $$$ to hire what really counts---EXPERIENCE---so they hire low-cost H1B programmers instead.

    3. There's rampant AGE DISCRIMINATION so older experinced software engineers stop prorgamming and become managers, or go into other fields.

    I joined an R&D group when I turned 40, after spending years managing software products that have earned billions of $$ in revenue cumulatively over the years. Why? Because I didn't want to be forced into managing products staffed with inexperienced and inexepensive programmers, or be involved with shipping non-glamouous tasks (device drivers, etc) to India.

    --

    --
    Ask the Ya-Hoot Oracle Anything!
  3. Re:M$ by NanoGator · · Score: 3, Informative

    I have a Win2k box that's been up for about 60 days now. It's a home-brew PVR.

    I've watched an NT server box running IIS stay up for a good 90 days. The only reason it's not longer is that we had to shut it down to move it.

    I think it really depends on how ya build it. The biggest instability is caused by hardware. If your hardware has fatal drivers, don't expect it to run for very long.

    My main entertainment computer (also Win2k...) has an uptime of over a week. But I play the shit out of games like Quake. When I don't play those games, my uptime's seriously longer.

    Everybody knows that Windows has a lot more games than Linux. :P

    --
    "Derp de derp."
  4. Software Capability Maturity Model by Martin+Spamer · · Score: 3, Informative

    The Capability Maturity Model (http://www.sei.cmu.edu/cmm/cmm.html) from the Carnegie Mellon Software Engineering Inst (http://www.sei.cmu.edu/sei-home.html) has been developed to aid this transition from a craft disipline (hacking) to an Software Engineering displine.