During my relatively short time in the field, I’ve developed a nose for bad software. What is interesting about this nose is that it is very similar, in principle, to Penn Jillette’s explanation of mankind’s understanding of large numbers in the “Numbers” episode of Bullshit. Penn’s explanation can roughly be summed up in one acronym; K.I.S.S.

Here is the full video for your viewing pleasure

[http://www.youtube.com/watch?v=Y0Z0raWIHXk]

The K.I.S.S. principle, Occam’s razor, Principle of Least Astonishment, whatever you want to call it, boils down to simplicity. So how does this apply to the smell test. Well, if something just smells funny about the software. If something just “isn’t right” about the product, it’s claims, or indeed even it’s code, then it is probably safe to say that it fails at simplicity and therefore fails the smell test.

Malcolm Gladwell wrote about this in his book Blink: The Power of Thinking Without Thinking. You can make a pretty well-informed decision by observing something for just a few moments. If what you are observing is simple, everything just clicks. If it is complicated, it takes more observing. It starts to smell funny. Your “stupid monkey brain” (to quote Penn) can’t wrap itself around the subject.

Now, let me be clear about the smell test. It does not necessarily imply that the software is crap if it fails the test. Instead, the tests are meant to function as a gauge of crap. The more failed tests, the more likely that the software is crap.