As important as the technical factors may affect performance of end-user
programming, they may be dominated by contextual factors.
End-users are, by most definitions, people who are primarily view a
computer as a tool to be used to accomplish a goal.  A computer is just
another piece of equipment that they operate.  From this perspective, end
user programming, even if done successfully, may have undesirable
consequences:

[1] Customizing your software may mean that you get to do more of things
you don't like to do. In many environments, performing a task well means
that you get to do more of it.  If you customize your software so that you
are faster/more efficient than other people at a task, you will probably
get assigned to do that task more often.  If you customized you software so
that a task took less of your time, this is probably not what you wanted to
happen.  This extends to the customization activity itself; if you're good
at it, other people will regard you as selfish and cruel if you don't help
them.
[2] Customizing your software may mean that you get less help when you have
problems.  As many who have called their local computer support
organization or sat for hours on a telephone support line have noticed, to
the extent that your software differs in even the most inconquential
respect from the default or most common, the less likely you are to get
effective help.  (In some CAD environments, a desired feature of a CAD
package is that the system administrator can block users from
customizations since end user customization raises training and support
costs.)
[3] Interest in customizing your software may be viewed as lack of interest
in other, more important aspects of your job.  Even if the results of the
customization save far more time than they cost,  the question may get
asked, why didn't you spend as much effort in improving the more important
aspects of your job.

Ruven Brooks

Reply via email to