Greil, C. (2021). Conflict awareness by visualisation in multi-branch and multi-project software development [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2022.96883
Merge Conflicts; Software Visualisation; Multi-Branch Software Development; Multi-Project Software Development
en
Abstract:
Das Zusammenführen von gleichzeitig durchgeführten Softwareänderungen in gleichen oder verschiedenen Projekten kann zu Konflikten führen, die von den Entwicklern gelöst werden müssen. Dies kann fehlerhaft und zeitaufwendig sein und die Entwickler bei ihrer Arbeit stören. Das frühzeitige Auffinden der Konflikte kann diese Probleme minimieren. Existierende Tools stellen nur Informationen zum Konfliktbewusstsein für die Softwareentwicklung innerhalb eines Projektes bereit. Daher wurde eine prototypische Visualisierung zur verbesserten Wahrnehmung von Konflikten für die Softwareentwicklung innerhalb eines Projektes, aber auch für die projektübergreifende Softwareentwicklung, erstellt. Diese Diplomarbeit erforscht, welcher Informationsbedarf bezüglich Konfliktbewusstsein in Softwareprojekten für Entwickler besteht, wie Entwickler die vorgesehenen Funktionen priorisieren, wie zielführend Entwickler die vorgeschlagene Visualisierung des Konfliktbewusstseins bewerten, wie sinnvoll die vorgeschlagene Visualisierung des Awareness-Tools ist und wie effizient das Tool im Vergleich zu modernen Methoden ist. Zuerst wurde eine Literatur- und Toolrecherche durchgeführt, um den bestehenden Informationsbedarf der Entwickler festzustellen. Basierend auf diesen Erkenntnissen und den eigenen Erfahrungen in der Entwicklung wurden einige erste Funktionen und Mock-ups des Prototyps vorgeschlagen. Diese wurden in semi-strukturieren Interviews von Entwicklerinnen und Entwickler priorisiert. Anhand dieser Funktionen wurde der Prototyp entwickelt. Szenariobasierte Expertenbewertungen wurden durchgeführt, um die Zweckmäßigkeit der Idee selbst, die Zweckmäßigkeit der gewählten Visualisierung und die Zweckmäßigkeit des Prototypen zu evaluieren. Die befragten Entwickler sahen Potenzial in der Idee und auch in der gewählten Visualisierung. Allerdings müssen Performance- und Usability-Probleme behoben werden. Die Entwickler bewerteten die Funktionen des Prototyps ebenfalls als zweckdienlich, wünschten sich jedoch eine mehr passive und automatische Informationsbeschaffung und Möglichkeiten, sie in bestehende Tools zu integrieren.
de
Merging simultaneously implemented software changes in the same project or in different projects together can create conflicts that must be resolved by the developers by hand. The changes can be made within a project or in a parent and one of its fork. This can be erroneous, time-consuming and disrupt the work of software engineers. Finding such conflicts in an early stage can minimise these merging problems.Although some tools exist that provide conflict awareness information, they are restricted to multi-branch software development only.Therefore, a prototypical conflict awareness visualisation for multi-branch but also multi-project software development was created.This thesis investigates the conflict awareness information needs that exist in software projects for developers, how developers prioritise the envisioned features, how purposeful developers rate the proposed conflict awareness visualisation, how purposeful the proposed visualisation of the awareness tool is and how efficient the tool is compared to state-of- the-art methods.First, a literature and tool research was carried out in order to determine the existing information needs of the developers. Based on these findings and the own experience in development, some initial features and mock-ups of the prototype were suggested. These functionalities were prioritised in semi-structured interviews by developers. Based on these prioritised features, the prototype was developed. The purposefulness of the idea itself, the chosen visualisation and the prototype itself were evaluated in scenario-based expert evaluations.The interviewed developers saw potential in the idea and in the chosen visualisation. Performance and usability issues need to be addressed.The developers also rated the features of the prototype as purposeful, but a more passive and automatic information gathering and ways to integrate it into existing tools were requested.