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

  • Alexandre Altair de Melo
  • Mauro Hinz
  • Glaucio Scheibel
  • Carla Diacui Medeiros Berkenbrock
  • Isabela Gasparini
  • Fabiano Baldo
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8531)


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.


gamification collaboration version control software engineering interface 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ahmad, I., Jaafar, A.: Games design and integration with user’s emotion. In: 2011 International Conference on User Science and Engineering (i-USEr), pp. 69–72 (2011)Google Scholar
  2. 2.
    Chidamber, S.R., Darcy, D.P., Kemerer, C.F.: Managerial use of metrics for object-oriented software: An exploratory analysis. IEEE Transactions on Software Engineering 24(8), 629–639 (1998)CrossRefGoogle Scholar
  3. 3.
    Cook, D.: What are game mechanics. Lost Garden (2006),
  4. 4.
    Crawford, C.: Chris Crawford on game design. New Riders (2003)Google Scholar
  5. 5.
    Deterding, S., Dixon, D., Khaled, R., Nacke, L.: From game design elements to gamefulness: defining gamification. In: Proceedings of the 15th International Academic MindTrek Conference: Envisioning Future Media Environments, pp. 9–15. ACM (2011)Google Scholar
  6. 6.
    Dubois, D.J., Tamburrelli, G.: Understanding gamification mechanisms for software development. In: Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering, pp. 659–662. ACM (2013)Google Scholar
  7. 7.
    Groh, F.: Gamification: State of the art definition and utilization, pp. 39–47. Institute of Media Informatics Ulm University (2012)Google Scholar
  8. 8.
    Hugos, M.: Enterprise Games: Using Game Mechanics to Build a Better Business. O’Reilly (2012)Google Scholar
  9. 9.
    Koc, A., Tansel, A.: A survey of version control systems. In: ICEME 2011 (2011)Google Scholar
  10. 10.
    Koster, R.: Theory of fun for game design. O’Reilly Media, Inc. (2010)Google Scholar
  11. 11.
    Louridas, P., Spinellis, D., Vlachos, V.: Power laws in software. ACM Transactions on Software Engineering and Methodology (TOSEM) 18(1), 2 (2008)CrossRefGoogle Scholar
  12. 12.
    Marczewski, A.: Gamification: A Simple Introduction. Andrzej Marczewski (2012)Google Scholar
  13. 13.
    McCabe, T.J.: A complexity measure. IEEE Transactions on Software Engineering (4), 308–320 (1976)Google Scholar
  14. 14.
    O’Grady, S.: The New Kingmakers. O’Reilly Media (2013)Google Scholar
  15. 15.
    Romero, M., Usart, M., Ott, M., Earp, J.: Learning through playing for or against each other? Promoting collaborative learning in digital game based learning. Learning 5, 15–2012 (2012)Google Scholar
  16. 16.
    Rosenberg, J.: Some misconceptions about lines of code. In: Proceedings of the Fourth International Software Metrics Symposium, pp. 137–142. IEEE (1997)Google Scholar
  17. 17.
    Salen, K.: Rules of play: Game design fundamentals. The MIT Press (2004)Google Scholar
  18. 18.
    Singer, L., Schneider, K.: It was a bit of a race: Gamification of version control. In: 2012 2nd International Workshop on Games and Software Engineering (GAS), pp. 5–8. IEEE (2012)Google Scholar
  19. 19.
    Toth, Z., Novak, G., Ferenc, R., Siket, I.: Using version control history to follow the changes of source code elements. In: 2013 17th European Conference on Software Maintenance and Reengineering (CSMR), pp. 319–322. IEEE (2013)Google Scholar
  20. 20.
    Treude, C., Storey, M.: Awareness 2.0: staying aware of projects, developers and tasks using dashboards and feeds. In: 2010 ACM/IEEE 32nd International Conference on Software Engineering, vol. 1, pp. 365–374. IEEE (2010)Google Scholar
  21. 21.
    Velazquez, A., Martinez-Garcia, A.I., Favela, J., Hernandez, A., Ochoa, S.F.: Design of exergames with the collaborative participation of older adults. In: 2013 IEEE 17th International Conference on Computer Supported Cooperative Work in Design (CSCWD), pp. 521–526. IEEE (2013)Google Scholar
  22. 22.
    Watson, A.H., McCabe, T.J., Wallace, D.R.: Structured testing: A testing methodology using the cyclomatic complexity metric. NIST special Publication 500(235), 1–114 (1996)Google Scholar
  23. 23.
    Zichermann, G., Cunningham, C.: Gamification by Design: Implementing game mechanics in web and mobile apps. O’Reilly Media, Inc. (2011)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Alexandre Altair de Melo
    • 1
  • Mauro Hinz
    • 1
  • Glaucio Scheibel
    • 1
  • Carla Diacui Medeiros Berkenbrock
    • 1
  • Isabela Gasparini
    • 1
  • Fabiano Baldo
    • 1
  1. 1.Computer Science Department, Graduate Program in Applied ComputingSanta Catarina State University, Brazil (UDESC)JoinvilleBrazil

Personalised recommendations