The impact of rapid release cycles on the integration delay of fixed issues

The release frequency of software projects has increased in recent years. Adopters of so-called rapid releases—short release cycles, often on the order of weeks, days, or even hours—claim that they can deliver fixed issues (i.e., implemented bug fixes and new features) to users more quickly. However, there is little empirical evidence to support these claims. In fact, our prior work shows that code integration phases may introduce delays for rapidly releasing projects—98% of the fixed issues in the rapidly releasing Firefox project had their integration delayed by at least one release. To better understand the impact that rapid release cycles have on the integration delay of fixed issues, we perform a comparative study of traditional and rapid release cycles. Our comparative study has two parts: (i) a quantitative empirical analysis of 72,114 issue reports from the Firefox project, and a (ii) qualitative study involving 37 participants, who are contributors of the Firefox, Eclipse, and ArgoUML projects. Our study is divided into quantitative and qualitative analyses. Quantitative analyses reveal that, surprisingly, fixed issues take a median of 54% (57 days) longer to be integrated in rapid Firefox releases than the traditional ones. To investigate the factors that are related to integration delay in traditional and rapid release cycles, we train regression models that model whether a fixed issue will have its integration delayed or not. Our explanatory models achieve good discrimination (ROC areas of 0.80–0.84) and calibration scores (Brier scores of 0.05–0.16) for rapid and traditional releases. Our explanatory models indicate that (i) traditional releases prioritize the integration of backlog issues, while (ii) rapid releases prioritize issues that were fixed in the current release cycle. Complementary qualitative analyses reveal that participants’ perception about integration delay is tightly related to activities that involve decision making, risk management, and team collaboration. Moreover, the allure of shipping fixed issues faster is a main motivator for adopting rapid release cycles among participants (although this motivation is not supported by our quantitative analysis). Furthermore, to explain why traditional releases deliver fixed issues more quickly, our participants point out the rush for integration in traditional releases and the increased time that is invested on polishing issues in rapid releases. Our results suggest that rapid release cycles may not be a silver bullet for the rapid delivery of new content to users. Instead, our results suggest that the benefits of rapid releases are increased software stability and user feedback.

[1]  Joachim Karlsson,et al.  A Cost-Value Approach for Prioritizing Requirements , 1997, IEEE Softw..

[2]  Ken-ichi Matsumoto,et al.  Predicting Re-opened Bugs: A Case Study on the Eclipse Project , 2010, 2010 17th Working Conference on Reverse Engineering.

[3]  M. Sandelowski Sample size in qualitative research. , 1995, Research in nursing & health.

[4]  Roberto Almeida Bittencourt,et al.  Rapid Releases and Patch Backouts: A Software Analytics Approach , 2015, IEEE Software.

[5]  Rahul Premraj,et al.  Do stack traces help developers fix bugs? , 2010, 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010).

[6]  Foutse Khomh,et al.  On Rapid Releases and Software Testing , 2013, 2013 IEEE International Conference on Software Maintenance.

[7]  K. Charmaz,et al.  Constructing Grounded Theory , 2014 .

[8]  Uirá Kulesza,et al.  An Empirical Study of Delays in the Integration of Addressed Issues , 2014, 2014 IEEE International Conference on Software Maintenance and Evolution.

[9]  Naoyasu Ubayashi,et al.  Why are Commits Being Reverted?: A Comparative Study of Industrial and Open Source Projects , 2016, 2016 IEEE International Conference on Software Maintenance and Evolution (ICSME).

[10]  Ahmed E. Hassan,et al.  Security versus performance bugs: a case study on Firefox , 2011, MSR '11.

[11]  Foutse Khomh,et al.  On rapid releases and software testing: a case study and a semi-systematic literature review , 2015, Empirical Software Engineering.

[12]  Harald C. Gall,et al.  Predicting the fix time of bugs , 2010, RSSE '10.

[13]  Emerson R. Murphy-Hill,et al.  Improving developer participation rates in surveys , 2013, 2013 6th International Workshop on Cooperative and Human Aspects of Software Engineering (CHASE).

[14]  Thomas Zimmermann,et al.  Improving bug triage with bug tossing graphs , 2009, ESEC/FSE '09.

[15]  C. Spearman The proof and measurement of association between two things. , 2015, International journal of epidemiology.

[16]  N. Cliff Dominance statistics: Ordinal analyses to answer ordinal questions. , 1993 .

[17]  N. Nagappan,et al.  Use of relative code churn measures to predict system defect density , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[18]  W. Kruskal,et al.  Use of Ranks in One-Criterion Variance Analysis , 1952 .

[19]  Shane McIntosh,et al.  An empirical study of the impact of modern code review practices on software quality , 2015, Empirical Software Engineering.

