Wallerstorfer, D. (2011). Improving maintainability with Scrum [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/160785
Ziel dieser Arbeit ist die Analyse der Auswirkung von verschiedenen Software-Entwicklungs-Modellen auf die Wartbarkeit des Codes. Die Wartbarkeit des Codes sagt aus, wie einfach oder schwierig es ist, den Code im Laufe eines Projekts zu verändern. Im Rahmen eines Software-Entwicklungs-Projekts wird viel Zeit für die Wartung des Codes verwendet - deshalb ist es erstrebenswert, diesen so einfach wartbar wie möglich zu halten. Um die eventuellen Unterschiede zwischen Entwicklungsmodellen feststellen zu können, wurde eine Fallstudie mit einem Entwicklungsteam einer österreichischen Firma durchgeführt. Dieses Team hat im Beobachtungszeitraum seine Entwicklungsstrategie vom Wasserfallmodell auf Scrum umgestellt. Das Wasserfallmodell sieht einen sequentiellen Entwicklungsprozess vor. Scrum hingegen ist ein agiler, iterativer Entwicklungsprozess. Sowohl in dem Zeitraum, in dem noch nach dem Wasserfallmodell entwickelt wurde, als auch in dem Zeitraum, in dem nach Scrum entwickelt wurde, wurde die Wartbarkeit des Codes analysiert. Die am weitesten verbreitete Methode, um die Wartbarkeit von Code zu messen, ist die Anwendung von statischen Codemetriken. Die Wartbarkeit des Codes wurde in dieser Arbeit mittels eines Sets von Softwaremetriken aus der Literatur quantifiziert. Zur statistischen Validierung wurde eine nicht-parametrische Varianzanalyse (Friedman's ANOVA) mit post-hoc Tests durchgeführt. Die Ergebnisse zeigen, dass das Wasserfallmodell die Wartbarkeit des Codes über die Projektlaufzeit stärker verschlechtert als Scrum. Daher ist es mit Scrum einfacher, den Code wartbar zu halten. Die Gründe dafür werden in dieser Arbeit diskutiert.
This thesis aims to provide additional insight into the effect of different development strategies on the maintainability of code. Maintainability is defined as the ease with which a software can be modified. Throughout a software development project a lot of time is spent on maintenance. Therefore code that is easy to maintain is desireable. To be able to detect differences between development strategies a case study with a development team of an Austrian company was conducted. The team changed its development strategy from the waterfall model to Scrum. The waterfall model is a sequential development process with emphasis on documentation. Scrum is an agile, iterative development process. The development of the code maintainability was analyzed when using the waterfall model and when using Scrum as development strategy. In order to quantifiy the maintainability of code the common approach of using static code analysis is used. Based on results in literature a set of software metrics was used to assess the code maintainbility. The statistical method used for validation is a non-parametric analysis of variance (Friedman's ANOVA) with post-hoc tests. The results indicate that Scrum does not decrease the code maintainability as much as the waterfall model over time. Scrum does a better job in preserving the level of code maintainability than the waterfall model. The possible reasons for this are discussed in the thesis.