One of the really nasty things about software development, especially in a small development group, is that all of the developers and managers know way too much about the product to test for off the wall conditions and have little inclination to really put themselves in the role of the end user, or even the IT guy working for the end user who has to install their product.
Leon Kotovich writes about a situation where a well tested app fails in an unhelpful way when installed by the end user. Leon makes many good points about building internal tests into an app so that it both recognizes conditions that are problems (i.e., a configuration that’s missing or impossible) and reports them in a way that helps users and developers figure out how to resolve the problem as quickly as possible.
As a statement of principal, this might be: Assume all error conditions are unexpected. Be graceful when they occur.
Note to self: "Configuration Impossible". A great name for a band.