Top Banner
Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009
26

Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

Hypothesis: Reuse of End-User Code is an Adoption Process

Christopher ScaffidiCMU ISR SSSG Apr 20, 2009

Page 2: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

22

End-user programmers (EUPs) often reuse programs, code, and other computational

artifacts.• Code created by other EUPs

○ Web macros○ Spreadsheets○ Matlab scripts○ JavaScript and HTML○ Agentsheet images and rules

• Code created by professional programmers (PPs)○ JavaScript interpreter○ Spreadsheet evaluation environment○ Other components designed by PPs for reuse○ Code snippets / examples provided by PPs

All of which I’ll refer to as reuse of code in this talk.I am aware that this might be a misnomer… discuss later.

IntroductionIntroduction • Models • Models • Hypothesis• Hypothesis

Page 3: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

33

Systems supporting reuse of EUP-created code

are based on…• What seems like a “natural choice” of features

○ Web macro wiki (Little 2007)

• What features proved successful in prior systems○ Agentsheet repository (Rausch 1996)

○ Tope repository (Scaffidi 2009)

• Reflections about the process of reuse (Biggerstaff 1987)

○ Spreadsheet repository (Walpole 1997)

• Empirically trying out features○ Matlab FileExchange (Gulley 2006)

Can we know, in advance, what to build?

IntroductionIntroduction • Models • Models • Hypothesis• Hypothesis

Page 4: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

44

Needed: a model describing the reuse of EUPs’ code.

• What is a good empirical model for reuse of EUP code?○ Key steps involved in reuse?○ Key considerations for judging if reuse is successful?○ Key factors driving successful reuse?

• Such a model could help…○ Designers of EUP systems○ Organizations that use EUP systems

• Eg: suppose the model says that EUPs usually…○ Want to try out code before reusing it○ Have more success in reuse if code is “try-out-able”

then EUP system designers would know that they should work very hard to support “try-out-ability”

IntroductionIntroduction • Models • Models • Hypothesis• Hypothesis

Page 5: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

55

Known: Adoption models accurately describe

many (re)use processes.• “Adoption” = “a decision to make full use of an innovation

as the best course of action available” (Rodgers 1995)

• Adoption models have accurately described (re)use of…○ Hybrid strains of corn seed by Iowa farmers (Rodgers 1995)

○ CASE, structured programming, RDBMSs by PPs (Fichman 1993)

○ A new SE methodology by PPs (Riemenschneider 2002)

○ Computers by end users (Scaffidi 2005)

○ Information systems by end users (Delone 2003)

○ Spreadsheet tools by EUPs (Brynjolfsson 1996)

… and others discussed later.

IntroductionIntroduction • Models • Models • Hypothesis• Hypothesis

Page 6: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

66

Hypothesis: Adoption models accurately describe

EUPs’ reuse of EUP-created code.Since adoption models work well for many kinds of reuse

by end users, how about reuse of EUP code by EUPs?

• Reasons to question this hypothesis:○ EUPs focus on work… is reuse a “decision” aimed at attaining a

“best” course of action?○ EUPs rarely design for reuse… is their code intelligible enough

to support rational decisions?

• Other theories might help, but lack the right focus:○ Agency theory – incentives, delegation, decision structure○ Post-rational behavior models – motivation, trust, activities○ Behavioral economics – emotions, framing, cognitive limitation

IntroductionIntroduction • Models • Models • Hypothesis• Hypothesis

Page 7: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

77

Outline

• Introduction

• Models from adoption theories○ TAM with external variables○ Diffusion models○ Elaboration from economics

• Hypothesis○ (Future) evaluation○ Implications

IntroductionIntroduction • Models • Models • Hypothesis• Hypothesis

Page 8: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

88

Basic Technology Acceptance Model (TAM)

(Davis 1985) Introduction Introduction • • ModelsModels • Hypothesis• Hypothesis

Page 9: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

