Development as a journey: factors supporting the adoption and use of software frameworks
Tóm tắt
From the point of view of the software framework owner, attracting new and supporting existing application developers is crucial for the long-term success of the framework. This mixed-methods study explores the factors that support developers in adopting and continuously using a framework. Data was collected from two sources: interviews with experienced practitioners and a longitudinal survey of novice developers. According to the results, developers use API (application programming interface) capabilities and peer experiences to justify the selection of the framework. To commit developers and to ensure continuous use, enjoyment of using the framework and its perceived usability are important factors. Instead of focusing solely on the API, the framework owner should consider all platform boundary resources: API, development tools and information. In addition, the boundary resources should support developers’ needs throughout the developer journey, from early adoption to continuous use.
Tài liệu tham khảo
Bächle, M, Kirchberg P (2007) Ruby on rails. IEEE Softw 24(6):105–108.
Bhattacherjee, A (2001) Understanding information systems continuance: An expectation-confirmation model. MIS Q 25(3):351–70.
Bosch, J (2009) From software product lines to software ecosystems In: Software Product Line Conference, 111–119, San Francisco.
Bosch, J, Bosch-Sijtsema P (2010) From integration to composition: On the impact of software product lines, global development and ecosystems. J Syst Softw 83(1):67–76.
Bristor, JM (1990) Enhanced explanations of word of mouth communications: The power of relationships. Res Consum Behav 4(1):51–83.
Burns, C, Ferreira J, Hellmann TD, Maurer F (2012) Usable results from the field of API usability: A systematic mapping and further analysis In: Visual Languages and Human-Centric Computing (VL/HCC), 179–182.. IEEE, Innsbruck.
Cyr, D, Head M, Ivanov A (2009) Perceived interactivity leading to e-loyalty: Development of a model for cognitive-affective user responses. Int J Hum Comput Stud 67(10):850–869.
Dal Bianco, V, Myllärniemi V, Komssi M, Raatikainen M (2014) The role of platform boundary resources in software ecosystems: A case study In: IEEE/IFIP Conference on Software Architecture (WICSA), 11–20.. IEEE, Sydney.
Davis, FD, Bagozzi RP, Warshaw PR (1992) Extrinsic and intrinsic motivation to use computers in the workplace. J Appl Soc Psychol 22(14):1111–1132.
Espinha, T, Zaidman A, Gross H-G (2015) Web API growing pains: Loosely coupled yet strongly tied. J Syst Softw 100:27–43.
Fayad, M, Schmidt DC (1997) Object-oriented application frameworks. Commun ACM 40(10):32–38.
Finstad, K (2010) The usability metric for user experience. Interact Comput 22(5):323–7.
Ghazawneh, A (2012) Towards a boundary resources theory of software platforms. PhD thesis, Jönköping University.
Ghazawneh, A, Henfridsson O (2010) Governing third-party development through platform boundary resources In: The International Conference on Information Systems (ICIS), Paper 48, St. Louis.
Ghazawneh, A, Henfridsson O (2012) Balancing platform control and external contribution in third-party development: the boundary resources model. Inf Syst J 23(2):173–192. AIS Electronic Library (AISeL). (http://aisel.aisnet.org).
Hanssen, GK, Dybå T (2012) Theoretical foundations of software ecosystems In: International Workshop on Software Ecosystems (IWSECO), 6–17, Cambridge. CEUR Workshop Proceedings. (http://ceur-ws.org/).
Hanssen, GK (2012) A longitudinal case study of an emerging software ecosystem: Implications for practice and theory. J Syst Softw 85(7):1455–1466.
Jansen, S, Finkelstein A, Brinkkemper S (2009) A sense of community: A research agenda for software ecosystems In: International Conference on Software Engineering, Companion, 187–190.. IEEE, Vancouver.
Johnson, RE (1997) Frameworks = components + patterns. Commun ACM 40(10):39–42.
Johnson, R (2005) J2EE development frameworks. Computer 38(1):107–110.
Kitchenham, B, Pfleeger SL (2002) Principles of survey research part 4: questionnaire evaluation. ACM SIGSOFT Softw Eng Notes 27(3):20–23.
Kujala, S, Miron-Shatz T (2013) Emotions, experiences and usability in real-life mobile phone use In: SIGCHI Conference on Human Factors in Computing Systems, 1061–1070.. ACM, Paris.
Kujala, S, Mugge R, Miron-Shatz T (2017) The role of expectations in service evaluation: A longitudinal study of a proximity mobile payment service. Int J Hum Comput Stud 98:51–61.
Lazar, J, Feng JH, Hochheiser H (2010) Research methods in human-computer interaction. Wiley, Glasgow.
Lin, H-F (2008) Determinants of successful virtual communities: Contributions from system characteristics and social factors. Inf Manag 45(8):522–527.
Mack, Z, Sharples S (2009) The importance of usability in product choice: A mobile phone case studylisbon, portugal. Ergonomics 52(12):1514–1528.
Manikas, K (2016) Revisiting software ecosystems research: A longitudinal literature study. J Syst Softw 117:84–103.
Manikas, K, Hansen KM (2013) Software ecosystems—a systematic literature review. J Syst Softw 86(5):1294–1306.
Messerschmitt, DG, Szyperski C (2003) Software Ecosystem: Understanding an Indispensable Technology and Industry. The MIT press, Cambridge.
Mitchell, TR, Thompson L, Peterson E, Cronk R (1997) Temporal adjustments in the evaluation of events: The "rosy view". J Exp Soc Psychol 33:421–448.
Nasehi, SM, Sillito J, Maurer F, Burns C (2012) What makes a good code example? A study of programming Q&A in StackOverflow In: International Conference on Software Maintenance, 25–34.. IEEE, Trento.
Piccioni, M, Furia C, Meyer B, et al (2013) An empirical study of API usability In: International Symposium on Empirical Software Engineering and Measurement, 5–14.. IEEE, Baltimore.
Ployhart, RE, Ward A-K (2011) The "quick start guide" for conducting and publishing longitudinal research. J Bus Psychol 26(4):413–422.
Rama, GM, Kak A (2015) Some structural measures of API usability. Softw Pract Exper 45(1):75–110.
Ratiu, D, Jurjens J (2008) Evaluating the reference and representation of domain concepts in APIs In: IEEE International Conference on Program Comprehension, 242–247.. IEEE, Amsterdam.
Reichheld, FF (2003) The one number you need to grow. Harward Business Rev 81(12):46–54.
Ribeiro, A, da Silva AR (2012) Survey on cross-platforms and languages for mobile apps In: Conference on the Quality of Information and Communications Technology (QUATIC), 255–260.. IEEE, Lisbon.
Robbes, R, Lungu M (2011) A study of ripple effects in software ecosystems In: International Conference on Software Engineering, 904–907.. ACM, Waikiki.
Robillard, MP, Chhetri YB (2015) Recommending reference API documentation. Empir Softw Eng 20(6):1558–1586.
Robillard, MP, Deline R (2011) A field study of API learning obstacles. Empir Softw Eng 16(6):703–732.
Seaman, C. B (1999) Qualitative methods in empirical studies of software engineering. IEEE Trans Softw Eng 25(4):557–572.
Schäfer, T, Jonas J, Mezini M (2008) Mining framework usage changes from instantiation code In: International Conference on Software Engineering, 471–480.. IEEE, Leipzig.
Serrano, N, Hernantes J, Gallardo G (2013) Mobile web apps. IEEE Softw 30(5):22–27.
Shan, TC, Hua WW (2006) Taxonomy of Java web application frameworks In: International Conference on e-Business Engineering (ICEBE), 378–85.. IEEE, Shanghai.
Strauss, A, Corbin J (1998) Basics of Qualitative Research. 2nd edn. Sage, Thousand Oaks.
Stylos, J, Myers BA (2008) The implications of method placement on API learnability In: Foundations of Software Engineering, 105–112.. ACM, Atlanta.
Tamburri, DA, Lago P, Vliet HV (2013) Organizational social structures for software engineering. ACM Comput Surv (CSUR) 46(1):3.
Taylor, R (2013) The role of architectural styles in successful software ecosystems In: Software Product Line Conference, 2–4.. ACM, Tokyo.
Tiarks, R, Maalej W (2014) How does a typical tutorial for mobile development look like? In: Working Conference on Mining Software Repositories, 272–281.. ACM, Hyderabad.
van Angeren, J, Alves C, Jansen S (2016) Can we ask you to collaborate? Analyzing app developer relationships in commercial platform ecosystems. J Syst Softw 113:430–445.
Zomerdijk, LG, Voss CA (2010) Service design for experience-centric services. J Serv Res 13(1):67–82.
