We Don't Need Another Hero?: The Impact of "Heroes" on Software Development

A software project has "Hero Developers" when 80% of contributions are delivered by 20% of the developers. Are such heroes a good idea? Are too many heroes bad for software quality? Is it better to have more/less heroes for different kinds of projects? To answer these questions, we studied 661 open source projects from Public open source software (OSS) Github and 171 projects from an Enterprise Github. We find that hero projects are very common. In fact, as projects grow in size, nearly all project become hero projects. These findings motivated us to look more closely at the effects of heroes on software development. Analysis shows that the frequency to close issues and bugs are not significantly affected by the presence of project type (Public or Enterprise). Similarly, the time needed to resolve an issue/bug/enhancement is not affected by heroes or project type. This is a surprising result since, before looking at the data, we expected that increasing heroes on a project will slow down howfast that project reacts to change. However, we do find a statistically significant association between heroes, project types, and enhancement resolution rates. Heroes do not affect enhancement resolution rates in Public projects. However, in Enterprise projects, heroes increase the rate at which projects complete enhancements. In summary, our empirical results call for a revision of a long-held truism in software engineering. Software heroes are far more common and valuable than suggested by the literature, particularly for medium to large Enterprise developments. Organizations should reflect on better ways to find and retain more of these heroes.

[1]  Kouichi Kishida,et al.  Toward an understanding of the motivation of open source software developers , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[2]  Jordi Cabot,et al.  Exploring the use of labels to categorize issues in Open-Source Software projects , 2015, 2015 IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[3]  Daniela E. Damian,et al.  The promises and perils of mining GitHub , 2009, MSR 2014.

[4]  J. Bach Enough About Process: What We Need are Heroes , 1995, IEEE Softw..

[5]  Tim Menzies,et al.  Distributed development considered harmful? , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[6]  Barry Boehm,et al.  A view of 20th and 21st century software engineering , 2006, ICSE.

[7]  Arturo Reyes López Analyzing GitHub as a Collaborative Software Development Platform: A Systematic Review , 2017 .

[8]  Kevin Peterson,et al.  The GitHub Open Source Development Process , 2014 .

[9]  Charmayne Cullom,et al.  Software Development: Cowboy or Samurai , 2006 .

[10]  Adam Wierzbicki,et al.  GitHub Projects. Quality Analysis of Open-Source Software , 2014, SocInfo.

[11]  Andy Zaidman,et al.  Test Code Quality and Its Relation to Issue Handling Performance , 2014, IEEE Transactions on Software Engineering.

[12]  Marco Aurélio Gerosa,et al.  More Common Than You Think: An In-depth Study of Casual Contributors , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[13]  Jordi Cabot,et al.  A Systematic Mapping Study of Software Development With GitHub , 2017, IEEE Access.

[14]  Naoyasu Ubayashi,et al.  Revisiting the applicability of the pareto principle to core development teams in open source software projects , 2015, IWPSE.

[15]  Daniel M. Germán,et al.  The promises and perils of mining git , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.

[16]  Sandeep Krishnamurthy,et al.  Cave or Community? An Empirical Examination of 100 Mature Open Source Projects , 2002, First Monday.

[17]  Lefteris Angelis,et al.  Ranking and Clustering Software Cost Estimation Models through a Multiple Comparisons Algorithm , 2013, IEEE Transactions on Software Engineering.

[18]  Aakash Gautam,et al.  An Empirical Study of Activity, Popularity, Size, Testing, and Stability in Continuous Integration , 2017, 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR).

[19]  Jesús M. González-Barahona,et al.  Evolution of the core team of developers in libre software projects , 2009, 2009 6th IEEE International Working Conference on Mining Software Repositories.

[20]  Jr. Frederick P. Brooks,et al.  The Mythical Man-Month: Essays on Softw , 1978 .

[21]  S. T. Buckland,et al.  An Introduction to the Bootstrap. , 1994 .

[22]  Rohan Padhye,et al.  A study of external community contribution to open-source projects on GitHub , 2014, MSR 2014.

[23]  Ashish Sureka,et al.  Process mining multiple repositories for software defect resolution from control and organizational perspective , 2014, MSR 2014.

[24]  Robert Tibshirani,et al.  An Introduction to the Bootstrap , 1994 .

[26]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[27]  P. Kidwell,et al.  The mythical man-month: Essays on software engineering , 1996, IEEE Annals of the History of Computing.

[28]  Jacques Klein,et al.  Got issues? Who cares about it? A large scale investigation of issue trackers from GitHub , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[29]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[30]  Shane McIntosh,et al.  Revisiting the Impact of Classification Techniques on the Performance of Defect Prediction Models , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[31]  Marco Aurélio Gerosa,et al.  How Does the Shift to GitHub Impact Project Collaboration? , 2016, 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[32]  J. Herbsleb,et al.  Two case studies of open source software development: Apache and Mozilla , 2002, TSEM.

[33]  M. R. Martínez-Torres,et al.  Current issues and research trends on open-source software communities , 2014, Technol. Anal. Strateg. Manag..

[34]  D HerbslebJames,et al.  Two case studies of open source software development , 2002 .

[35]  James D. Herbsleb,et al.  Influence of social and technical factors for evaluating contribution in GitHub , 2014, ICSE.

[36]  T. Mens,et al.  Evidence for the Pareto principle in Open Source Software Activity , 2011 .

[37]  Trevor Wood-Harper,et al.  Multiview as social informatics in action: past, present and future , 2005, Inf. Technol. People.

[38]  Meiyappan Nagappan,et al.  Curating GitHub for engineered software projects , 2017, Empirical Software Engineering.

[39]  J.F. Naveda,et al.  Integrating agile practices into software engineering courses , 2002, Proceedings 15th Conference on Software Engineering Education and Training (CSEE&T 2002).

[40]  Syed Akhter Hossain,et al.  Comparative Study on Agile software development methodologies , 2013, ArXiv.

[41]  Sergio L. Toral Marín,et al.  Analysis of the Core Team Role in Open Source Communities , 2011, 2011 International Conference on Complex, Intelligent, and Software Intensive Systems.

[42]  Nachiappan Nagappan,et al.  Empirical analyses of software contributor productivity , 2017 .