99

TAMplus external variables

(Lee 2003) Introduction Introduction • • ModelsModels • Hypothesis• Hypothesis

Page 10: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1010

Diffusion models –Rate of adoption

(Rodgers 1995) Introduction Introduction • • ModelsModels • Hypothesis• Hypothesis

Page 11: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1111

Diffusion models –Cumulative adoption

(Scaffidi 2005; Rodgers 1995) Introduction Introduction • • ModelsModels • Hypothesis• Hypothesis

Page 12: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1212

Key elements in diffusion models

• Innovation’s properties○ Relative advantage○ Compatibility○ Complexity○ Trialability○ Observability

• Communication channels○ Heterophily

• Time○ Innovators-early adopters-

early majority-late majority-laggards

○ Knowledge-persuasion-decision-assimilation-confirmation

• Social system○ Structures (eg: hierarchy)○ Coordination (in decisions)○ Norms

(Rodgers 1995) Introduction Introduction • • ModelsModels • Hypothesis• Hypothesis

Page 13: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1313

Prior successesof adoption models

• Adoption by PPs○ CASE, structured programming, RDBMSs (Fichman 1993)

○ Components (Tahvildari 2004) (Smith 2004)

○ SE methods/processes (*Riemenschneider 2002) (Pfleeger 2000)

• Adoption by end users○ Computers (*Scaffidi 2005)

○ Information systems (*Delone 2003) (*Lee 2003)

○ Spreadsheet tools (*Brynjolfsson 1996)

○ EUP tool enhancements (Kienle 2002)

○ Web browsers (*Agarwal 1997)

○ Communication technologies (*Forman 2005)

○ Online services (*Parthasarathy 1998)

* = quantitative model (ie: not just a qualitative adoption approach)

Introduction Introduction • • ModelsModels • Hypothesis• Hypothesis

Page 14: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1414

Particularly interesting findingsrelated to adoption by PPs and EUPs

• Key factors limiting reuse of PP code by PPs○ Prior technology drag – affects compatibility w/ existing network○ Irreversibility of investments – affects trialability○ Limited sponsorship – calls for more than “communication”○ High expectations – sets a high bar for each adoption stage(Fichman 1993)

• Key factors limiting reuse of PP code by EUPs○ Smaller organization size – less risk capacity, network effects○ More organization hierarchy – limits innovation’s impact(Forman 2005)

Introduction Introduction • • ModelsModels • Hypothesis• Hypothesis

Page 15: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1515

Particularly interesting findingsrelated to adoption by PPs and EUPs

• Key factors limiting assimilation of PP code by PPs○ Knowledge barriers – complexity + incompatibility with training○ Unrealistic expectations about positive network effects(Fichman 1999)

• Key factors raising discontinuance of PP code by EUPs○ Later adopters lack resources to make full use of innovation○ People who encounter trouble with incompatibility lose benefits(Parthasarathy 1998)

Introduction Introduction • • ModelsModels • Hypothesis• Hypothesis

Page 16: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1616

Is reuse of EUPs’ code an

adoptionprocess?

Page 17: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1717

Is EUP reuse of EUPs’ codean adoption process?

• When an EUP reuses another EUP’s code, does he go through the typical stages of adoption?

○ Knowledge-Persuasion-Decision-Assimilation-Confirmation

• Contextual inquiry○ Identify reused code

• Uncover source, history, expectations, communication, sponsorship• Did source ever provide other code? What happened?

○ Any sign of assimilation & confirmation for users’ own code?• Look for evidence of “not-invented-here”

• Complement with survey?○ Possibly a survey about spreadsheets, modeled after (Hall 1996)

○ Alternatively, integrate with CoScripter survey (next slide)

Introduction Introduction • Models • Models • • HypothesisHypothesis

Page 18: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1818

Is EUP reuse of EUPs’ codefundamentally an adoption process?

