Advantages and Disadvantages of using Shared code from the Developers Perspective: A qualitative study

Context: The code ownership has influence on various aspects of software development, such as code quality, cooperation and team knowledge. However, there are few studies from the point of view of developers that seek to understand the advantages and disadvantages of code ownership. Goals: to investigate what are the advantages and disadvantages of practicing shared code ownership from the perspective of the software developers. Methodology: A qualitative study was conducted using a semi-structured interviews in three technology companies with different profiles. We conducted 19 interviews, that were audio recorded and then transcribed. We coded the data using qualitative coding techniques. Results: Considering companies' context, we have found six advantages and six disadvantages of using shared code ownership. Five proposition were presented. Conclusion: It is noted that the practice of shared code ownership, as described in theory, is more suitable for a more experienced programmers teams, who are able to understand codes without assistance. However, the adaptation of the practice, in which the author is consulted before any change is done, it is necessary for less experienced teams, who feel unsecure to modify the code cause other errors for the project.

[1]  Bikram Sengupta,et al.  Software evolution in agile development: a case study , 2010, SPLASH/OOPSLA Companion.

[2]  WoodStephen,et al.  Successful extreme programming , 2013 .

[3]  Sharan B. Merriam,et al.  Qualitative Research: A Guide to Design and Implementation , 2009 .

[4]  Siobhán Clarke,et al.  Behind the rules: XP experiences , 2004, Agile Development Conference.

[5]  Shane Warden,et al.  The art of agile development , 2007 .

[6]  Thomas Ertl,et al.  In-Situ Visualisation of Fractional Code Ownership over Time , 2015, VINCI.

[7]  Hisham M. Haddad,et al.  Best managerial practices in agile development , 2014, ACM Southeast Regional Conference.

[8]  Jacek Czerwonka,et al.  Code Ownership and Software Quality: A Replication Study , 2015, 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories.

[9]  Filippo Ricca,et al.  Are Heroes common in FLOSS projects? , 2010, ESEM '10.

[10]  Guilherme Horta Travassos,et al.  Common Agile Practices in Software Processes , 2011, 2011 International Symposium on Empirical Software Engineering and Measurement.

[11]  Jussi Auvinen,et al.  Software Process Improvement with Agile Practices in a Large Telecom Company , 2006, PROFES.

[12]  Xiaojun Zhang,et al.  Role of collective ownership and coding standards in coordinating expertise in software project teams , 2009, Eur. J. Inf. Syst..

[13]  Ulrich Amsel Product-Focused Software Process Improvement , 2011, Lecture Notes in Computer Science.

[14]  Premkumar T. Devanbu,et al.  Ownership, experience and defects: a fine-grained study of authorship , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[15]  Xavier Blanc,et al.  Code ownership in open-source software , 2014, EASE '14.

[16]  Ugrasen Suman,et al.  Iterative Maintenance Life Cycle Using eXtreme Programming , 2010, 2010 International Conference on Advances in Recent Technologies in Communication and Computing.

[17]  Helen Sharp,et al.  Does the XP environment meet the motivational needs of the software developer? An empirical study , 2007, Agile 2007 (AGILE 2007).

[18]  Harald C. Gall,et al.  Don't touch my code!: examining the effects of ownership on software quality , 2011, ESEC/FSE '11.

[19]  Dietmar Pfahl,et al.  A literature review of agile practices and their effects in scientific software development , 2011, SECSE '11.

[20]  Bertrand Meyer,et al.  Agile! , 2014, Springer International Publishing.

[21]  Ugrasen Suman,et al.  Extended iterative maintenance life cycle using eXtreme programming , 2014, SOEN.

[22]  J. Gosby MEDIA REVIEWS: Basics of Qualitative Research - Techniques and Procedures for Developing Grounded Theory 2nd Edition by A. Strauss and J. Corbin. Sage Publications, , 2000 .

[23]  Radmila Juric,et al.  Extreme programming and its development practices , 2000, ITI 2000. Proceedings of the 22nd International Conference on Information Technology Interfaces (Cat. No.00EX411).

[24]  Guilherme Horta Travassos,et al.  Towards Pertinent Characteristics of Agility and Agile Practices for Software Processes , 2013, CLEI Electron. J..