[20]  Roberto Almeida Bittencourt,et al.  Do Rapid Releases Affect Bug Reopening? A Case Study of Firefox , 2014, 2014 Brazilian Symposium on Software Engineering.

[21]  Sunil J Rao,et al.  Regression Modeling Strategies: With Applications to Linear Models, Logistic Regression, and Survival Analysis , 2003 .

[22]  Aditya K. Ghose,et al.  Characterization and Prediction of Issue-Related Risks in Software Projects , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[23]  Frank E. Harrell,et al.  Regression Modeling Strategies: With Applications to Linear Models, Logistic Regression, and Survival Analysis , 2001 .

[24]  S. Holm A Simple Sequentially Rejective Multiple Test Procedure , 1979 .

[25]  W. Briggs Statistical Methods in the Atmospheric Sciences , 2007 .

[26]  David Lo,et al.  On the unreliability of bug severity data , 2016, Empirical Software Engineering.

[27]  R. Fisher Statistical methods for research workers , 1927, Protoplasma.

[28]  Kim Bartel Sheehan,et al.  E-mail Survey Response Rates: A Review , 2006, J. Comput. Mediat. Commun..

[29]  Foutse Khomh,et al.  Is it a bug or an enhancement?: a text-based approach to classify change requests , 2008, CASCON '08.

[30]  Foutse Khomh,et al.  Do faster releases improve software quality? An empirical case study of Mozilla Firefox , 2012, 2012 9th IEEE Working Conference on Mining Software Repositories (MSR).

[31]  Aditya K. Ghose,et al.  Predicting Delays in Software Projects Using Networked Classification (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[32]  Uirá Kulesza,et al.  The Impact of Switching to a Rapid Release Cycle on the Integration Delay of Addressed Issues - An Empirical Study of the Mozilla Firefox Project , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[33]  O. J. Dunn Multiple Comparisons Using Rank Sums , 1964 .

[34]  Bram Adams,et al.  How Much does integrating this Commit Cost ?-A Position Paper , 2014 .

[35]  M Alghmadi Hammam,et al.  An Automated Approach for Recommending When to Stop Performance Tests , 2016 .

[36]  Shane McIntosh,et al.  Modern Release Engineering in a Nutshell -- Why Researchers Should Care , 2016, 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER).

[37]  Jan Pries-Heje,et al.  Short cycle time systems development , 2004, Inf. Syst. J..

[38]  Ken Schwaber,et al.  SCRUM Development Process , 1997 .

[39]  Björn Regnell,et al.  Market-Driven Requirements Engineering for Software Products , 2005 .

[40]  Frank Maurer,et al.  Requirements engineering and agile software development , 2003, WET ICE 2003. Proceedings. Twelfth IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, 2003..

[41]  Des Greer,et al.  Software release planning: an evolutionary and iterative approach , 2004, Inf. Softw. Technol..

[42]  Christophe Ley,et al.  Detecting outliers: Do not use standard deviation around the mean, use absolute deviation around the median , 2013 .

[43]  Lucas D. Panjer Predicting Eclipse Bug Lifetimes , 2007, Fourth International Workshop on Mining Software Repositories (MSR'07:ICSE Workshops 2007).

[44]  B. Efron How Biased is the Apparent Error Rate of a Prediction Rule , 1986 .

[45]  C. Spearman The proof and measurement of association between two things. By C. Spearman, 1904. , 1987, The American journal of psychology.

[46]  Daniel M. Germán,et al.  Will my patch make it? And how fast? Case study on the Linux kernel , 2013, 2013 10th Working Conference on Mining Software Repositories (MSR).

[47]  Chandrasekar Subramaniam,et al.  Determinants of open source software project success: A longitudinal study , 2009, Decis. Support Syst..

[48]  Daniel M. Germán,et al.  Towards a simplification of the bug report form in eclipse , 2008, MSR '08.

[49]  D. Stangl,et al.  Encyclopedia of Statistics in Behavioral Science , 2008 .

[50]  Md Tajmilur Rahman,et al.  Release Stabilization on Linux and Chrome , 2015, IEEE Software.

[51]  Peter Kampstra,et al.  Beanplot: A Boxplot Alternative for Visual Comparison of Distributions , 2008 .

[52]  G. Raj,et al.  How to build and interpret a nomogram for cancer prognosis. , 2008, Journal of clinical oncology : official journal of the American Society of Clinical Oncology.

[53]  Barry W. Boehm,et al.  A spiral model of software development and enhancement , 1986, Computer.

[54]  David C. Howell Median Absolute Deviation , 2005 .

[55]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[56]  Georgios Gousios,et al.  How (Much) Do Developers Test? , 2015, 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering.

[57]  Michael W. Godfrey,et al.  A tale of two browsers , 2011, MSR '11.