Moser, G. E. (2019). Improving the software quality assurance process in academic software development with gamification and continuous feedback techniques [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2019.63083
Zum Themenbereich Softwarequalitätssicherung in akademischen Softwareprojekten wurden bisher nur wenige wissenschaftliche Arbeiten publiziert. Auch wenn agile Entwicklungsmethoden im Kontext von akademischen Studenten-Softwareprojekten in Publikationen beschrieben wurden, lag der Fokus selten auf Qualitätssicherung. Ansätze von Gamification im Bereich der Qualitätssicherung werden in der bestehenden Literatur ebensowenig beschrieben. In der vorliegenden Arbeit wurden für ein typisches Studentenprojekt geeignete Methoden der Qualitätssicherung, ausgearbeitet, wenn möglich mit Konzepten der Gamification angereichert und anschließend evaluiert. Als Fallbeispiel wurde ein Kooperationsprojekt zwischen der Montanuniversität Leoben und der Forschungsgruppe INSO der Technischen Universität Wien, das sogenannte Mineralbay-Projekt ausgewählt. Im Rahmen der Arbeit wurde das komplexe Gebiet der Qualitätssicherung in 3 Kategorien zu unterteilen: Entwicklungsprozess, Entwicklungstätigkeit und Dokumentation. Zunächst wurde eine genaue Analyse des Qualitätssicherungsprozesses, dessen Eigenheiten und insbesondere Schwächen durchgeführt. Mittels Umfragen und Interviews wurden die Ansichten der einzelnen Projektbeteiligten in Bezug auf Qualitätssicherung erhoben, um potentielle Verbesserungen auszuarbeiten und in Forschungsfragen zu formulieren. Weiters wurden die relevanten Aufgabenstellungen im Bereich der Qualitätssicherung durch Elemente der Gamification attraktiver zu machen. Um den Ergebnissen der Arbeit allgemeine Gültigkeit und Übertragbarkeit zu geben, wurde Mineralbay nach Expertenbefragungen mit Leitern akademischer Studenten-Softwareprojekte als stellvertretendes, typisches Studentenprojekt gewertet, sodass die Ergebnisse der vorliegenden Arbeit auch auf andere Studentenprojekte übertragbar sein sollten. Die erarbeiteten Anpassungen am Entwicklungsprozess wurden im Rahmen eines Experiments evaluiert, um in weiterer Folge die Forschungsfragen beantworten zu können. Die Resultate der mittels Interviews und Fragebögen gewonnenen Einsichten wurden in Form eines Leitfadens für Qualitätssicherung in zukünftigen Studentenprojekten zur Verfügung gestellt.
de
Software Quality Assurance (SQA) in academic software development has not been subject to a substantial amount of research so far. While subjects like agile practices in academic software projects have been covered in detail, the focus was never placed on the development process as a whole. While gamification has been applied to various aspects of software development, research on applications in the field of SQA are scarce. Throughout this thesis, the author evaluated several practices aimed at improving SQA in a case study. For the purpose of making Quality Assurance (QA) related tasks more appealing, the author used concepts of gamification. Representing a typical student software project, the Mineralbay project, started by the Montanuniversität Leoben in cooperation with the research group Industrial Software (INSO) of the Vienna University of Technology (TU), built the underlying case. The goals of the thesis were formulated as several research questions dividing the complex subject of quality assurance into the levels of process, coding and documentation. Initially, a thorough analysis of the development process as a whole was performed, highlighting deficits and bad smells in terms of SQA. Interviews and surveys were held, gaining insights on the developers view of SQA in the given setup. The result was a multitude of possible improvements which was elaborated and subsequently expressed as a list of research questions. In order for the results to gain general validity, the representativeness of the underlying case was assured by expert interviews, where domain experts identified Mineralbay as a typical student software project. The proposed measures were evaluated and data was collected using interviews, participant observation as well as surveys. The gained results suggested that high software quality in student projects is a product of multiple factors. An easy to understand, working and non-frustrating build process forms a solid basis. A profound set of tests should be executed on each change, preventing regression. An unreliable or hard to maintain build process will not be followed. A tailored review process (on code, but also configuration basis) supported by easy to use tools has been identified as another key factor of quality assurance, as well as for knowledge transfer. Introducing code style guidelines will help for better readability and maintainability. Integrated Development Environment (IDE), integrated tools for checking code compliance and auto correction are important for developers in this context. Static code analysis will help uncovering bad code, improve code quality as well as developer knowledge. Gamification has furthermore been identified as a way of making otherwise unrewarding quality assurance tasks more attractive. The elaborated and evaluated gamification tools did increase motivation to attend these kind of tasks. Based on the gathered conclusions, a list of suggestions on how to implement quality assurance in a typical student software project was compiled.