title: Entwicklung eines Vorhersagemodells des Arbeitsaufwandes in agilen Softwareprojekten mit Hilfe von Data- und Text Mining
Creators: name: Leuzinger, Dominik
Publisher: name: FH CAMPUS 02 (CAMPUS 02 Fachhochschule der Wirtschaft)
Year: 2023
Subjects: subject: 005 Computerprogrammierung, Programme, Daten

description: Die Softwareentwicklung von Produkten und Lösungen orientiert sich zunehmend an agilen Vorgehensweisen, welche erhebliche Vorteile in der Kundenorientierung und Schnelligkeit in der Auslieferung der Lösungen mit sich bringt. In diesem Zusammenhang besteht auch die Herausforderung der Schätzung von User Stories, die aus Sicht des Benutzers, formuliert werden. Obwohl sich etwaige Methoden und Techniken zur Schätzung von User Stories etabliert haben (z.B. Point-Metriken), liegt dabei ein wesentlicher Nachteil in der subjektiven und relativen Bewertung des Aufwandes bzw. der Komplexität durch das Team durch welche eine Verzerrung der Schätzung entstehen kann. Ebenso beanspruchen Schätzpraktiken in agilen Vorgehensweisen, durch deren interaktiven Charakter, einen erheblichen Zeitaufwand. Das Ziel dieser Arbeit bestand darin, zu prüfen, ob die Anwendung bzw. der Einsatz von Machine Learning den Schätzprozess in agilen Vorgehensweisen unterstützen kann. Der erste Teil der Arbeit bereitet dazu einen Einblick in die Welt der agilen Vorgehensweisen mit deren gängigsten Schätzverfahren. Nach einer kurzen Einführung in die Grundlagen des Data Minings bzw. Machine Learnings, wurden mögliche Lösungsansätzen zur Verbesserung der Schätzungen durch Machine Learning Verfahren untersucht. Die Untersuchung beinhaltet die Auswahl und Erläuterung eines Data Mining Vorgehensmodells. Dabei wurde der Cross-Industry Standard Process for Data Mining (CRISP-DM) als Referenzprozess für die Abhandlung der gesamten Arbeit gewählt. Auf Basis dieses Prozessmodells wurden einige relevante Techniken zur Textklassifizierung von User Stories abgehandelt. Demgemäß reichte die Untersuchung von der Phase Business Understanding bis hin zur Evaluation Phase eines Machine Learning Models. Basierend auf drei ausgewählten Machine Learning Verfahren (Naïve Bayes, Random Forest und Multilayer Perceptron) wurde eine Fallstudie durchgeführt. Diese Fallstudie umfasste die Datenvorverarbeitung, sowie die Modellierung und Implementierung eines Machine Learning Models auf Basis eines Real-life Datensets in der Programmiersprache R (Data Discovery und statistische Evaluation) und Python (Modellierung und Implementierung). Der letzte Teil der Fallstudie bestand in der Evaluation des trainierten Modells. Ziel der Fallstudie war es, zu prüfen, ob das Modell in der Lage ist, Story Points auf Basis von User Stories genauer zu schätzen, als durch ein zufälliges Raten bzw. Verteilen von Story Points. Dazu wurde eine ausgewählte Metrik (z.B. Accuracy) für jedes der drei Klassifizierungs-Verfahren, einem Dummy-Klassifizierer gegenübergestellt, welcher zufällig gewählte Story Points aus dem Datenset vorhersagte. Dies wurde auf Basis einer mehrstufigen Kreuzvalidierung (Cross Validation) durchgeführt um eine möglichst hohe Konfidenz der Vorhersagen zu erzielen. Anschließend wurde ein nicht-parametrischer statistischer Test (Wilcoxon Test) auf die erzeugten Vorhersagen (Metrik) angewendet, um festzustellen, ob sich die Mittelwerte tatsächlich voneinander unterscheiden. Die Ergebnisse der vorliegenden Studie zeigen, dass die Schätzung von Story Points durch die Anwendung von Machine Learning, das zufällige Raten erheblich übertreffen kann (unter den Voraussetzungen und Rahmenbedingungen der Fallstudie). Somit lässt sich sagen, dass Techniken des Machine Learnings für den vorliegenden Datensatz verwendet werden können, um den Schätzprozess zu beschleunigen, indem eine initiale Schätzung aller User Stories (z.B. aus einem Backlog) aus einem Machine Learning Modell bereitgestellt wird. Darüber hinaus bieten die Ergebnisse aus dem Modell, bis zu einem gewissen Grad einen unvoreingenommenen Blick auf StoryPoint-Schätzungen, als Grundlage für Diskussionen innerhalb des Teams. Hierbei ist jedoch anzumerken, dass die Validität der Ergebnisse, auf den speziellen Voraussetzungen und Rahmenbedingungen der Fallstudie beschränkt sind. Daher sollten die Ergebnisse dieser Arbeit auf einer breiteren (Anzahl der Datensätze), teamübergreifenden und projektübergreifenden Datenbasis verifiziert werden. Dennoch stellt die vorliegende Arbeit einen ersten Schritt zur Nutzung des maschinellen Lernens für die Story-Point-Schätzung dar.
description: Software development of products and solutions is increasingly moving towards agile development methodologies due to the huge advantages they offer in terms of customer orientation and the speed of deliverable solutions. In this context, the challenge of estimating the effort and time of user stories recorded from a user’s perspective must be addressed. Although some techniques for estimating user stories (e.g. point-based metrics) have been established, the issue of relative assessment from team are quite biased and often consumes a considerable amount of time. The objective of this thesis was to determine if machine learning techniques could be deployed to enhance the estimation process within agile software development methodologies. The first part of the thesis provides an understanding of agile development and its estimation techniques. After offering a brief overview of the basic concepts of machine learning, the possible ways in which machine learning techniques may improve estimations are examined. The investigation part consists of the selection and description of the data mining process. Here, the Cross-Industry Standard Process for Data Mining (CRISP-DM) was chosen as the main framework for this thesis. Based on that process model, some relevant techniques for conducting text classification of written user stories are explained. Thus, the investigation ranges from Business Understanding to the Evaluation phase of a machine learning model. Based on three selected machine learning techniques (Naïve Bayes, Random Forest and Multilayer Perceptron), a case study was conducted. The case study comprised the preprocessing iv of a data set from a real-life application, as well as the modeling and implementation of a machine learning model in R (Data discovery and statistical evaluation) and Python (Modeling and implementation). The last part of the case study was the evaluation of the trained model. The aim of the case study was to prove the ability of the model to estimate story points based on user stories more accurately than random guessing. Therefore, the performance of each of the three selected Algorithms was compared with a Dummy classifier that predicted random story points for each user story in the data set. This was done by using a multi-step cross validation method to achieve a relatively high confidence for predictions. Subsequently, a non-parametric statistical test (i.e. the Wilcoxon-test) was applied to check whether their population means differ from each other. The results of the present study indicate that story point estimation through machine learning techniques can considerably outperform random guessing with respect to the set-up of the conducted case study. This suggests that for the real-life data set at hand, machine learning techniques can be used to accelerate the estimation process by providing an initial set of estimations from a machine learning model. Moreover, to a certain degree, the method provides an unbiased view on story point estimations as a basis for discussions within the team. Here, it is important to note that the validity of the results is limited to the setting used in the case study. Therefore, the results in this thesis should be verified on a broader foundation of cross-team and cross-project settings. However, the present thesis represents a first step towards the use of machine learning for story point estimation.