End-User Development
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 developers/designers, at some point to modify or extend an artefact (Lieberman et al. 2006).