• How well is the rate of EUP code adoption described by diffusion models?

○ Logistic increase in adoption?○ Do users fit early/late adopter stereotypes?

• Analyze logs of CoScripter web macro repository○ Non-linear regression of usage to logistic curve○ Use chained analysis to check how well users fit stereotypes

• Complement with survey of users within IBM?○ Group heavy users of popular macros, based on adoption date○ Survey about key characteristics of stereotypes

Introduction Introduction • Models • Models • • HypothesisHypothesis

Page 19: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

1919

Is EUP reuse of EUPs’ codefundamentally an adoption process?

• What characteristics of EUP code affect reuse?○ Consistent with adoption models?○ Which characteristics are more/less crucial?

• Return to last year’s analysis of CoScripter logs○ Are the identified predictors consistent with adoption models?○ Extend analysis, using additional adoption-motivated variables?○ Repeat analysis using regression or factor analysis?○ Do later adopters & lower assimilators tend to discontinue?

• Complement with similar study of Matlab logs?

Introduction Introduction • Models • Models • • HypothesisHypothesis

Page 20: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

2020

Tie together resultsinto a coherent model

• Key factors in decision, assimilation, discontinuance○ Properties of EUP code○ Properties of communication channels and social structure○ Properties of EUPs

• Perhaps something like…

Introduction Introduction • Models • Models • • HypothesisHypothesis

Factor 1

Factor 2

Factor 3

… Assimilation

Decision to (re)use

Discontinuance

Perceived ease-of-use

Perceived usefulness

(The interestingcascading arrowson the right are consistent with empirical researchdiscussed earlier.)

Page 21: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

2121

Research opportunities if EUP reuse of EUPs’ code is an adoption

process…• Helping EUPs…

○ To create code with key characteristics leading to adoption (eg: compatibility, observability, trialability, …)

○ To provide constructive sponsorship without sacrificing primary job responsibilities (ie: how to sponsor while remaining an EUP)

• Helping organizations…○ Manage heterophily in communication channels

• Possibly through creative use of limited hierarchy○ Accelerate adoption cycle

• Knowledge-persuasion-decision-assimilation-confirmation○ Learn from discontinuance

Introduction Introduction • Models • Models • • HypothesisHypothesis

Page 22: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

2222

Thank You…

• To Mary Shaw for early feedback on this work

• To EUSES and NSF for funding

• To you for your attention, insights, and feedback

Page 23: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

2323

References (1)

Agarwal 1997 - R. Agarwal and J. Prasad. The Role of Innovation Characteristics and Perceived Voluntariness in the Acceptance of Information Technologies. Decision Sciences, Vol. 28, No. 3, 1997, pp. 557-582.

Biggerstaff 1987 - T. Biggerstaff and C. Richter. Reusability Framework, Assessment, and Directions, IEEE Software (4), 2, March 1987, 41-49.

Brynjolfsson 1996 - E. Brynjolfsson and C. Kemerer. Network Externalities in Microcomputer Software: An Econometric Analysis of the Spreadsheet Market. Management Science, 1996, pp. 1627-1647.

Davis 1980 - F. Davis. A Technology Acceptance Model for Empirically Testing New End-User Information Systems: Theory and Results, PhD. Thesis, Sloan School of Management, Massachusetts Institute of Technology, 1985.

Delone 2003 - W. Delone and E. McLean. The DeLone and McLean Model of Information Systems Success: A Ten-Year Update. Journal of Management Information Systems, Vol. 19, No. 4, 2003, pp. 9-30.

Fichman 1993 - R. Fichman and C. Kemerer. Adoption of Software Engineering Process Innovations: The Case of Object Orientation. Sloan Management Review, Vol. 34, 1993, pp. 7-22.

Fichman 1999 - R. Fichman and C. Kemerer. The Illusory Diffusion of Innovation: An Examination of Assimilation Gaps. Information Systems Research, Vol. 10, No. 3, 1999, pp. 255-275.

