Personal details
| Title | Analyse von Zusammenarbeit und Projektfortschritt in GitLab |
| Description | Bei größeren Softwareprojekten entstehen während der Entwicklung zahlreiche Informationen über den Projektverlauf. Issues werden erstellt und bearbeitet, Commits durchgeführt, Merge Requests eröffnet und reviewed sowie Milestones geplant und abgeschlossen. GitLab stellt viele dieser Informationen bereit, bietet jedoch nur begrenzte Möglichkeiten, daraus einen übergreifenden Eindruck über den aktuellen Zustand eines Projekts und die Zusammenarbeit innerhalb eines Teams zu gewinnen. Gerade in studentischen Softwareprojekten wäre es hilfreich, problematische Entwicklungen frühzeitig erkennen zu können. Beispiele hierfür sind über längere Zeit unbearbeitete Aufgaben, fehlende Reviews, stark ungleich verteilte Aktivitäten oder Arbeiten, die erst kurz vor einem Milestone abgeschlossen werden. Ziel dieser Abschlussarbeit ist die Konzeption und Entwicklung einer webbasierten Anwendung, die GitLab-Projektdaten analysiert und daraus Informationen über Projektfortschritt und Zusammenarbeit innerhalb eines Entwicklungsteams ableitet. |
| Home institution | Department of Computing Science |
| Associated institutions |
|
| Type of work | practical / application-focused |
| Type of thesis | Bachelor's |
| Author | Dr. Marco Grawunder |
| Status | available |
| Problem statement | Im Rahmen der Arbeit soll zunächst untersucht werden, welche Informationen GitLab über die Entwicklung eines Projekts bereitstellt und welche Kennzahlen geeignet sind, um Projektverlauf und Zusammenarbeit abzubilden. Darauf aufbauend soll eine Anwendung entwickelt werden, die relevante Informationen aus GitLab automatisiert erfasst, analysiert und übersichtlich visualisiert. Mögliche Analysen sind beispielsweise:
Besonderes Augenmerk soll darauf gelegt werden, nicht lediglich einzelne Aktivitäten zu zählen. Eine hohe Anzahl von Commits ist beispielsweise nicht automatisch ein Indikator für einen hohen Beitrag zu einem Projekt. Stattdessen sollen geeignete Kennzahlen und Kombinationen verschiedener Informationen untersucht werden. Project Health und FrühwarnindikatorenEin möglicher Schwerpunkt der Arbeit ist die Entwicklung sogenannter Project-Health-Indikatoren. Das System könnte beispielsweise automatisch Hinweise erzeugen wie:
Dabei soll untersucht werden, welche dieser Indikatoren tatsächlich geeignet sind, problematische Projektverläufe frühzeitig zu erkennen. Analyse der ZusammenarbeitZusätzlich können Beziehungen zwischen Teammitgliedern betrachtet werden. Hierzu könnte beispielsweise ein Kollaborationsgraph erstellt werden:
Eine solche Darstellung könnte helfen zu erkennen, ob tatsächlich im Team gearbeitet wird oder sich weitgehend voneinander getrennte Teilgruppen bilden. Technische UmsetzungDie Anwendung soll als eigenständige Webanwendung entwickelt und über die Schnittstellen von GitLab angebunden werden. Für die Umsetzung bieten sich beispielsweise folgende Technologien an:
GitLab soll dabei das führende System für Issues, Merge Requests und weitere Projektdaten bleiben. Die zu entwickelnde Anwendung dient ausschließlich zur zusätzlichen Analyse und Visualisierung. Mögliche FragestellungenMögliche Forschungsfragen sind beispielsweise:
EvaluationDie entwickelten Verfahren sollen anhand realer oder historischer GitLab-Projekte evaluiert werden. Dabei kann beispielsweise untersucht werden, ob identifizierte Auffälligkeiten mit tatsächlich aufgetretenen Problemen übereinstimmen und welche dargestellten Informationen von Entwicklerinnen und Entwicklern als hilfreich wahrgenommen werden. Optional könnten historische Daten mehrerer Projekte miteinander verglichen werden. Erwartete ErgebnisseErwartet werden:
Der genaue Umfang kann abhängig von Art und Umfang der Abschlussarbeit angepasst werden. Für eine Bachelorarbeit kann der Schwerpunkt auf der Visualisierung und grundlegenden Analyse liegen. Für eine Masterarbeit können insbesondere Verfahren zur automatischen Erkennung auffälliger Projektverläufe oder die Analyse historischer Projektdaten vertieft werden. |
| Requirement | Hilfreich sind Kenntnisse in Software Engineering und Webentwicklung. Erfahrungen mit Spring Boot, Angular/TypeScript, GitLab oder Datenanalyse sind von Vorteil, können aber auch im Rahmen der Arbeit vertieft werden. |
| Created | 30/09/26 |