Why errorproof when you can double-check?

OK, so riddle me this… if you were a programmer and were writing some software would you:

A) make it possible for the user to screw up using the software and then spit out annoying error messages after the fact?

OR

B) make it so that the user did the right thing in the first place?

Please tell me you answered B.  I know you didn’t.  I wish you did, but I know you didn’t.  Why?  I have no idea why.  That’s what makes it a rant!

Just today I was talking with a group of folks who had developed a template.  It was a generally good template, but they sent it along with another tool that checks the template to see if users have filled it in properly.  So, let me get this straight… we coded a template that the users are ALLOWED to screw up.  Then we coded another tool to check to see if the users screwed it up!?!?

If you are in the position to prevent the error in the first place, why wouldn’t you?  And, I’d argue, if you can write a tool to detect the screw up – ie, it is possible to programmatically figure out that the template is wrong, so it requires no great amount of human intelligence - then you MUST understand enough about the system that you could have coded it in such a manner that the users didn’t screw it up in the first place.

Call it front end edits, call it whatever, but why in gods name would you allow your user to do a bad thing and then punish them later for it?  It just doesn’t make any sense!

I get that some things are hard to error proof.  Manual processes are hard to errorproof.  People want to do the wrong thing for some crazy reason.  They like subverting processes.  But, why, oh why, would you allow the same thing in software?  It is one place where you can completely block a user from doing the wrong thing.  And yet… you develop a template and a governance tool to make sure people are using the template right?  Just make it so the template gets used right and throw away the stupid governance garbage!

One Response to “Why errorproof when you can double-check?”

  1. Curious Cat Management Improvement Blog » Management Improvement Carnival #34 Says:

    [...] Why errorproof when you can double-check? – “If you are in the position to prevent the error in the first place, why wouldn’t you? And, I’d argue, if you can write a tool to detect the screw up – ie, it is possible to programmatically figure out that the template is wrong,” [...]

Leave a Reply