Foolproof systems do not take into account the ingenuity of fools. [source]
This axiom holds true in designing computer systems. It manifests itself in the requirements phase of the project. Admittedly, your users are [probably] not fools. But, there are certain statements that raise the hackles on the back of my neck. You know the ones--they're generally "numeric" in nature . . .
We never have more than . . .
We always have at least one . . .Whenever, I hear something like "we never have more than 5 entries", you can be sure that the first time you get a call about your newly installed production system, it will be "hey, why can't I put 6 entries . . .".
So I have a couple of design axioms that I live by.
Never set an upper limit.
Plan for there to be no entries.Stick to these and you will eliminate a number of issues when you system goes into production.
So why isn't is caught in testing? It's usually because they don't test for it, because if "never happens".
No comments:
Post a Comment