Lieberman et al. propose the following definition:End-User Development can be defined as a set of methods, techniques, and tools that allow users of software systems, who are acting as non-professional software developers, at some point to create, modify or extend a software artifact.
http://en.wikipedia.org/wiki/End-user_development












