DESIGNING AND DEVELOPING THE GAME QUALITY HELL TO TEACH STUDENTS HOW TO CREATE MAINTAINABLE CODE

  • Armando Gerard

Student thesis: Master's Thesis

Abstract

Quality Hell is an applied game created using Unity that aims to both increase student awareness surrounding software maintainability and inspire them to take appropriate ac-tion towards this. This thesis describes the design, development, and evaluation of the ap-plied game Quality Hell, which in part employed the Design Science Research strategy. The metrics that are measured by Quality Hell are related to software maintainability, namely unit size and cyclomatic complexity. Several requirements were identified using the De-sign Science Research strategy and implemented in the final products (the surveys and the game). These include functional, technical, educational, and game-related requirements. An important development requirement was that the codebase for the game adhered to the lowest category in every metric that it attempted to measure. This requirement was met, with the source code of nearly 13.000 lines containing unit sizes no larger than 30 lines of code, and with no units having a cyclomatic complexity of 10 or greater. The analyz-ers created for the code were also verified using the results of Microsoft Roslyn Analyzers1. Students from two schools in Groningen participated in this study, in which users were pro-vided with a key code that allowed their individual activities to be tracked while safeguard-ing their privacy. Users were required to fill out a survey before and after engaging with Quality Hell. The data collected from the game showed that the game was effective in both creating awareness in relation to the implemented metrics and in encouraging the user to take appropriate measures. These results were further corroborated by the responses to the surveys that users were required to complete both before and after playing the game.
Date of Award16 Jun 2025
Original languageEnglish
SupervisorEbrahim Rahimi (Examiner), Harrie Passier (Co-assessor) & Stijn de Gouw (Co-assessor)

Master's Degree

  • Master Software Engineering

Cite this

'