paint-brush
Researchers Discover a New Gamification Architecture to Boost Software Engineering Workflowsby@gamifications
265 reads

Researchers Discover a New Gamification Architecture to Boost Software Engineering Workflows

by Gamifications FTW PublicationsJanuary 26th, 2025
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

This paper proposes a gamification architecture to integrate various software engineering tools, improving motivation and performance without replacing existing tools. A case study demonstrates its effectiveness in a real-world company.
featured image - Researchers Discover a New Gamification Architecture to Boost Software Engineering Workflows
Gamifications FTW Publications HackerNoon profile picture
0-item

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.

Abstract and 1 Introduction

2 Related Work

3 A Software Architecture for the Gamification of SE Environments and 3.1 Software architecture

3.2 Gamification model

4 Gamification Engine for SE Environments

4.1 System architecture and design

4.2 Integration

4.3 Other functionalities

4.4 Support of game mechanics and elements and 4.5 Player’s site

4.6 Advanced functionalities

5 Case Study: Application of the Gamification Engine in a Real Company and 5.1 Description of the organization and its tool suite

5.2 Design

5.3 Subjects and analysis units and 5.4 Field procedure and data collection

5.5 Intervention

5.6 Analysis of results from the case study

5.7 Validity threats and limitations of the case study

Discussion

Conclusion and Future Work, Acknowledgment, and References

Abstract

Gamification has been applied in software engineering to improve quality and results by increasing people’s motivation and engagement. A systematic mapping has identified research gaps in the field, one of them being the difficulty of creating an integrated gamified environment comprising all the tools of an organization, since most existing gamified tools are custom developments or prototypes. In this paper, we propose a gamification software architecture that allows us to transform the work environment of a software organization into an integrated gamified environment, i.e., the organization can maintain its tools, and the rewards obtained by the users for their actions in different tools will mount up. We developed a gamification engine based on our proposal, and we carried out a case study in which we applied it in a real software development company. The case study shows that the gamification engine has allowed the company to create a gamified workplace by integrating custom-developed tools and off-the-shelf tools such as Redmine, TestLink, or JUnit, with the gamification engine. Two main advantages can be highlighted: (i) our solution allows the organization to maintain its current tools, and (ii) the rewards for actions in any tool accumulate in a centralized gamified environment.


Key words: gamification; software engineering; gamification architecture; gamification engine

1 Introduction

Gamification is usually defined as the application of game elements and mechanics to non-game activities, in order to improve people’s engagement, and motivation, and therefore get better results[1–4]. Successful applications of gamification can be found in many domains, such as marketing, education, or mobile applications, for example. Different types of game mechanics taken from traditional games have been used in gamification[1–3]. The most typical ones are direct rewards in the form of points, badges, or virtual coins the users receive upon successfully completing tasks. Other game mechanics look for exploiting social relations and status, as in the case of levels, leaderboards, or voting. Many gamification applications also make use of feedback systems that provide the users with continuous information on their performance at a given task. The workplace is a very attractive target for gamification. Making work funnier, more motivating and/or more engaging could directly improve the business results of companies and organizations[1–3]. However, gamification itself poses significant challenges. One of them is that we must deeply know the users and their main motivators, and design a gamification solution able to address them and improve the results[5, 6]. In many cases, there are also technical challenges, such as obtaining data from the users’ work environment and the tools they use, and to integrate our gamification solution in that work environment.


Though more of a newcomer to the gamification phenomenon,SoftwareEngineering (SE)is no exception. As a matter of fact, the application of gamification in the SE field can have great significance for software process improvement, given that the human factor is the main asset; it is human motivation and engagement that are the keys to success in software projects. In the context of software projects, the engagement of software engineers can be achieved, for instance, by organizing projects as a set of challenges which can be ordered and that need to be fulfilled, and for which some skills, and mainly much collective effort, are required. Software engineers are thus considered as “players” who carry out activities in which they learn new skills, using and combining them to achieve certain challenges, obtain rewards or receive punishments, depending on success or failure, respectively[7]. Gamification can therefore be a very useful instrument to make some environments become fun and attractive (and even addictive). This applies especially to those that include routine and tedious activities, as it is the case with a number of software tasks, such as testing, for example


