Users are almost always right

March 21, 2007

One of the rules of system design ought to be this:

When the users keep doing it wrong, the users are right and your system is wrong.

I don't mean this in the sense that accommodating users is the right thing to do; I mean this in a very pragmatic sense. If the users keep making some error, changing their behavior is going to be very difficult and therefor costly. (In a fight between user inertia and anything else, bet on user inertia.)

This means that changing your system so that what the users are doing is right is simply the easiest way to fix the overall situation. You can stick to your guns and try to educate users instead, but you're definitely trying to swim upstream.

The less ruthlessly pragmatic way to look at this is that, whatever we would like to imagine, users don't do things wrong out of some perverse desire to cause problems. Each user error has a why and a how behind it, much like 'pilot errors' in airplane accidents, and real progress only comes when we understand and fix these root problems.

The obvious corollary is that if you cannot change the system so that the way the users want to do it is right, you need to change the system so that it is impossible. Because clearly the users are going to keep on trying to do it that way no matter what you say, and stopping them entirely is generally better than letting them make mistakes.

(This whole issue is closely related to user education.)

Written on 21 March 2007.
« On educating users
Making user home directories on a stock Solaris machine »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Wed Mar 21 23:39:51 2007
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.