Version Control System Gamification: A Proposal to Encourage the Engagement of Developers to Collaborate in Software Projects

This paper proposes to use gamification for recognition of software developers' collaboration and commitment. In order to improve productivity, the paper also evaluates the users' engagement in a software development project. The idea is to use the information extracted from source repositories where developers realize their commits. A tool proposes ranking via news feed that will extract information from the source repository by using software engineering metrics, such as McCabe's cyclomatic complexity, in order to build a ranking system, which highlights and rewards the most active developers. The ultimate goal is to determine whether the use of gamification encourages collaboration and commitment of all involved in software development projects.

[1]  William V. Wright,et al.  A Theory of Fun for Game Design , 2004 .

[2]  Rudolf Ferenc,et al.  Using Version Control History to Follow the Changes of Source Code Elements , 2013, 2013 17th European Conference on Software Maintenance and Reengineering.

[3]  Christopher Cunningham,et al.  Gamification by Design - Implementing Game Mechanics in Web and Mobile Apps , 2011 .

[4]  Giordano Tamburrelli,et al.  Understanding gamification mechanisms for software development , 2013, ESEC/FSE 2013.

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

[6]  Katie Salen,et al.  Rules of play: game design fundamentals , 2003 .

[7]  Azizah Jaafar,et al.  Games design and integration with user's emotion , 2011, 2011 International Conference on User Science and Engineering (i-USEr ).

[8]  Lennart E. Nacke,et al.  From game design elements to gamefulness: defining "gamification" , 2011, MindTrek.

[9]  Leif Singer,et al.  It was a bit of a race: Gamification of version control , 2012, 2012 Second International Workshop on Games and Software Engineering: Realizing User Engagement with Game Engineering Techniques (GAS).

[10]  Jeffrey Earp,et al.  Learning through Playing for or against Each Other? Promoting Collaborative Learning in Digital Game Based Learning , 2012, ECIS.

[11]  Dolores R. Wallace,et al.  Structured Testing: A Testing Methodology Using the Cyclomatic Complexity Metric , 1996 .

[12]  Stephen O'Grady The New Kingmakers , 2013 .

[13]  Diomidis Spinellis,et al.  Power laws in software , 2008, TSEM.

[14]  Jesús Favela,et al.  Design of exergames with the collaborative participation of older adults , 2013, Proceedings of the 2013 IEEE 17th International Conference on Computer Supported Cooperative Work in Design (CSCWD).

[15]  Christoph Treude,et al.  Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feeds , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[16]  David P. Darcy,et al.  Managerial Use of Metrics for Object-Oriented Software: An Exploratory Analysis , 1998, IEEE Trans. Software Eng..

[17]  Jarrett Rosenberg,et al.  Some misconceptions about lines of code , 1997, Proceedings Fourth International Software Metrics Symposium.

[18]  Chris Crawford,et al.  Chris Crawford on Game Design , 2003 .