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

Read more

Summary

Introduction

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]

Objectives
Methods
Findings
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call