End-User Software Engineering and Why it Matters

2010 ◽  
Vol 22 (1) ◽  
pp. 1-22 ◽  
Author(s):  
Margaret Burnett

End-user programming has become ubiquitous; so much so that there are more end-user programmers today than there are professional programmers. End-user programming empowers—but to do what? Make bad decisions based on bad programs? Enter software engineering’s focus on quality. Considering software quality is necessary, because there is ample evidence that the programs end users create are filled with expensive errors. In this paper, we consider what happens when we add considerations of software quality to end-user programming environments, going beyond the “create a program” aspect of end-user programming. We describe a philosophy of software engineering for end users, and then survey several projects in this area. A basic premise is that end-user software engineering can only succeed to the extent that it respects that the user probably has little expertise or even interest in software engineering.

Author(s):  
Margaret Burnett

End-user programming has become ubiquitous; so much so that there are more end-user programmers today than there are professional programmers. End-user programming empowers—but to do what? Make bad decisions based on bad programs? Enter software engineering’s focus on quality. Considering software quality is necessary, because there is ample evidence that the programs end users create are filled with expensive errors. In this paper, we consider what happens when we add considerations of software quality to end-user programming environments, going beyond the “create a program” aspect of end-user programming. We describe a philosophy of software engineering for end users, and then survey several projects in this area. A basic premise is that end-user software engineering can only succeed to the extent that it respects that the user probably has little expertise or even interest in software engineering.


2012 ◽  
Vol 2 (1) ◽  
pp. 1-15
Author(s):  
Christopher Scaffidi

Many end-user programming environments are “reuse environments” that store and organize code so users can extend, adapt, and combine existing code. Yet to date, no well-validated, theory-based body of design principles exists for guiding the development of these reuse environments. The contribution of this survey paper is to identify relevant theoretical perspectives and candidate design principles by which these theories could be extended, adapted, and/or applied to the problem of understanding how and when end-user programmers reuse code. In particular, based on this survey, candidate principles are identified that (1) could be used to guide the design of environments for end-user reuse of code, (2) are grounded in theory, and (3) have preliminary empirical support. This contribution is beneficial because successfully applying these principles could increase the benefit of end-user programming by helping software engineers to deliver effective programming environments to end users.


Author(s):  
Daniel Tetteroo ◽  
Henk Seelen ◽  
Annick Timmermans ◽  
Panos Markopoulos

The authors discuss the feasibility of End-User Development (EUD) for non-information workers in the context of neurorehabilitation. The authors present a three-week long field deployment of TagTrainer, a system that enables therapists to create, share, and use exercises for arm-hand training with a tangible interactive tabletop application. The experiences suggest that therapists are capable and motivated to create content that is tailored to the training needs of their patients. Three key challenges are identified for enabling EUD practices in a clinical setting, which appear to have a broader relevance outside the specific domain of neurorehabilitation: more support for retrieval and sharing of existing solutions developed by end users, guiding end-user developers to ensure usability and software quality for their creations, and aligning with the revenue model of the organization.


2012 ◽  
Vol 2 (1) ◽  
pp. 16-52
Author(s):  
Steve Goschnick

Mashups are newly envisaged applications, made up from local information sources and processes, Web services and other distributed resources, bound together technically in some way. Interactive Development Environments (IDE) used to build mashups are becoming more accessible to end-user programmers. Design methods that end-users may apply to a given problem addressed by a mashup, are much less prevalent. This paper describes an end-user-friendly design method called TANDEM and demonstrates the use of it in detail, by way of an example: the design of a mashup of services that solves the so-called movie-cinema problem. An implementation of the newly designed movie-cinema app is then built within the DigitalFriend, an end-user programmer IDE. Furthermore, a significant part of the TANDEM design method, is then automated within the development tool itself. This automation removes the most skilled task required by TANDEM of the end-user: the automation of the process of Data Normalization. The automation applies data normalization to the initial model of components and data sources that feed into the mashup. The presentation here relies on some understanding of Data Normalization, so a simple example is presented. After this demonstrated example of the method and the implementation, the paper discusses the applicability of a model achievable by end-users using TANDEM coupled with the automated normalization process built into the IDE, versus, using a top-down model by an experienced information analyst. In conclusion, the TANDEM method combined with the automation as demonstrated, does empower an end-user to a significant degree in achieving a workable mashup or distributed application. And furthermore, the TANDEM method does have broader applicability to designing a broad class of logic programs, complementing the use of collected patterns in logic programs.


2019 ◽  
Vol 149 ◽  
pp. 101-137 ◽  
Author(s):  
Barbara Rita Barricelli ◽  
Fabio Cassano ◽  
Daniela Fogli ◽  
Antonio Piccinno

2009 ◽  
Vol 34 (5) ◽  
pp. 51-54 ◽  
Author(s):  
Grace Lewis ◽  
Dennis Smith ◽  
Len Bass ◽  
Brad Myers

Author(s):  
John G. Gammack

The philosophy of end user design proposes an approach to information systems provision where those involved in the human activity context are central to establishing the relevant requirements for their information systems. In this paper we develop the case for centering definitions and process flows on end users in their active situations. We examine the potential for basing integrated IS development upon the constructive and evolutionary processes in the client context. Provision of enterprise-wise IS design environments in which this approach becomes realistic implies a systemic reappraisal of the role of software engineering methods and their place in IS design. With reference to case studies we consider some organisational characteristics in which evolution of specific information systems can be achieved through provision of such design environments. Representative situations at the level of full application design and customisation, workflow definition and enterprise-wide development are considered.


Sign in / Sign up

Export Citation Format

Share Document