End-user computing (EUC) refers to systems in which non-programmers can create working applications. EUC is a group of approaches to computing that aim to better integrate end users into the computing environment. These approaches attempt to realize the potential for high-end computing to perform problem-solving in a trustworthy manner.
End-user computing can range in complexity from users simply clicking a series of buttons, to writing scripts in a controlled scripting language, to being able to modify and execute code directly.
Some of the issues related to end-user computing concern software architecture (iconic versus language interfaces, open versus closed,[clarification needed] and others). Other issues relate to intellectual property, configuration and maintenance. End-user computing allows more user-input into system affairs that can range from personalization to full-fledged ownership of a system.
EUC applications should not be evolved by accident, but there should be a defined EUC strategy. Any Application Architecture Strategy / IT Strategy should consider the white spaces in automation (enterprise functionality not automated by ERP / Enterprise Grade Applications). These are the potential areas where EUC can play a major role. Then ASSIMPLER parameters[which?] should be applied[by whom?] to these white spaces to develop the EUC strategy. (ASSIMPLER stands for availability, scalability, security, interoperability, maintainability, performance, low cost of ownership, extendibility and reliability.)