Therefore, the field of software engineering has not been unaware of the potential benefits of gamification, and many pieces of research have explored this research line[8]. One of the main gaps identified in existing research derives from the fact that the automation of gamification in software engineering has been achieved so far by developing custom gamified tools(for example, gamified custom tools for requirements analysis and specification, or for software project management). This approach is not feasible in real organizations for two reasons. First, it is common for software companies to use well-known off-the-shelf CASE tools that provide them with a very good functionality level. It may be impossible to incorporate gamification directly into these tools if they are closed products, and it may be also impossible to replace these tools with custom, gamified ones, because of the difficulty of meeting their functionality levels at a reasonable cost. Second, the work environment of most software companies is composed of an ecosystem of tools that support different process areas, such as requirements, project management, development, testing, etc. Even if we could add gamification elements to each of them, it would very difficult to come up with a solution integrating all process areas into a common gamification environment. Therefore, the nature of the work environment ofsoftware companies can be a strong barrier for the application of gamification in this domain. In this paper, we focus on this issue, proposing a software architecture for the gamification of SE environments. As we will see throughout the paper, this software architecture allows any SE organization to incorporate gamification into its workplace without needing to replace any of its current work tools (something that would not be feasible in most cases). Although the architecture will be described in detail in the paper, its main features can be summarized as (1) the core component of our proposal is a gamification engine that will connect to the different work tools of the company through a web service architecture, (2) this gamification engine is based on an abstract gamification metamodel, and allows the designers to define rules to evaluate and reward the actions carried out by each player in the work tools, and (3) the work tools will communicate each player action to the gamification engine, and those actions will be evaluated according to the gamification rules defined by the designer of the gamified environment. The gamification engine therefore centralizes the logging of the behaviors carried out by each user, along with the evaluation of the game rules that associate the corresponding achievements to those behaviors. The business logic of gamification is thus taken out of the gamified work tools of the organization, and centralized in a gamification engine designed for that purpose. The gamification architecture we present is generic and therefore customizable to any SE organization with its different particular needs and approaches. The software architecture and the gamification engine we propose allow the tools of the environment to be integrated easily through a web service architecture, unifying most of the game mechanics applied in SE in a single tool. This makes for a different approach for gamification in SE, a proposal whose aim is to fulfill the needs of a real software development organization.


In addition to proposing the software architecture and the gamification engine from an abstract point of view, we have implemented a gamification engine based on our proposal, and used it to carry out a case study in a real company. The gamification software architecture we present in this article was developed in a technology transfer project participated by two universities and four software development companies. The gamification engine we developed based on the architecture was used by these four companies, and we were able to carry out a complete case study in one of them. As will see in the description of the case study (Section 5), this gamification engine has allowed us to gamify the complete work environment of a real company, integrating the gamification engine with different work tools, from custom-developed tools of the company, to off-the-shelf and well-known tools such as Redmine, TestLink, and JUnit.


As we will see in the description of the gamification engine, our implementation goes further than just a data centralizer, and enhances the existing tools by providing advanced functionalities, such as the analysis of the graph resulting from interactions between the different participants and sentiment analysis of the texts they introduce into the system. Moreover, it provides a flexible approach that enables the designers to personalize the contents for players according to their profiles, as well as a virtual assistant that can assist the users in knowing how to use the environment. Notice that the purpose of this work is not to show that gamification can improve the results of software engineering companies (that aspect of gamification in SE has already been addressed in previous research works focused on particular ways to gamify particular software process areas), but to present an integral solution for gamifying SE work environments and therefore fill the motivation we have presented above. The rest of the paper is structured as follows. Next section presents related work. Section 3 describes the software architecture for gamification in SE environments. Section 4 presents the gamification engine we have implemented based on the architecture described in Section 3. Section 5 gives details of a case study of the application of the engine for the gamification of a company work environment. Finally, Section 6 presents a discussion on our proposal, and in Section 7, conclusion and future work are set out.


This paper is available on arxiv under CC BY 4.0 DEED license.