Monday, August 16, 2010

12 Ways Software Errors differ from Spelling Errors

[Note: I posted the following on my work team's blog earlier today. I started off with only 7 ways at noon, but came up with 5 more by the end of the day.]

Spelling errors are a simple and often humorous form of error that seems to be popular for introducing the topic of production errors. However I find that spelling errors and software errors differ in some very important ways.

The following is my own list of important differences between software errors and spelling errors.
  1. Software errors are usually dynamic (the software does something wrong) while spelling errors are always static (the spelling is wrong).
  2. Spelling is unambiguous: either a word is in the dictionary, or it is not.
  3. Spelling errors are trivial to reproduce.
  4. Once identified, spelling errors are usually easy to recognize as such.
  5. If different stakeholders disagree on the spelling of a word, you can resolve the conflict by going to the dictionary.
  6. You can usually ignore requests from a customer to spell a word incorrectly (after politely referring them to a dictionary, of course).
  7. The cost of correcting a spelling error in a draft document does not increase with the amount of time it spent there.
  8. After carefully correcting a spelling error, you can be supremely confident that the spelling of that one word is now correct.
  9. Repeated misspellings of the same word can be easily corrected with the "Replace All" word processor feature.
  10. It is easy to correct a spelling error without creating more spelling errors.
  11. Correcting a single spelling error does not cause a collection of seemingly unrelated spelling errors to vanish without a trace.
  12. There are many spell checking programs available to detect all your spelling errors for you. Software defect detection, however, is an undecidable problem: there cannot ever exist a program that will detect all software defects.
Can you think of any others? Post them in the comments!

P.S. This blog post has been certified by a spell checker as 100% free of spelling errors :-)