Abstract
Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals for which they need computational support. For example, a teacher might write a grading spreadsheet to save time grading, or an interaction designer might use an interface builder to test some user interface design ideas. Although these end-user programmers may not have the same goals as professional developers, they do face many of the same software engineering challenges, including understanding their requirements, as well as making decisions about design, reuse, integration, testing, and debugging. This article summarizes and classifies research on these activities, defining the area of End-User Software Engineering (EUSE) and related terminology. The article then discusses empirical research about end-user software engineering activities and the technologies designed to support them. The article also addresses several crosscutting issues in the design of EUSE tools, including the roles of risk, reward, and domain complexity, and self-efficacy in the design of EUSE tools and the potential of educating users about software engineering principles.
Highlights
From the first digital computer programs in the 1940’s to today’s rapidly growing software industry, computer programming has become a technical skill of millions
Most programs today are written not by professional software developers, but by people with expertise in other domains working towards goals supported by computation
This article has offered definitions that distinguish this practice from professional software development and it has organized decades of research on incorporating requirements, design, testing, verification, and debugging concerns into users’ existing work practices
Summary
From the first digital computer programs in the 1940’s to today’s rapidly growing software industry, computer programming has become a technical skill of millions. As this profession has grown, a second, perhaps more powerful trend has begun to take shape. End-user programmers might be secretaries, accountants, children [Petre and Blackwell 2007], teachers [Wiedenbeck 2005], interaction designers [Myers et al 2008], scientists [Segal 2007] or anyone else who finds themselves writing programs to support their work or hobbies. The same is true of many research scientists [Carver et al 2007, Segal 2007]
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.