The hardest part of designing and implementing a custom solution is not designing the architecture, or solving the problem, or the arduous task of assembling and typing all the code. The hardest part is planning for Joe Unknown -- that user who will break your program in record time doing something you never in your wildest dreams could anticipate. My personal favorite is a project I did long before the advent of the remote desktop. I never saw the client -- everything was done via conference call, e-mail, and FedEx. I wrote an elaborate BOM (bill of materials) program in which I had accounted for every possible scenario that Joe Unknown could bring to the table. He generated a fatal error within an hour of installation that crashed AutoCAD. After a day and a half of testing and sifting through misinformation, Joe finally admitted he had tried to insert a BOM with no information, a completely blank form. Had he 'fessed up early on ... nope, I won't even go there.
What To Do About Joe? How can you plan for Joe? For starters, remember that Joe will always be Joe, and there's no way to plan for him completely. Remember that and you can sleep at night. However, you can minimize Joe's effect on your application. The primary way, in my case, should have been to ensure all the required information was filled in before the program executed the next phase. The next, and sometimes the hardest, part is validating the data that Joe enters. This month, we'll look at three techniques to accomplish this task.
|