Using Software Archaeology to Measure Knowledge Loss in Software Projects Due to Developer Turnover

Developer turnover can result in a major problem when developing software. When senior developers abandon a software project, they leave a knowledge gap that has to be managed. In addition, new (junior) developers require some time in order to achieve the desired level of productivity. In this paper, we present a methodology to measure the effect of knowledge loss due to developer turnover in software projects. For a given software project, we measure the quantity of code that has been authored by developers that do not belong to the current development team, which we define as orphaned code. Besides, we study how orphaned code is managed by the project. Our methodology is based on the concept of software archaeology, a derivation of software evolution. As case studies we have selected four FLOSS (free, libre, open source software) projects, from purely driven by volunteers to company-supported. The application of our methodology to these case studies will give insight into the turnover that these projects suffer and how they have managed it and shows that this methodology is worth being augmented in future research.

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

[2]  Liguo Yu Indirectly predicting the maintenance effort of open-source software: Research Articles , 2006 .

[3]  Daniel M. Germán,et al.  The GNOME project: a case study of open source, global software development , 2003, Softw. Process. Improv. Pract..

[4]  Stéphane Ducasse,et al.  How developers drive software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[5]  Karl Fogel,et al.  Producing open source software - how to run a successful free software project , 2005 .

[6]  Dave Thomas,et al.  Software Archaeology , 2002, IEEE Softw..

[7]  C.S. Hutchison Personal knowledge, team knowledge, real knowledge , 2001, EUROCON'2001. International Conference on Trends in Communications. Technical Program, Proceedings (Cat. No.01EX439).

[8]  P. Oman,et al.  Metrics for assessing a software system's maintainability , 1992, Proceedings Conference on Software Maintenance 1992.

[9]  Heinz D. Knoell,et al.  Applied Quality Assurance Methods under the Open Source Development Model , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[10]  Kun Huang,et al.  Shared knowledge construction process in an open-source software development community: an investigation of the Gallery community , 2006 .

[11]  Tom DeMarco,et al.  Peopleware: Productive Projects and Teams , 1987 .

[12]  Gregorio Robles,et al.  The processes of joining in global distributed software projects , 2006, GSD '06.

[13]  Serge Demeyer,et al.  Studying software evolution information by visualizing the change history , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..

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

[15]  B. Boehm Software risk management: principles and practices , 1991, IEEE Software.

[16]  Liguo Yu Indirectly predicting the maintenance effort of open-source software , 2006, J. Softw. Maintenance Res. Pract..

[17]  David Lorge Parnas,et al.  Software aging , 1994, Proceedings of 16th International Conference on Software Engineering.

[18]  Sue A. Conger,et al.  The new software engineering , 1993, notThenot Wadsworth series in management information series.

[19]  Jan Sandred Managing Open Source Projects: A Wiley Tech Brief , 2001 .

[20]  Gregorio Robles,et al.  Volunteers in Large Libre Software Projects: A Quantitative Analysis Over Time , 2007 .

[21]  Audris Mockus,et al.  Does Code Decay? Assessing the Evidence from Change Management Data , 2001, IEEE Trans. Software Eng..

[22]  Gregorio Robles,et al.  Evolution of Volunteer Participation in Libre Software Projects: Evidence from Debian , 2005 .

[23]  Barry W. Boehm,et al.  Software Risk Management , 1989, ESEC.

[24]  Daniel M. Germán,et al.  Using software trails to reconstruct the evolution of software , 2004, J. Softw. Maintenance Res. Pract..