End-User Software Engineering and Why it Matters

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.

[1]  Brad A. Myers,et al.  Designing the whyline: a debugging interface for asking questions about program behavior , 2004, CHI.

[2]  B. Shneiderman,et al.  The Reader-to-Leader Framework: Motivating Technology-Mediated Social Participation , 2009 .

[3]  Brad A. Myers,et al.  Answering why and why not questions in user interfaces , 2006, CHI.

[4]  Margaret M. Burnett,et al.  Testing vs. code inspection vs. what else?: male and female end users' debugging strategies , 2008, CHI.

[5]  Masanori Sugimoto,et al.  Supporting Self-Directed Learners and Learning Communities with Sociotechnical Environments , 2006, Res. Pract. Technol. Enhanc. Learn..

[6]  Gregg Rothermel,et al.  End-user software engineering , 2004, Commun. ACM.

[7]  Steve Clarke,et al.  End-user Computing: Concepts, Methodologies, Tools and Applications , 2008 .

[8]  Philip T. Cox Enhancing the Programmability of Spreadsheets with Logic Programming , 2007 .

[9]  Gregg Rothermel,et al.  A methodology for testing spreadsheets , 2001, TSEM.

[10]  Terry R. Haggerty The Administrative Use of Computers in Professional Sport Organizations , 1991 .

[11]  G. Loewenstein The psychology of curiosity: A review and reinterpretation. , 1994 .

[12]  Thomas G. Dietterich,et al.  Toward harnessing user feedback for machine learning , 2007, IUI '07.

[13]  Mary Beth Rosson,et al.  Design Planning in End-User Web Development , 2007 .

[14]  Gregg Rothermel,et al.  WYSIWYT testing in the spreadsheet paradigm: an empirical evaluation , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[15]  A. Leff,et al.  Relational Blocks: A Visual Dataflow Language for Relational Web-Applications , 2007 .

[16]  Alexander Repenning,et al.  AgentCubes: Raising the Ceiling of End-User Development in Education through Incremental 3D , 2006, Visual Languages and Human-Centric Computing (VL/HCC'06).

[17]  Juan E. Gilbert,et al.  Making a case for BPC [Broadening Participation in Computing] , 2006, Computer.

[18]  Mary Beth Rosson,et al.  Everyday Programming: Challenges and Opportunities for Informal Web Development , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[19]  Terry D. Lundgren,et al.  Microcomputer Laboratory Maintenance , 1992 .

[20]  Margaret M. Burnett,et al.  Gender HCI: What About the Software? , 2006, Computer.

[21]  Weng-Keen Wong,et al.  Fixing the program my computer learned: barriers for end users, challenges for the machine , 2009, IUI.

[22]  Ben Shneiderman,et al.  Creativity support tools: accelerating discovery and innovation , 2007, CACM.

[23]  Todd Kulesza,et al.  Can feature design reduce the gender gap in end-user software development environments? , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[24]  Gregg Rothermel,et al.  Harnessing curiosity to increase correctness in end-user programming , 2003, CHI '03.

[25]  Laura Beckwith,et al.  Explaining Debugging Strategies to End-User Programmers , 2007 .

[26]  Jonathan J. Cadiz,et al.  Does continuous visual feedback aid debugging in direct-manipulation programming systems? , 1997, CHI.

[27]  Margaret M. Burnett,et al.  Designing features for both genders in end-user programming environments , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[28]  Mary Beth Rosson,et al.  Paradox of the active user , 1987 .

[29]  Margaret M. Burnett,et al.  FAR: an end-user language to support cottage e-services , 2001, Proceedings IEEE Symposia on Human-Centric Computing Languages and Environments (Cat. No.01TH8587).

[30]  Bonnie A. Nardi,et al.  A Small Matter of Programming: Perspectives on End User Computing , 1993 .

[31]  Charles G. Sieloff "If only HP knew what HP knows": the roots of knowledge management at Hewlett-Packard , 1999, J. Knowl. Manag..

[32]  Mary Beth Rosson,et al.  Who, what, and how: a survey of informal and professional Web developers , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[33]  Mary Shaw,et al.  The state of the art in end-user software engineering , 2011, ACM Comput. Surv..

[34]  Laura Beckwith,et al.  On to the Real World: Gender and Self-Efficacy in Excel , 2007 .

[35]  Brad A. Myers,et al.  Using HCI techniques to design a more usable programming system , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[36]  Randy V. Bradley,et al.  A Theoretical Investigation and Extension of a Model of Information Technology Architecture Maturity , 2009, J. Organ. End User Comput..

[37]  Thorsten Joachims,et al.  The influence of task and gender on search and evaluation behavior using Google , 2006, Inf. Process. Manag..

[38]  Y. Benkler,et al.  Commons‐based Peer Production and Virtue* , 2006 .

[39]  Alan F. Blackwell,et al.  First steps in programming: a rationale for attention investment models , 2002, Proceedings IEEE 2002 Symposia on Human Centric Computing Languages and Environments.

[40]  Alan F. Blackwell,et al.  The fuzzy felt ethnography—understanding the programming patterns of domestic appliances , 2004, Personal and Ubiquitous Computing.

[41]  Weng-Keen Wong,et al.  Integrating rich user feedback into intelligent user interfaces , 2008, IUI '08.

[42]  Margaret M. Burnett,et al.  Software visualization for end-user programmers: trial period obstacles , 2008, SoftVis '08.

[43]  Y. Engeström Expansive learning at work: Toward an activity theoretical reconceptualization. , 2001 .

[44]  Volker Wulf,et al.  Component-based tailorability: Enabling highly flexible software applications , 2008, Int. J. Hum. Comput. Stud..

[45]  Gerhard Fischer,et al.  Transcending the individual human mind—creating shared understanding through collaborative design , 2000, TCHI.

[46]  Margaret M. Burnett,et al.  Rewarding "Good" Behavior: End-User Debugging and Rewards , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[47]  Eser Kandogan,et al.  Koala: capture, share, automate, personalize business processes on the web , 2007, CHI.

[48]  Caitlin Kelleher,et al.  Storytelling alice motivates middle school girls to learn computer programming , 2007, CHI.

[49]  Mary Shaw,et al.  Estimating the numbers of end users and end user programmers , 2005, 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC'05).

[50]  Lixuan Zhang,et al.  A Social Capital Perspective on IT Professionals' Work Behavior and Attitude , 2011, J. Organ. End User Comput..