Slashdot Mirror


Quality Control In Computer Companies

Ant sent us a Salon feature that talks about the (lack of) quality control in computer manufacturing, and then talks about it being "the American way of techno-capitalism". I've not had nearly the problems that people in this article allege, but I can sympathize.

5 of 249 comments (clear)

  1. Software development cycle by Anonymous Coward · · Score: 5
    1. Programmer produces code he believes is bug-free.
    2. Product is tested. 20 bugs are found.
    3. Programmer fixes 10 of the bugs and explains to the testing department that the other 10 aren't really bugs.
    4. Testing department finds that five of the fixes didn't work and discovers 15 new bugs.
    5. Repeat steps 3 and 4 three times.
    6. Due to marketing pressure and an extremely premature product announcement based on overly-optimistic programming schedule, the product is released.
    7. Users find 137 new bugs.
    8. Original programmer, having cashed his royalty check, is nowhere to be found.
    9. Newly-assembled programming team fixes almost all of the 137 bugs, but introduce 456 new ones.
    10. Original programmer sends underpaid testing department a postcard from Fiji. Entire testing department quits.
    11. Company is bought in a hostile takeover by competitor using profits from their latest release, which had 783 bugs.
    12. New CEO is brought in by board of directors. He hires a programmer to redo program from scratch.
    13. Programmer produces code he believes is bug-free...
  2. Corporate Insulation by vergil · · Score: 5
    Crappy manufacturing does deserve all the blame flung it's way.

    What I find more insidious, however, are the legal intricacies computer (and software) manufacturers employ to shield themselves from responsibility.

    Anyone remember Hill vs. Gateway 2000?. In this case (I'm going from memory here), Gateway offered a 10th Anniversary Special computer to consumers that wasn't all it was advertised to be -- i.e. Gateway's ads said the speakers were "surround sound" and they weren't.

    Mr. Hill took Gateway to court, and discovered, to his surprise, that the shrinkwrapped EULA inside the computer box prevented him from suing the company, regardless of their bad faith. Instead (according to the EULA) he was forced to submit to arbitration, which inherently negated any class action status for the thousands of other consumers who were blatantly defrauded by Gateway's false claims. Furthermore (due to the nature of arbitration), the verdict was kept secret, preventing anyone else who had been ripped off from benefiting from the arbiter's decision.

    Sincerely,
    Vergil
    Vergil Bushnell

  3. End User Quality Assurance Checking by m00t · · Score: 5

    Quality control is expensive. Just slap on a warranty and let the user test it for you.

  4. Re:The author isn't very smart in his comparison.. by MarcoAtWork · · Score: 5

    I don't agree, a computer accomplishes one task, which is to run programs, following your line of reasoning, a refrigerator accomplishes hundreds of tasks just because it happens to store hundreds of different foods...

    It is interesting that the main objection that comes up when there are talks about Quality in software is that computer programs are too complicated, well, building a skyscraper is IMHO just as complicated, but if the Empire State Building falls down, you can't just release Empire State Building Service Pack 2, can you ?

    IMHO the main problem is that the discipline of creating computer programs is still very 'new' compared to most of the others (architecture etc.) and after it will mature a bit more, everything will be just fine.

    Many (bad) programmers complain that QA stifles their creativity, now I wonder how many city planners would use the same excuse (no, really, multiplexing sewage with water in the same pipes is better, since it will take up less space. What do you mean I can't do that ? You are infringing on my creativity !)

    --
    -- the cake is a lie
  5. Better is the Enemy of Good Enough by bughunter · · Score: 5
    From the article: "Critics of Humphrey's high-quality software regimen -- which imposes strict performance measures on programmers -- protest that it cramps creativity. ... 'It's a good thing for the technology that so few people are disciplined in the way Humphrey proposes,' grumbles a techie reviewer..."

    This critic misses the whole point. There are places for creativity. Two good examples are the R&D department and process review and improvement meetings. But creativity is not necessary when crafting a quality, reliable product. In fact, it gets in the way of reliability.

    Now, I know this isn't going to be a popular argument on Slashdot, but sometimes good medicine tastes bad. Consider it this way: how would the auto industry appear if autoworkers felt it was their perogative to "be creative" while doing assembly line work? This is exactly what programmers act like. The smart auto companies give their line workers time to be creative, during process review, so that they can concentrate on quality the rest of the time.

    I know, the analogy between autos and computers breaks down quickly, and it breaks down pretty damn early with software. But there's still a point to be made. Many programmers (and engineers), especially young ones, are too eager to be doing the "elite" work, that they don't pay attention to detail. They want to go straight to designing better suspensions instead of just installing the struts. (I know. I've been there.) But it builds character to do the rote, mundane work - you learn how to check your work as you do it, and fix errors as they are made, so that you or someone else doesn't have to come back and fix it later. This talent is especially necessary in programming.

    Perfect example: If your attention is focused on writing the slickest, most 31337 bubble sort for the product your team is developing, you are going to introduce more errors than if you had just instantiated the algorithm you've used a hundred times before. But creativity isn't necessary here. Just implement the function that's needed. If they had needed a high performance sort function, it would have been in the requirements handed to you when you started. As the first Project Engineer I worked under used to say: "Better is the enemy of good enough."

    The fact that Chennai's Advanced Information Systems company has achieved the astonishingly low 0.05 per kloc defect rate, and that 22 of the 28 companies with a SEI Level 5 cert are in India, demonstrates that the Indians understand this point, and proves the "techie reviewer" dead wrong. He sounds just like another 'leet code jockey who's whining because Humphrey's telling him he can't doodle in your POS transaction software anymore...

    --
    I can see the fnords!