hypothesis: reuse of end-user code is an adoption process

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

Upload: mariko

Post on 29-Jan-2016

36 views

Category:

Documents


0 download

DESCRIPTION

Hypothesis: Reuse of End-User Code is an Adoption Process. Christopher Scaffidi CMU ISR SSSG Apr 20, 2009. 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 - PowerPoint PPT Presentation

TRANSCRIPT

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

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

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

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

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

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

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

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

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

99

TAMplus external variables

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

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

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

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

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

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

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

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

1616

Is reuse of EUPs’ code an

adoptionprocess?

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

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

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

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

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

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

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

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

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

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

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