Authors:
(1) Oscar Pedreira, Universidade da Coruna, Centro de Investigacion CITIC, Laboratorio de Bases de Datos, Facultade de Informatica;
(2) Felix García, Universidad de Castilla-La Mancha, Grupo Alarcos, Escuela Superior de Informatica, Paseo de la Universidad;
(3) Mario Piattini, Universidad de Castilla-La Mancha, Grupo Alarcos, Escuela Superior de Informatica, Paseo de la Universidad;
(4) Alejandro Cortinas, Universidade da Coruna, Centro de Investigacion CITIC, Laboratorio de Bases de Datos, Facultade de Informatica;
(5) Ana Cerdeira-Pena, Universidade da Coruna, Centro de Investigacion CITIC, Laboratorio de Bases de Datos, Facultade de Informatica.
3 A Software Architecture for the Gamification of SE Environments and 3.1 Software architecture
4 Gamification Engine for SE Environments
4.1 System architecture and design
4.4 Support of game mechanics and elements and 4.5 Player’s site
5.3 Subjects and analysis units and 5.4 Field procedure and data collection
5.6 Analysis of results from the case study
5.7 Validity threats and limitations of the case study
Conclusion and Future Work, Acknowledgment, and References
In this paper, we have presented a software architecture, a gamification model, and a gamification engine for the gamification of software engineering environments. The main feature of our proposal is centralizing the logging of the behaviors of the people taking part in that environment, as well as the definition of the game rules that evaluate those behaviors and assign the corresponding achievements to them. All the business logic related to gamification is thus centralized in our engine. This allows any organization to gamify its tool suite by using the gamification engine and by carrying out easy modifications of their tools. This is an important difference compared to previous proposals, which forced the organization to either replace some of their tools with gamified tools for the same purpose, or to modify their current tools to integrate gamification into them.
The gamification is simple and general, so it can fit the work environments of most software development companies. In addition, it is easily extensible, that is, the model can accommodate any other needed type of behavior, achievement, or game rule. Another of the main benefits of using our proposals for the gamification of the tool suite of a company is that it allows us to integrate all the tools of that suite into a centralized and integrated gamified environment; that is, the rewards obtained in any of those tools add up to one total sum. An important difference our proposal has in comparison to previous approaches in gamification in SE is that it does not force the organization to replace its tools with custom-developed gamified tools.
In addition to proposing a software architecture and a gamification model from an abstract point of view, we have implemented a real gamification engine based on them. The engine not only supportsthe basic elements of the architecture and gamification model, but it provides advanced functionalities for gamification, such as the analysis of the interaction network derived from the collaboration of the users, which allows us to identify hub users and communities, for example. It facilitatesthe sentiment analysis of the texts, which can let us identify positive and negative trends in the texts the employees produce. It gives personalization support, permitting us to customize contents and functionalities in terms of the user’s profile and evolution in the gamified engine, and it supplies a virtual assistant that will provide the users with help in an interactive way, using natural language, as happens in videogames, for example.
In the paper we have also presented a case study on the application of our proposal in a real organization, gamifying its whole tool suite, which includes tools common to many software development companies, such as Redmine, TestLink, or JUnit. Although we have presented our engine as a tool for the gamification of SE environments, it could be used in the gamification of software tools in different domains. The only limitation we find to this is given by the behavior classes currently supported by the engine. It would nonetheless be very easy to extend the behavior classes supported so that they fit new application domains.
With regard to future work, further developments are planned. Firstly, as the database of the engine contains a detailed log of all the actions carried out by developers in the SE environment, these data could be the basis for an analysis tool which extracts relevant information about the actions of the users, as well as about their performance. The engine might also be extended with a visualization component to show, for instance, user performance and rankings. Appropriate visualizations metaphors could be used (such as, for example, fish tanks with different fish species according to users’ performance rates).
This work was supported by: For Felix Garcia and Mario Piattini: BIZDEVOPS-Global(RTI2018-098309-BC31), Ministerio de Economía, Industria y Competitividad (MINECO) and Fondo Europeo de Desarrollo Regional (FEDER); G3Soft (SBPLY/17/180501/000150, Model Engineering for Government and Management of Global Software Development) and GEMA (Generation and Evaluation of Models for dAta Quality), Consejería de Educacio´n y Ciencia, Junta de Comunidades de CastillaLa Mancha. For Oscar Pedreira, Alejandro Cortin˜as, and Ana Cerdeira-Pena: BIZDEVOPS-Global (RTI2018- 098309-B-C32), Ministerio de Economía, Industria y Competitividad (MINECO) and Fondo Europeo de Desarrollo Regional (FEDER); Datos 4.0 (TIN2016- 78011-c4-1-R) and ETOME-RDF3D3 (TIN2015-69951- R), Ministerio de Economía, Industria y Competitividad (MINECO) and Fondo Europeo de Desarrollo Regional (FEDER); and Centros singulares de investigación de Galicia (ED431G/01), Grupo de Referencia Competitiva (ED431C 2017/58), and ConectaPEME GEMA (IN852A 2018/14), Xunta de Galicia and Fondo Europeo de Desarrollo Regional (FEDER).
[1] G. Zicherman and C.Cunningham, Gamification by Design. Sebastobol, CA, USA: O’Reilly Media Inc., 2011.
[2] M. Hugos, Enterprise Games: Using Game Mechanics to Build a Better Business. Sebastobol, CA, USA: O’Reilly Media Inc., 2012.
[3] K. Werbach and D. Hunter, For the Win: How Game Thinking Can Revolutionize Your business: Defining gamification, in Proceedings of the 15th International Academic Mindtrek Conference: Envisioning Future Media Environments, New York, NY, USA, pp. 9-15, 2011.
[4] S. Deterding, D. Dixon, R. Khaled, and L. Nacke, From game design elements to gamefulness: Defining gamification, in Proceedings of the 15th International Academic MindTrek Conference: Envisioning Future Media Environments, New York, NY, USA, pp. 9–15, 2011.
[5] T. Reiners and L. C. Wood, Gamification in Education and Business. Berlin, Germany: Springer International Publishing, 2015.
[6] G. Richter, D. R. Raban, and S. Rafaeli, Studying gamification: The effect of rewards and incentives on motivation, in Gamification in Education and Business. Berlin, Germany: Springer International Publishing, 2015, pp. 21–46.
[7] E. B. Passos, D. B. Medeiros, P.A. S. Neto, and E. W. G. Clua, Turning real-world software development into a game, in Proc. of 2011 Brazilian Symposium on Games and Digital Entertainment, Salvador,Brazil, 2011, pp. 260–269.
[8] O. Pedreira, F. García, N. Brisaboa, and M. Piattini, Gamification in software engineering—A systematic mapping,Information and Software Technology, vol. 57, pp.
[9] 157–168, 2015. J. Hamari, J. Koivisto, and H. Sarsa, Does gamification work?—A literature review of empirical studies on gamification, in Proc. of the 47th Hawaii International Conference on System Sciences, Waikoloa, HI, USA, 2014, pp. 3025–3034.
[10] Y. Xu, Literature review on web application gamification and analytics, http://csdl. ics. hawaii. edu/techreports/11- 05/11-05. pdf, 2012.
[11] R. Cursino, D. Ferreira, M. Lencastre, R. Fagundes, and J. Pimentel, Gamification in requirements engineering: A systematic review, in Proc. of the 11th International Conference on the Quality of Information and Communications Technology, Coimbra, Portugal, 2018, pp. 119–125.
[12] J. Fernandes, D. Duarte, C. Ribeiro, C. Farinha, J. M. Pereira, and M. M. da Silva, iThink: A game-based approach towards improving collaboration and participation in requirement elicitation, Procedia Computer Science, vol. 15, pp. 66–77, 2012.
[13] L. Machuca-Villegas and G. P. Gasca-Hurtado, Gamification for improving software project management processes: A systematic literature review, in Proc. of International Conference on Software Process Improvement, Guadalajara, Mexico, 2018, pp. 41–54.
[14] S. Sheth, J. Bell, and G. Kaiser, HALO (highly addictive, socially optimized) software engineering, in Proceedings of the 1st International Workshop on Games and Software Engineering, Honolulu, HI, USA, 2011, pp. 29–32.
[15] J. Bell, S. Sheth, and G. Kaiser, Secret ninja testing with HALO software engineering, in Proc. of the 4th International Workshop on Social Software Engineering, Szeged, Hungary, 2011, pp. 43–47.
[16] G. M. de Jesus, F. C. Ferrari, D. de P. Porto, and S. C. P.F. Fabbri, Gamification in software testing: A characterization study, in Proceedings of the III Brazilian Symposium on Systematic and Automated Software Testing, Sao Carlos, Brazil, pp. 39–48, 2018.
[17] J. M. Rojas and G. Fraser, Code defenders: A mutation testing game, in Proc. of IEEE Ninth International Conference on Software Testing, Verification andValidation Workshops, Chicago, IL, USA, 2016, pp. 162–167.
[18] E. Herranz, J. G. Guzma´n, A. de Amescua-Seco, and X. Larrucea, Gamification for software process improvement: A practical approach, IET Software, vol. 13, no. 2, pp. 112– 121, 2018.
[19] M. Tsunoda, T. Hayashi, S. Sasaki, K. Yoshigami, H. Uwano, and K. Matsumoto, How do gamification rules and personal preferences affect coding? in Proc. of the 9th International Workshop on Empirical Software Engineering in Practice, Nara, Japan, 2018, pp. 13–18.
[20] F. F. Nah, B. Eschenbrenner, C. C. Claybaugh, and P.B. Koob, Gamification of enterprise eystems, Systems, vol. 7, no. 1, p. 13, 2019.
[21] A.-G. Mavroeidi, A. Kitsiou,C. Kalloniatis, and S.Gritzalis, Gamification vs. privacy: Identifying and analyzing the major concerns, Future Internet, vol. 11, no. 3, p. 67, 2019.
[22] R. S. Wallace, The anatomy of ALICE in parsing the turing test, doi: 10.1007/978-1-4020-6710-5.
[23] AIML Project, Artificial Intelligence Markup Language (AIML), version 1.0.1, A.L.I.C.E. AI Foundation, 2011.
[24] J. Edmonds and R. M. Karp, Theoretical improvements in algorithmic efficiency for network flow problems, Journal of the ACM , vol. 19, no. 2, pp. 248–264, 1972.
[25] M. Girvan and M. E. J. Newman, Community structure in social and biological networks, in Proc. of the National Academy of Sciences, Washington, DC, USA, 2002, pp. 7821–7826.
[26] R. Tarjan, Depth-first search and linear graph algorithms, SIAM Journal on Ccomputing, vol. 1, no. 2, pp. 146–160, 1972.
[27] V. D. Blondel, J.-L. Guillaume, R. Lambiotte, and E. Lefebvre, Fast unfolding of communities in large networks, Journal of Statistical Mechanics: Theory and Experiment, vol. 2008, no. 10, p. 10008, 2008.
[28] B. Pang, L. Lee, and S. Vaithyanathan, Thumbs up? Sentiment classification using machine learning techniques, in Proc. of the ACL-02 Conference on Empirical Methods in Natural Language Processing–Volume 10, Philadelphia, PA, USA, pp. 79–86, 2002.
[29] P. Brereton, B. Kitchenham, D. Budgen, and Z. Li, Using a protocol template for case study planning, in Proc. of the 12th International Conference on Evaluation and Assessment in Software Engineering, Bari, Italy, 2008, pp. 1–8.
[30] P. Runeson, M. Host, A. Rainer, and B. Regnell, Case Study Research in Software Engineering: Guidelines and Examples. Hoboken, NY, USA: John Wiley & Sons, 2012.
[31] ISO/IEC 15504-2: 2003 Information technology-Process assessment–Part 2: Performing an assessment, Geneva, Switzerland, 2003. [32] ISO/IEC 12207: 2008 Systems and software engineering – Software life cycle processes, Geneva, Switzerland, 2008.
[33] ISO/IEC 27001: 2005 Information technology – Security techniques - Information security management systems – Requirements, Geneva, Switzerland, 2005.
[34] ISO/IEC 25010: 2011 Systems and software engineering – Systems and software Quality Requirements and Evaluation (SQuaRE) – System and software quality models, Geneva, Switzerland, 2011.
[35] R. K. Yin, Case Study Research: Design and Methods. Thousand Oaks, CA, USA: SAGE Publications, 2013.
This paper is available on arxiv under CC BY 4.0 DEED license.