Forman 2005 - C. Forman and A. Goldfarb. Diffusion of Information and Communication Technologies to Businesses, Handbook of Economics and Information Systems, Elsevier Science, 2005.

Gulley 2006 - N. Gulley. Improving the Quality of Contributed Software and the MATLAB File Exchange, 2nd Workshop on End User Software Eng., 2006, 8-9.

Hall 1996 - Hall, J. A Risk and Control-Oriented Study of the Practices of Spreadsheet Application Developers. Proc. 29th Hawaii Intl. Conf. System Sciences, 1996, 364-373.

Page 24: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

2424

References (2)

Kienle 2002 - H. Kienle, A. Weber, J. Jahnke, and H. Muller. Tackling the Adoption Problem of Domain-Specific Visual Languages. 2nd Domain-Specific Modeling Languages Workshop At OOPSLA 2002, 2002, pp. 77-88.

Lee 2003 - Y. Lee, K. Kozar, and K. Larsen. The Technology Acceptance Model: Past, Present, and Future. Communications of the Association for Information Systems (Volume 12, Article 50), Vol. 752, No. 50, pp. 752-780.

Little 2007 - G. Little, T. Lau, A. Cypher, and J. Lin. Koala: Capture, Share, Automate, Personalize Business Processes on the Web. Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2007, pp. 943-946.

Parthasarathy 1998 - M. Parthasarathy and A. Bhattacherjee. Understanding Post-Adoption Behavior in the Context of Online Services. Information Systems Research, Vol. 9, 1998, pp. 362-379.

Pfleeger 2000 - S. Pfleeger and W. Menezes. Marketing Technology To Software Practitioners. IEEE Software, Vol. 17, No. 1, 2000, pp. 27-33.

Rausch 1996 - M. Rausch. The Agent Repository-Supporting Collaborative Contextualized Learning with a Medium for Indirect Communication, Master's Thesis, Department of Computer Science, University of Colorado, 1996.

Riemenschneider 2002 - C. Riemenschneider, B. Hardgrave, and F. Davis. Explaining Software Developer Acceptance of Methodologies: A Comparison of Five Theoretical Models. IEEE Transactions on Software Engineering, Vol. 28, No. 12, 2002, pp. 1135-1145.

Rodgers 1995 - Rogers, E. Diffusion of Innovation, 4th edition, Simon & Schuster, Inc., New York, NY, 1995.

Page 25: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

2525

References (3)

Scaffidi 2005 - C. Scaffidi, M. Shaw, and B. Myers. Estimating the Numbers of End Users and End User Programmers. Proceedings of the 2005 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2005), Dallas, TX, September 2005, pp. 207-214.

Scaffidi 2009 - C. Scaffidi, Topes: Enabling End-User Programmers to Validate and Reformat Data, PhD thesis, Technical Report CMU-ISR-09-105, School of Computer Science, Carnegie Mellon University, 2009.

Smith 2004 - D. Smith, E. Morris, D. Carney. Adoption Centric Problems in the Context of System of Systems Interoperability, 4th International Workshop on Adoption-Centric Software Engineering, pp. 63-68.

Tahvildari 2004 - L. Tahvildari. Testing Challenges in Adoption of Component-Based Software. 4th International Workshop on Adoption-Centric Software Engineering, pp. 21-25.

Walpole 1997 - R. Walpole and M. Burnett. Supporting Reuse of Evolving Visual Code, 1997 Symp. Visual Lang., 1997, 68-75.

Page 26: Hypothesis: Reuse of End-User Code is an Adoption Process Christopher Scaffidi CMU ISR SSSG Apr 20, 2009.

2626

Updated Delone & McLean modelof information system (IS) success

(Delone 2003)

you built the right IS

you built the IS to spec

you give good user support

Introduction Introduction • • ModelsModels • Hypothesis• Hypothesis