Slashdot Mirror


The Economics of Perfect Software

An anonymous reader writes "This article takes the interesting perspective that leaving bugs in software is good — little ones, at least. This quote is particularly insightful: 'How do you know whether a bug is big or little? Think about who's going to hit it, and how mad they'll be when they do. If a user who goes through three levels of menus, opens an advanced configuration window, checks three checkboxes, and hits the 'A' key gets a weird error message for his trouble, that's a little bug. It's buried deep, and when the user hits it, he says 'huh,' clicks a button, and then goes on his merry way. If your program crashes on launch for a common setup, though, that's a big bug. Lots of people will hit it, and they will all be pissed. ... The cost of fixing all the bugs in your program and then being sure you fixed them all is way too high compared to the cost of having a few users hit some bugs they won't care about."

7 of 201 comments (clear)

  1. How is this news? by Dragoniz3r · · Score: 5, Insightful

    Diminishing returns applies to programming too... big surprise...

  2. Oh Please by WrongSizeGlass · · Score: 5, Insightful

    The reason that every piece of software ships with bugs is because:
    * It's created by people
    * The programmers, testers, etc can never find all the bugs
    * It's gotta get out the door so you can pay your programmers, testers, etc
    * All of the above

    There is a matter of pride with individual programmers, small groups, and most open source programming projects. We'd all love to be able to crow about shipping a bug free project/product. We'd do it if we could ... and someday we will.

    1. Re:Oh Please by WrongSizeGlass · · Score: 5, Insightful

      even as individuals with all of our time at our discretion we would not waste the rest of lives trying to get the bugs out of something as complex as modern software, so NO we won't do it SOMEDAY either.

      We may not ever accomplish it, but that doesn't mean we won't stop trying. Bugs slip through no matter how much we test. One reason is because no matter how we may try to break it we can never imagine the utterly creative stupidity that a user will cast upon our software.

      And as far as Skynet is concerned, it will be written by humans or by a system written by humans, so it's gonna have bugs, too (unless it was written by Deep Thought, but that's another story entirely).

  3. Re:Wrong name by The+Clockwork+Troll · · Score: 5, Funny

    You didn't include stdio.h and you probably wanted a \n at the end of your output string.

    First born denied.

    --

    There are no karma whores, only moderation johns
  4. mediocrity by electrogeist · · Score: 5, Insightful

    "Once genius is submerged by bureaucracy, a nation is doomed to mediocrity. " -Richard Nixon

    s/nation/project/

  5. Re:probably good idea; definitely bad example by pem · · Score: 5, Funny
    When I wrote:

    When I'm trying very hard to make a program do what I want it to, the more hoops I have to jump through for every iteration of trying to make it work, the madder I get.

    then you replied:

    You must be a Windows user or haven't updated to an Apple OS past the old world Macs.

    I have been racking my brain for the last half hour, trying to figure out what I wrote that bothered you so much that you felt compelled to resort to this sort of name-calling, but I can't figure it out, so expect a communication from my lawyer demanding compensation for this terrible libel you have committed about my computing practices in front of the entire slashdot community.

  6. No bugs isn't a perfect product. by ArundelCastle · · Score: 5, Insightful

    Even if it's bug free, that doesn't mean the software is designed to be easy or intuitive to use. There is often more money to be made from deliberate obfuscation. Every piece of Enterprise software I've used (particularly SAP) seems to follow this principle. And the huge aftermarket of expert consultants charging $150/hr for training and troubleshooting, seems to affirm it. Keep in mind those consultants are usually teaching the corporate experts, I'm not even touching the surface of end user training, which I'm experienced at being responsible for.

    The real money comes from support packages and direct-line support levels (ie: silver, gold, platinum and such to maintain a 24h call centre). Let's ask a simple hypothetical: what if Windows was bulletproof and bug free? How would Microsoft make any money? If nobody had reason to fix a problem within 30 minutes like their job depends on it? Or even not upgrade to the next version because the last one works better? With XP and Vista we already know the answer to that.