End-user development

End-user development

End-user development (EUD) is a research topic within the field of computer science, describing activities or techniques that allow people who are not professional developers to create or modify a software artifact. A typical example of EUD is programming to extend and adapt an existing package (e.g. an office suite). There are two basic reasons why EUD has become popular, one is because organizations are facing delays on projects and using EUD can effectively cut the time of completion on a project. The second reason is that software tools are more powerful and easier to use. Other examples of End User Development include the creation and modification of:
* 3D models created with end-user oriented tools and approaches such as Sketchup.
* Animation scripts used by graphic artists to describe characters, environments and how characters move to produce an intended animation.
* Configuration files that blur the line between programs and data (e.g. email filters are sequenced lists of criteria and actions to take).
* Contributions to open source projects where users of a software package contribute their own code for inclusion in the main package. In some cases, end-users participate as full-fledged developers.
* Game modifications to introduce users' own characters, environments, etc. Many recent games are distributed with modification in mind.
* Interaction scripts used in CRM call centres.
* Process models used in workflow applications.
* Prototypes and domain-specific programs written by businesspeople, engineers, and scientists to demonstrate or test specific theories.
* Scientific models used in Computer simulation.
* Scripts and macros added to extend or automate office productivity suites and graphics applications.
* Simulations created using application definition software.
* Spreadsheet models e.g. used for budgeting or risk analysis.
* Web pages - plain HTML or HTML and scripting.
* Wikis - a collaborative End-User Development process.Lessons learned from EUD solutions can significantly influence the software life cycles for commercial software products, in-house Intranet/Extranet developments and enterprise application deployments.

Cost-Benefit Modelling of End User Development

According to one analysis, EUD essentially out-sources development effort to the end user. Because there is always some effort to learn an EUD tool motivation depends on users' confidence that it will empower their work, save time on the job and/or raise productivity. In this model the benefits to users are initially based on marketing, demonstrations and word-of-mouth. Once the technology is put into use experience of actual benefits becomes the key motivator. [cite journal
last = Sutcliffe
first = Alistair
year = 2005
month = July
title = Evaluating the costs and benefits of end-user development
journal = ACM SIGSOFT Software Engineering Notes
volume = 30
issue = 4
pages = 1-4
publisher = ACM
issn = 0163-5948
doi = 10.1145/1082983.1083241
url = http://portal.acm.org/citation.cfm?id=1082983.1083241
format = pdf
accessdate = 2008-05-29
]

This study defines costs as the sum of:
*Technical cost: the price of the technology and the effort to install it
*Learning cost: the time taken to understand the technology
*Development cost: the effort to develop applications using the technology
*Test and debugging cost: the time taken to verify the system.

The first and second costs are incurred once during acquisition, whereas the third and fourth are incured every time an application is developed. Benefits (which may be perceived or actual) are seen as:
* Functionality delivered by the technology
* Flexibility to respond to new requirements
* Usability of applications produced
* Overall quality of the applications produced.

Other Aspects of End-user development

A major drawback with the implementation of End User Development is that it removes the end-users away from their daily task, decreases productivity and efficiency. Commentators have been concerned that end users do not understand how to test and secure their applications - "It’s simply unfathomable that we could expect security... from the vast majority of software applications out there when they’re written with little, if any, knowledge of generally accepted good practices such as specifying before coding, systematic testing, and so on.... How many X for Complete Idiots (where “X” is your favorite programminglanguage) books are out there? I was initially amused by this trend, but recently I’ve become uneasy thinking about where these dabblers are applyingtheir newfound knowledge." [cite web |url=http://eecs.oregonstate.edu/EUSES |title= The Dangers of End-User Programming |last=Harrison |first=Warren |work=IEEE Software |accessdate=2008-05-28 ]

In response to this End User Software Engineering (EUSE) has been defined as a higher level of EUD, whereby end users become motivated to consider security and verifiability when developing their solutions. [cite web |url=http://eusesconsortium.org/findings.php |title=End-User Software Engineering: Empirical Findings|accessdate=2008=05-28 ]

All the above approaches assume that the user is developing software using tools already approved by a central IT function where "the user is naive, with little understanding of data processing.... but users should no longer be considered universally ignorant of information systems. Moreover, sophisticated information center veterans, as well as microcomputer users, can and do contribute to system development. They are capable of preliminary experimentation with system requirements, in particular those related to user interface."cite journal |url=http://portal.acm.org/citation.cfm?id=1017817 |first=Nava |last=Pliskin |coauthors=Shoval, Peretz |title=End-user prototyping: sophisticated users supporting system development |work=ACM SIGMIS Database |volume=4 |pages=7-17|year=1987|issn=0095-0033|doi=10.1145/1017816.1017817|accessdate=2008-05-29] In this case the assumption is that the tools have a high learning curve and require exceptional expertise to be deployed in a secure, reliable and scalable manner.

An alternative scenario is that end users (and/or their consultants) employ declarative tools that support rigorous business and security rules at the expense of performance and scalability. Though this is a valid separation of concerns it can lead to a situation where Requirements analysis and prototyping are substantially completed and documented by end users before business analysts have considered the limitations of a specific Application or Software framework. Senior management support for such end user initiatives depends on their attitude to existing or potential Vendor lock-in.

See also

* End-user computing
* Software engineering
* AgentSheets - an end-user development tool to create interactive simulations and educational games

External links

* [http://www.eud2009.uni-siegen.de/ Second International Symposium on End User Development]
* [http://www.springer.com/west/home/generic/search/results?SGWID=4-40109-22-85672321-0&referer=www.springeronline.com&SHORTCUT=www.springer.com/sgw/cda/frontpage/0,11855,4-40109-22-85672321-0,00.html The End User Development book]
* [http://giove.cnuce.cnr.it/eud-net.htm The European Commission Network of Excellence on End-User Development]

References


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • End User Development — (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen Bedürfnissen anzupassen.… …   Deutsch Wikipedia

  • End-User Development — (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen Bedürfnissen anzupassen.… …   Deutsch Wikipedia

  • End-user computing — (EUC) is a group of approaches to computing that aim at better integrating end users into the computing environment or that attempt to realize the potential for high end computing to perform in a trustworthy manner in problem solving of the… …   Wikipedia

  • End-User Programming — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End-User Software Engineering — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End User Programming — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End User Software Engineering — End user development (EUD) (dt. etwa Endbenutzer Entwicklung) ist ein Forschungsgebiet innerhalb der Informatik. Es beschäftigt sich mit der Frage, wie es dem Endbenutzer einer Software ermöglicht werden kann, diese zu erweitern und seinen… …   Deutsch Wikipedia

  • End-user (computer science) — The end user is a p concept in software engineering, referring to an abstraction of the group of persons who will ultimately operate a piece of software (i.e. the expected user or target user).This abstraction is meant to be useful in information …   Wikipedia

  • End-User — Der Begriff Endbenutzer (auch End , Privat oder Heimanwender) bezeichnet im IT Bereich und in der Unterhaltungselektronik die Person, welche von Dritten zur Verfügung gestellte Informatikprodukte, beispielsweise Software, verwendet. Entgegen der… …   Deutsch Wikipedia

  • End user — Der Begriff Endbenutzer (auch End , Privat oder Heimanwender) bezeichnet im IT Bereich und in der Unterhaltungselektronik die Person, welche von Dritten zur Verfügung gestellte Informatikprodukte, beispielsweise Software, verwendet. Entgegen der… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”