What are the factors affecting the handover process in open source development?

Abstract Background Handover is common in open source software (OSS) development, which could have a negative impact on software quality and progress. Objective We aim to identify factors associated with the handover process for future improvements. Method We first propose a metric, i.e. Active Days Coverage (abbr. ADC) together with an algorithm, i.e., Handover Duration Identification (abbr. HDI) to identify the handover processes in open software projects automatically. To evaluate our method, we selected two sample sets (i.e. sample set A and sample set B) from Github. With the sample set A, an automatic identification (to identify possible handover processes) together with an email inquiry (to identify actual handover processes) have been conducted. With the sample set B, we analyze fourteen potential factors impacting a handover process using the stepwise regression method. Results The precision, recall and accuracy of our identification method reach 0.67, 0.73 and 0.65 respectively. The rate of correct identification of HDI algorithm is over 0.5 on average. Six factors were identified as the major factors impacting a handover process as well as seven combinations of these six factors were tested by stepwise regression method to explore possible correlation with the corresponding handover duration, among which five combinations show R2 greater than 0.4 with one reaches 0.493. Conclusion This study implies that handover can be identified automatically. Developers usually follow a common handover process under various context. Moreover, although a significant correlation between the duration of a handover process and the combination of certain factors could be observed, there is no single factor that has a significant correlation with the duration of a handover process.

[1]  Premkumar T. Devanbu,et al.  A large scale study of programming languages and code quality in github , 2014, SIGSOFT FSE.

[2]  Mira Kajko-Mattsson,et al.  Taxonomy of handover activities , 2010, PROFES '10.

[3]  Alan Roberts,et al.  Mission Critical Computer Resources Management Guide. , 1990 .

[4]  Boudewijn F. van Dongen,et al.  Process Mining Framework for Software Processes , 2007, ICSP.

[5]  Pratyush Nidhi Sharma,et al.  Examining Turnover in Open Source Software Projects Using Logistic Hierarchical Linear Modeling Approach , 2012, OSS.

[6]  Frank Salger On the Use of Handover Checkpoints to Manage the Global Software Development Process , 2009, OTM Workshops.

[7]  Gang Yin,et al.  Who Should Review this Pull-Request: Reviewer Recommendation to Expedite Crowd Collaboration , 2014, 2014 21st Asia-Pacific Software Engineering Conference.

[8]  Premkumar T. Devanbu,et al.  Quality and productivity outcomes relating to continuous integration in GitHub , 2015, ESEC/SIGSOFT FSE.

[9]  Shuhang Guo,et al.  Multiple Stepwise Regression Analysis on Knowledge Evaluation , 2008, 2008 International Conference on Management of e-Commerce and e-Government.

[10]  Robert E. Kraut,et al.  Predicting Continued Participation in Newsgroups , 2006, J. Comput. Mediat. Commun..

[11]  Wil M. P. van der Aalst,et al.  Conformance checking of processes based on monitoring real behavior , 2008, Inf. Syst..

[12]  Yingxu Wang,et al.  Measurement of the cognitive functional complexity of software , 2003, The Second IEEE International Conference on Cognitive Informatics, 2003. Proceedings..

[13]  Rajesh Krishna Balan,et al.  Globally distributed software development project performance: an empirical analysis , 2007, ESEC-FSE '07.

[14]  Karim R. Lakhani,et al.  Community, Joining, and Specialization in Open Source Software Innovation: A Case Study , 2003 .

[15]  B. Curtis,et al.  Measurement and experimentation in software engineering , 1980, Proceedings of the IEEE.

[16]  Dan X. Houston,et al.  A system dynamics software process simulator for staffing policies decision support , 1998, Proceedings of the Thirty-First Hawaii International Conference on System Sciences.

[17]  Arthur S. Goldberger,et al.  Linear regression after selection , 1981 .

[18]  Ingo Scholtes,et al.  From Aristotle to Ringelmann: a large-scale analysis of team productivity and coordination in Open Source Software projects , 2015, Empirical Software Engineering.

[19]  Yingxu Wang,et al.  On the Cognitive Complexity of Software and its Quantification and Formal Measurement , 2009, Int. J. Softw. Sci. Comput. Intell..

[20]  Jacob Cohen A Coefficient of Agreement for Nominal Scales , 1960 .

[21]  Gail C. Murphy,et al.  Impact of developer turnover on quality in open-source software , 2015, ESEC/SIGSOFT FSE.

[22]  Wil M. P. van der Aalst,et al.  Agile development with software process mining , 2014, ICSSP 2014.

[23]  Claes Wohlin,et al.  Lessons learned from transferring software products to India , 2012, J. Softw. Evol. Process..

[24]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[25]  Abdelrafe Elzamly,et al.  Modelling and Evaluating Software Project Risks with Quantitative Analysis Techniques in Planning Software Development , 2015, J. Comput. Inf. Technol..

[26]  Muhammad Ali Babar,et al.  Key factors for adopting inner source , 2014, ACM Trans. Softw. Eng. Methodol..

[27]  Shen Beijun,et al.  Mining GitHub: Why Commit Stops -- Exploring the Relationship between Developer's Commit Pattern and File Version Evolution , 2013, 2013 20th Asia-Pacific Software Engineering Conference (APSEC).

[28]  Boudewijn F. van Dongen,et al.  The ProM Framework: A New Era in Process Mining Tool Support , 2005, ICATPN.

[29]  Jesús M. González-Barahona,et al.  Contributor Turnover in Libre Software Projects , 2006, OSS.

[30]  Zheng Li,et al.  Mining Handover Process in Open Source Development: An Exploratory Study , 2017, 2017 24th Asia-Pacific Software Engineering Conference (APSEC).

[31]  Mira Kajko-Mattsson,et al.  Core handover problems , 2010, PROFES '10.

[32]  Audris Mockus,et al.  Effectiveness of code contribution: from patch-based to pull-request-based tools , 2016, SIGSOFT FSE.

[33]  Russell W. Rumberger,et al.  Dropping Out of Middle School: A Multilevel Analysis of Students and Schools , 1995 .

[34]  Alexander L. Wolf,et al.  Automating Process Discovery through Event-Data Analysis , 1995, 1995 17th International Conference on Software Engineering.

[35]  Wil M. P. van der Aalst,et al.  Process Mining - Discovery, Conformance and Enhancement of Business Processes , 2011 .

[36]  Romain Rouvoy,et al.  Infrastructure as runtime models: Towards Model-Driven resource management , 2015, 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS).

[37]  Kai Petersen,et al.  Handover of managerial responsibilities in global software development: a case study of source code evolution and quality , 2015, Software Quality Journal.

[38]  Tracy Hall,et al.  The impact of staff turnover on software projects: the importance of understanding what makes software practitioners tick , 2008, SIGMIS CPR '08.

[39]  Aftab Iqbal,et al.  Understanding Contributor to Developer Turnover Patterns in OSS Projects: A Case Study of Apache Projects , 2014 .

[40]  Gregor Engels,et al.  Assessments in global software development: a tailorable framework for industrial projects , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[41]  Jiawei Han,et al.  Data Mining: Concepts and Techniques , 2000 .