Seminararbeit Analyse der M oglichkeiten f ur standort ubergreifende Ticketorganisation
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
Fachhochschule Aachen Fachbereich 9, Studiengang Scientific Programming Seminararbeit Analyse der Möglichkeiten für standortübergreifende Ticketorganisation Auszubildende: Claudia Elisabeth Czerkowska Matrikelnummer: 3154985 1. Betreuer: Prof. Dr. rer. nat. Volker Sander 2. Betreuer: Michael Kaiser 7. Januar 2020
Inhaltsverzeichnis 1 Einleitung 5 2 Arbeitsumfeld 6 2.1 Ausbildungsbetrieb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2 Aktuelle Ticketverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 Anforderungen 7 3.1 Projektübergreifende Übersicht . . . . . . . . . . . . . . . . . . . . . . . . 7 3.2 Time Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.3 Preisübersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.4 Anbindung an GitLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 4 Vorstellung der Systeme 8 5 GitLab 8 5.1 Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.2 Analyse anhand der folgenden Anforderungen . . . . . . . . . . . . . . . . 8 5.2.1 Projektübergreifende Übersicht . . . . . . . . . . . . . . . . . . . . 8 5.2.2 Time Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2.3 Preisübersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5.2.4 Anbindung an GitLab . . . . . . . . . . . . . . . . . . . . . . . . . 11 5.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6 Jira (Software) 11 6.1 Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.2 Analyse anhand der folgenden Anforderungen . . . . . . . . . . . . . . . . 12 6.2.1 Projektübergreifende Übersicht . . . . . . . . . . . . . . . . . . . . 12 6.2.2 Time Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.2.3 Preisübersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 6.2.4 Anbindung an GitLab . . . . . . . . . . . . . . . . . . . . . . . . . 14 3
6.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 7 Redmine 16 7.1 Allgemeine Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 7.2 Analyse anhand der folgenden Anforderungen . . . . . . . . . . . . . . . . 16 7.2.1 Projektübergreifende Übersicht . . . . . . . . . . . . . . . . . . . . 16 7.2.2 Time Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.2.3 Preisübersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.2.4 Anbindung an GitLab . . . . . . . . . . . . . . . . . . . . . . . . . 17 7.3 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 8 Fazit und Ausblick 19 8.1 Fazit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.2 Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 4
1 Einleitung Der Alltag eines Softwareentwicklers beinhaltet zu einem großen Teil das Planen bzw. Entwickeln von Projekten und aktiven Systemen. Darüber hinaus kommen täglich Fehler- meldungen, Änderungswünsche oder allgemeine Fragen von Kunden. Weil das Arbeiten an Projekten viel Zeit in Anspruch nehmen kann, können die Anliegen unter Umständen nicht sofort bearbeitet werden. Je nach Auslastung des Teams verliert man schnell den Überblick über Projekte und Kundenanfragen. Aus diesem Grund werden Issue-Tracking-Systeme1 verwendet. Sie ermöglichen die Ver- waltung von diversen Abläufen, z.B. das Realisieren eines Softwareprojekts, das Wei- terentwickeln eines aktiven Systems oder das Verwalten von Tickets. Tickets sind eine elektronische Form, ein Anliegen oder eine Störungsmeldung.[1] Im Shopteam meines Ausbildungsbetriebes wird für das Erstellen und Bearbeiten von Tickets die Webanwendung GitLab verwendet. Das Issue Tracking2 wird mithilfe eines Whiteboards realisiert. Hier werden alle Tickets aufgeschrieben und dadurch verwaltet. Die Tickets werden dabei in folgende Kategorien eingeteilt: offen“ (unbearbeitet), in ” ” Bearbeitung“ und geschlossen“. Für die Übersicht sind alle Teammitglieder mit ihren ” zugeordneten Tickets aufgelistet. Problematisch an dieser Vorgehensweise ist, dass das Whiteboard unabhängig von GitLab ist. Das Verwalten der Tickets erfolgt folglich doppelt. Darüber hinaus ist das Shopteam auf zwei Standorte verteilt, sodass zwei Whiteboards konstant auf dem gleichen Stand gehalten werden müssen, was unter Anderem ungewollten Aufwand generiert. Aus diesem Grund wird im Rahmen der Seminararbeit mithilfe einer Internetrecherche ein optimales Issue-Tracking-System für eine standortübergreifende Ticketorganisation gesucht. 1 Im Shopteam werden Issue-Tracking-Systeme neben der Verwaltung von Tickets auch für das Ma- nagen genutzt. 2 hier: verwalten von Tickets 5
2 Arbeitsumfeld 2.1 Ausbildungsbetrieb Die Continue Software GmbH3 ist ein mittelständiges Unternehmen, welches 1997 ge- gründet wurde und derzeit aus ca. 25 Mitarbeitern besteht. Aufgrund der kontinuierlich wachsenden Anzahl der Mitarbeiter wurde 2017 neben Aachen ein zweiter Standort in Baesweiler eröffnet. Die Einsatzgebiete von Continue liegen hauptsächlich im Bereich der Warenwirtschaft und des e-Commerce. Unter anderem bietet Continue ein Warenwirtschaftssystem, Web Shops und eine Zollsoftware an. 2.2 Aktuelle Ticketverwaltung Wie in der Einleitung bereits erwähnt wird GitLab zur Versions- und Ticketverwaltung im Shopteam verwendet. Dafür wurde ein leeres Projekt mit dem Namen Support“ angelegt. ” Über ein firmeneigenes System können Kunden Tickets anlegen, welche dann in dem Support-Projekt als Issues4 angelegt werden. Zusätzlich werden intern Tickets für andere Projekte angelegt. 3 im Weiteren Verlauf als Continue“ abgekürzt 4 ” Issues = Tickets 6
3 Anforderungen Es soll ein neues System zur Optimierung der Ticketorganisation nach den Anforderungen des Shopteams gefunden werden. Dafür wurden die folgenden Anforderungen ermittelt: 3.1 Projektübergreifende Übersicht Gefordert wird eine projektübergreifende Übersicht. Dabei sollen Tickets von allen verfügbaren Projekten in der Übersicht aufgelistet werden. Dennoch soll erkennbar sein, zu welchem Projekt ein Ticket gehört. Die Präferenz liegt dabei in einer Auflistung der Teammitglieder mit ihren zugewiesenen Tickets. Des Weiteren soll sichtbar sein, an welchen Tickets aktiv gearbeitet wird. 3.2 Time Tracking Bei Sonderprogrammierungen ist es wichtig zu wissen, wie viel Zeit die Bearbeitung in Anspruch genommen hat, um dem Endkunden den entstandenen Aufwand in Rechnung stellen zu können. Folglich soll das System die Möglichkeit bieten die Zeit zu messen und den Gesamtaufwand zu ermitteln. 3.3 Preisübersicht Die meisten Issue-Tracking-Systeme bieten verschiedene Versionen mit unterschiedlichen Features an. Je nach Version ist die Nutzung des Systems kostenpflichtig. Idealerweise sollte der Kostenafuwand für die Nutzung eines solchen Systems möglichst gering ausfal- len. 3.4 Anbindung an GitLab GitLab wird für die Versionsverwaltung im Shopteam verwendet, weswegen eine Ver- knüpfung zu GitLab möglich sein muss. Wenn demnach ein Ticket in dem anderen System angelegt wird, soll es auch automatisch in GitLab angelegt werden und umgekehrt. 7
4 Vorstellung der Systeme Der Markt bietet eine Vielzahl an verschiedenen Issue-Tracking-Systemen. Da eine Ana- lyse aller möglichen Systeme den Rahmen der Seminararbeit übersteigen würde, werden im weiteren Verlauf drei bekannte Systeme vorgestellt. Die ausgewählten Systeme sind GitLab, Jira (Software) und Redmine. Für die Bewertung wird ein dreistufiges Schema verwendet, welches die Features5 mit unzureichend“, hinreichend“ oder optimal“ bewertet. ” ” ” 5 GitLab 5.1 Allgemeine Informationen Die Webanwendung GitLab wurde 2011 von Dmitri Saparoschez und Valery Sizov mithilfe des Webframeworks Ruby on Rails entwickelt. GitLab hilft bei der Versionsverwaltung und basiert dabei auf Git.[2] Git ist eine Open Source Software zur verteilten Versions- kontrolle von Dateien.[3] GitLab bietet diverse Werkzeuge/Tools für eine bessere Planung bzw. Organisation von Projekten und die Möglichkeit zum Bug-Tracking an.[2] Weil GitLab im Team bereits genutzt wird, bietet es sich an, die hier gegebenen Möglichkeiten für die Ticketverwaltung näher zu analysieren. 5.2 Analyse anhand der folgenden Anforderungen 5.2.1 Projektübergreifende Übersicht Bezüglich der Übersichten für Tickets existieren in GitLab sogenannte Issue Boards. Auf diesen Issue Boards werden die Tickets in Listen organisiert und angezeigt. Zu Beginn exis- tiert eine Liste mit allen offenen Tickets und eine zweite mit den geschlossenen Tickets. 5 Funktion eines Systems 8
Es besteht die Möglichkeit mehrere Listen anzulegen, welche allerdings einem Label zu- geordnet werden müssen. Labels sind wie eine kleine Notiz um den Kontext eines Tickets anzugeben. Tickets werden innerhalb dieser Listen als Karten angezeigt. Von dort aus können alle möglichen Aktionen für Tickets durchgeführt werden. Es ist möglich, ein oder mehrere Issue Boards für jedes Projekt selbst anzulegen. Da- mit sind Tickets innerhalb der jeweiligen Projekte organisiert. Jedoch wird dadurch die Anforderung von einer projektübergreifenden Übersicht nicht erfüllt. GitLab bietet darüber hinaus die Möglichkeit, Issue Boards für Gruppen anzulegen. Da- durch hat man eine übergreifendere Übersicht über die Projekte der jeweiligen Gruppe. Im Shopteam existieren allerdings mehrere Gruppen, sodass auf den Boards nicht alle Projekte zu sehen wären. Wenn alle Projekte in einer Gruppe verwaltet werden, wäre eine projekt-übergreifende Übersicht realisierbar. Dafür werden Listen mit den Namen der Teammitglieder erstellt, in denen alle zugewiesenen Tickets aufgelistet sind. Je nach Anzahl der Teammitglieder kann dies aber schnell unübersichtlich werden. Deshalb könnte die Möglichkeit von meh- reren Boards Abhilfe schaffen. So kann ein Board pro Teammitglied und für jedes Projekt eine eigene Liste angelegt werden. Trotz allem ist es nicht erkennbar, an welchem Ticket ein Teammitglied aktiv arbeitet. Darüber hinaus sind die Features von benutzerabhängigen Listen und mehreren Issue Boards für eine Gruppe nicht für alle Versionen verfügbar.[4] Abschließend lässt sich sagen, dass GitLab die Anforderung einer projektübergreifenden Übersicht hinreichend erfüllt. Die Umsetzung der geforderten Übersicht ist in der Theorie realisierbar, jedoch ist dies in diesem Fall mit Aufwand verbunden. Darüber hinaus entste- hen unter Umständen Kosten, wenn benötigte Features nur in kostenpflichtigen Versionen verfügbar sind. 9
5.2.2 Time Tracking Zum Aspekt des Time Tracking bietet GitLab die Möglichkeit, die Zeit in einem Ticket einzutragen, die das Bearbeiten in Anspruch genommen hat. Man fügt dafür den Kommen- tar im Format /spend 00d 00h 00m“ ein. Wenn man mehrmals an dem Ticket gearbeitet ” hat, rechnet GitLab die Zeiten zusammen. Es kann außerdem auch festgehalten werden, wie viel Zeit geschätzt wird um das Ticket zu bearbeiten. Dies erfolgt mit dem Kommentar in der Form /estimate 00d 00h 00m“.[5] ” GitLab bietet somit die Möglichkeit, beanspruchte Zeit einzutragen und zu speichern. Weil die Zeit allerdings nicht mit GitLab selbst gemessen werden kann, ist die Anforde- rung für das Time Tracking nur hinreichend realisiert. 5.2.3 Preisübersicht GitLab bietet zum einen die Variante an, dass die Instanz von GitLab selbst verwaltet wird und zum anderen die Variante, in der man die Instanz auf einem eigenen Server hostet6 . Innerhalb dessen wird anschließend zwischen den verschiedenen Versionen unter- schieden, die sich jeweils um zusätzliche Features erweitern. Für beide Möglichkeiten gibt es eine kostenfreie und 3 kostenpflichtige Versionen. Allgemein ist bei den kostenpflichti- gen Versionen jährlich ein bestimmter Betrag zu zahlen. Bei GitLab wird pro Benutzer ein Betrag pro Monat bezahlt. Wenn die Instanz von GitLab verwaltet wird, gibt es die Versionen Free“, Bronze“, ” ” Silver“ und Gold“. Bei einer selbst verwalteten Instanz wird zwischen Core“, Star- ” ” ” ” ter“, Premium“ und Ultimate“ unterschieden. Die Versionen Free und Core, Bronze und ” ” Starter, Silver und Premium und zuletzt Gold und Ultimate kosten jeweils gleich viel und unterscheiden sich nur in der Variante für eine eigene oder eine von GitLab verwaltete Instanz.[6] Um für das Shopteam eine projektübergreifende Übersicht realisieren zu können, müsste die Premium Version erworben werden, da erst hier die mehreren Issue Boards für Grup- 6 in diesem Kontext = selber verwalten 10
pen und die benutzerabhängigen Listen zur Verfügung stehen. Diese Version kostet 19 US-Dollar pro Nutzer. Da das Team aus 10 Mitarbeitern besteht, würden Kosten in Höhe von 2.280 US-Dollar pro Jahr anfallen. Folglich ist das Kriterium für einen geringen Kostenaufwand unzureichend erfüllt, da ein Betrag von 2.280 US-Dollar pro Jahr nicht kostengünstig ist. 5.2.4 Anbindung an GitLab Diese Anforderung ist automatisch erfüllt, weil hier das Issue Tracking von GitLab selbst näher behandelt wird. 5.3 Zusammenfassung Allgemein kann mit GitLab die standortübergreifende Ticketorganisation realisiert wer- den. Es werden viele Möglichkeiten für eine individuelle Vorgehensweise beim Verwalten und Organisieren angeboten. Allerdings sind die vielen Möglichkeiten durch die Einteilung in kostenpflichtige Versionen eingeschränkt. 6 Jira (Software) 6.1 Allgemeine Informationen Jira ist eine Webanwendung mit welcher Fehler und Probleme behandelt und darüber hinaus Projekte geplant werden können. Das System wurde von dem Unternehmen At- lassian Corporation plc entwickelt.[7] Jira bietet mehrere Produkte für unterschiedliche Anwendungsbereiche an: Jira Software, Jira Core, Jira Service Desk und noch viele weitere. Bei der Anschaffung von einem der Produkte kann man jederzeit auch weitere Produkte erwerben und auch in der Anwen- dung miteinander kombinieren.[8] Aufgrund der möglichen Features erweist sich Jira Core als ein System, dass eventuell in 11
Frage kommen könnte. Praktischerweise sind für alle Produkte kostenlose Testversionen verfügbar, um einen besseren Einblick in das Programm zu gewinnen. Aus diesem Grund wurde im Rahmen der Recherche eine Testversion von Jira Core erworben. 6.2 Analyse anhand der folgenden Anforderungen 6.2.1 Projektübergreifende Übersicht Allgemein können Projekte angelegt werden, in denen Aufgaben verwaltet werden. Hierfür nutzen Projekte ein Board, welches alle zu erledigenden Aufgaben anzeigt. Beim Erstellen eines Projektes muss eine Vorlage ausgewählt werden, welche anschließend die Struktur des Boards bestimmt. Je nach Vorlage sind unterschiedliche Listen vorhanden, mit de- nen die Aufgaben verwaltet werden können. Die Struktur ist festgelegt und kann nicht durch weitere Listen erweitert werden. Im Allgemeinen können folgende Attribute gesetzt werden: – eine Beschreibung – ein zugewiesenes Teammitglied – eine Priorität – Sub-Tasks7 – die beanspruchte Zeit – ein Kommentar Darüber hinaus besitzen Aufgaben einen Status, welcher von der Liste abhängt in der die Aufgabe eingetragen ist. Per Drag’n’Drop können Aufgaben zwischen den Listen verscho- ben werden, wodurch der Status anschließend angepasst wird. Für die projektübergreifende Übersicht ist die Möglichkeit vorhanden, zu einer ausgewählten Kategorie alle Vorgänge anzuzeigen. Dabei gibt es zwei Ansichtsmöglichkeiten. Zum einen werden alle Aufgaben in einer einzelnen Liste aufgelistet. Allerdings sieht man 7 kleinere Aufgaben, die zu der eigentlichen Aufgabe gehören 12
nur den Titel der Aufgabe und den Schlüssel zum zugehörigen Projekt. Man kann nicht er- kennen, welches Ticket welchem Teammitglied zugewiesen ist. Erst durch das Auswählen der jeweiligen Aufgabe erhält man alle nötigen Informationen. Zum anderen können alle Aufgaben in einer Tabelle angezeigt werden. Hier kann auch bestimmt werden, welche Informationen zu der Aufgabe in einer Spalte angezeigt werden soll. Im Gegensatz zur Listenansicht kann man demnach z.B. das zugewiesene Teammit- glied sehen. Allgemein ist es möglich, mit beiden Varianten eine projektübergreifende Übersicht zu realisieren. Jedoch ist die Umsetzung nicht ideal, weil Aufgaben nur angezeigt und be- arbeitet werden können. Das Erstellen einer Aufgabe ist außerdem nur im Board eines Projektes möglich. Darüber hinaus wird in keiner der beiden Varianten angezeigt, an wel- chem Ticket ein Teammitglied aktiv arbeitet. Folglich setzt Jira die projektübergreifende Übersicht nur hinreichend um. 6.2.2 Time Tracking Jira Core bietet die Möglichkeit, innerhalb der Tickets die bereits aufgewendete und geschätzte noch benötigte Zeit einzutragen. Dafür existiert ein Label Zeiterfassung“ im ” Ticket, welches die eingetragene Zeit anzeigt. Durch einen Klick auf das Label öffnet sich ein Fenster, in dem die benötigte Zeit eingetragen werden kann. Da die Zeit selbst gemessen werden muss, es aber dennoch die Möglichkeit gibt die benötigte Zeit zu speichern, wird die Anforderung des Time Tracking hinreichend erfüllt. 6.2.3 Preisübersicht In Bezug auf die Kosten gibt es die Variante, mit welcher eine Instanz in der Cloud von Jira verwaltet wird oder die Variante, eine Instanz selbst auf einem eigenen Server zu verwalten. Bei allen Varianten ist der Preis abhängig von der Benutzeranzahl. 13
Bei der von Jira verwalteten Variante gibt es eine kostenlose- und eine Standardversion. Jira ist an sich für maximal 10 Benutzer kostenfrei, danach kann nur noch die Standard- Version erworben werden. Diese kann aber auch schon von Anfang an gekauft werden für 10 US-Dollar pro Monat. Danach fallen bei bis zu 100 Benutzern pro Benutzer Kosten von 5 US-Dollar an. Ab 100 Benutzern sinkt der Preis pro Benutzer im Monat. Wenn eine Instanz auf einem eigenen Server gehostet werden soll, dann zahlt man bei ma- ximal 10 Benutzern einmalig 10 US-Dollar. Danach startet der Zähler mit 25 Benutzern, für die einmalig 2.200 US-Dollar bezahlt werden müssen. Für jede neue Benutzergrenze wird einmalig ein neuer Preis gezahlt.[9] Im Shopteam würden wir Jira Core auf einem eigenen Server verwalten. Zurzeit besteht das Team aus 10 Mitgliedern, was eine einmalige Bezahlung in Höhe von 10 US-Dollar be- deuten würde. Auf den ersten Blick erscheint dies ideal, jedoch könnte das Team jederzeit wachsen. Geht man von 25-30 Benutzern aus, läge der Preis einmalig bei 2.200 US-Dollar. Dafür, dass die Anzahl der Benutzer für eine längere Zeit sich in diesem Rahmen befinden würde, ist der Preis angemessen und gut vertretbar. Jira erfüllt somit optimalerweise die Anforderung eines geringen Kostenaufwandes. 6.2.4 Anbindung an GitLab Laut der Dokumentation von GitLab selbst ist die Verknüpfung zwischen einer Instanz von Jira und GitLab möglich. Wird in GitLab ein Merge-Request oder Commit erstellt, ist es mit bestimmten Befeh- len möglich im Kommentar auf ein ausgewähltes Jira Ticket zu verlinken. Somit wird im entsprechenden Ticket die Aktion in einem Kommentar erwähnt. Dabei wird dann die zugehörige GitLab-Aktion verlinkt.[10] Eine direkte Verknüpfung zwischen den Tickets in GitLab und Jira scheint dennoch nicht möglich zu sein. Dies würde bedeuten, dass in Jira manuell das gleiche Ticket angelegt werden müsste, was in GitLab über das firmeneigene Ticketsystem erstellt wurde. Dies 14
erzeugt doppelten Aufwand und die Gefahr, dass die Übersicht in Jira nicht immer auf dem aktuellen Stand ist, wenn einmal das Erstellen eines Tickets vergessen wird. Da diese Aspekte schon bei der Realisierung mit dem Whiteboard vorhanden sind und in Zukunft vermieden werden sollen, ist das Kriterium für die Anbindung zu GitLab unzureichend erfüllt. 6.3 Zusammenfassung Zusammenfassend ist Jira Core keine ideale Lösung für eine standortübergreifende Ticke- torganisation. Eine projektübergreifende Übersicht ist zwar gegeben, jedoch ist die Um- setzung nicht optimal strukturierbar. Darüber hinaus ist die geforderte Anbindung zu GitLab nicht möglich. Dennoch ist Jira ein System, dass eine hohe Vielfalt an Möglichkeiten für die Verwaltung und Planung von Projekten durch die unterschiedlichen Produkte anbietet. 15
7 Redmine 7.1 Allgemeine Informationen Redmine ist eine Opensource Webanwendung die am 25. Juni 2006 veröffentlicht wurde und weltweit in verschiedenen großen Projekten eingesetzt wird. Das System bietet unter anderem die Möglichkeit Benutzer, Projekte und Tickets zu verwalten.[11] Darüber hinaus existiert die Webanwendung Easy Redmine“, welche ein Upgrade von ” Redmine ist. Sie bringt ein neues Design und erweitert Redmine um weitere nützliche Features.[12] Im Folgenden wird für die Recherche das System Redmine näher betrachtet. Hierfür wurde die von Redmine angebotene Demoversion erworben um einen genauen Einblick in das System zu gewinnen. 7.2 Analyse anhand der folgenden Anforderungen 7.2.1 Projektübergreifende Übersicht Redmine bietet sowohl eine Übersicht für Projekte als auch für Tickets an. In der Projektübersicht werden alle verfügbaren Projekte mit ihrer Beschreibung aufge- listet. Wenn ein Projekt ausgewählt wird, erscheint eine Übersicht des Projektes. Dabei werden alle Mitglieder des Projektes und Details zu vorhandenen Tickets angezeigt. In Redmine haben Tickets einen Typ, der den Anwendungsbereich angibt. Es wird dabei zwischen Fehlermeldungen (Bug), Änderungen (Feature) und Support unterschieden. In Projekten existiert auch eine Übersicht über die zugehörigen Tickets. Hier werden sie mit allen wichtigen Informationen in einer Tabelle angezeigt, wie z.B. das zugewiesene Team- mitglied, den Status oder die Priorität. Neben der Projektübersicht besteht die Möglichkeit, sich alle Tickets von allen Projekten anzeigen zu lassen. Die Übersicht erfolgt dabei ebenfalls über eine Tabelle. Hier kann je- doch selbst entschieden werden, welche Informationen angezeigt werden sollen. Allerdings ist nicht zu erkennen, an welchem Ticket ein Teammitglied aktiv arbeitet. 16
Allgemein ist eine eizelne Tabelle für die Übersicht aller Tickets eher ungeeignet. Für eine große Anzahl an Tickets ist die Tabelle schnell überfüllt und wird unübersichtlich. Es wäre besser, wenn die Tickets in mehreren Tabellen angezeigt werden könnten um in der Übersicht eine deutlichere Struktur zu erhalten. Alles in allem setzt Redmine die Anforderung für eine projektübergreifende Übersicht optimal um. Es ist jedoch wichtig zu beachten, dass die Übersicht bei hoher Anzahl an Tickets schnell verloren gehen kann. 7.2.2 Time Tracking Zum Kriterium der Zeiterfassung bietet Redmine die Möglichkeit die Zeit einzutragen, die zur Bearbeitung eines Tickets benötigt wurde. Dabei muss angegeben werden, ob in der Zeit am Design gearbeitet oder programmiert wurde. Redmine rechnet dann mehrere Zeiteinträge zusammen. Darüber hinaus kann auch eine Zeit angegeben werden, die zur Bearbeitung des Tickets benötigt wurde. Abschließend lässt sich sagen, dass die Anforderung für das Time Tracking nur hinrei- chend erfüllt wird. Es besteht zwar die Möglichkeit für das zugehörige Ticket die Zeit einzutragen, allerdings muss die beanspruchte Zeit trotzdem selbst gemessen werden. 7.2.3 Preisübersicht Das Kriterium für einen geringen Kostenaufwand wird optimal erfüllt, da es sich bei Redmine um eine kostenlose Webandwendung handelt. 7.2.4 Anbindung an GitLab Laut der offiziellen Webseite von GitLab ist eine Verknüpfung zwischen Redmine und GitLab möglich. Dafür muss in dem jeweiligen GitLab-Projekt in den Einstellungen der Service Redmine 17
aktiviert und konfiguriert werden. Die Konfiguration ist sehr simpel, weil nur die URL’s zum entsprechenden Projekt in Redmine eingetragen werden. Nach erfolgreicher Konfi- guration wird im GitLab-Projekt ein Link zu dem Redmine-Projekt angezeigt. Zum einen kann in GitLab ein Ticket erstellt werden und im Kommentar ein Ticket aus Redmine verlinkt werden. Jedoch muss das Ticket in Redmine dafür schon existieren. Dies würde bedeuten, dass Tickets doppelt erstellt und zusätzlich manuell verlinkt wer- den müssen. Allerdings ist das nicht die Art von Verknüpfung, die gefordert wird. Zum anderen existiert die Möglichkeit, dass das Anlegen eines Tickets in GitLab auch ein entsprechendes Ticket in Redmine anlegt. Hiermit wäre die Anforderung für eine Anbin- dung zu GitLab zwar erfüllt, jedoch weist die Webseite von GitLab darauf hin, dass diese Möglichkeit nicht genutzt und deshalb in Zukunft abgeschafft wird.[13] Schlussfolgernd wird die Anforderung für eine Verknüpfung zu GitLab unzureichend rea- lisiert. Die eigentlich gewünschte Verbindung zwischen den Tickets innerhalb der zwei Systeme wird abgeschafft und kann somit für die Recherche nicht mehr gewertet werden. Die Alternative mit der manuellen Verlinkung der Tickets stellt allerdings keine ideale Alternative dar. 7.3 Zusammenfassung Redmine bietet sich allgemein als simple und vielfältige Webanwendung zur Verwaltung von Benutzern, Projekten und Tickets an. Eine mögliche Lösung für das gesuchte Issue-Tracking-System stellt das System jedoch nicht dar. Es bietet zwar eine akzeptable projektübergreifende Übersicht an und ist kos- tenlos, allerdings ist die gewünschte Verknüpfung zu GitLab nicht gegeben. 18
8 Fazit und Ausblick 8.1 Fazit Ziel der Seminararbeit war es, ein ideales Issue-Tracking-System für eine standortübergreifende Ticketorganisation zu finden. Dabei wurden die Systeme GitLab, Jira (Software) und Red- mine in Bezug auf die gegebenen Anforderungen näher betrachtet und analysiert. Um ein resümierendes Fazit ziehen zu können, werden die Ergebnisse nochmal in einer Tabelle veranschaulicht: GitLab Jira Redmine Projektübergreifende o o + Übersicht Time Tracking o o o geringer Kostenaufwand - + + Anbindung an GitLab + - - rot = unzureichend; gelb = hinreichend; grün = optimal Tabelle 1: Übersicht der Anforderungen Verglichen mit den anderen Systemen stellt sich Jira (Software) als unzureichende Möglichkeit für die standortübergreifende Ticketorganisation heraus. Im Hinblick auf die gestellten An- forderungen erfüllt Jira nur die Anforderung für den geringen Kostenaufwand. Jedoch hat dies keinen großen Nutzen für die Umsetzung der Ticketorganisation. Die hierfür wichti- gen Anforderungen werden nicht oder nur hinreichend umgesetzt. Redmine hat eine Umsetzung für die Organisation von Tickets zu bieten. Hinzu kommt, dass es sich bei Redmine um eine kostenlose Anwendung handelt. Trotz allem wird die wichtigste Anforderung, die Anbindung an GitLab, unzureichend erfüllt. Aus diesem Grund wird auch Redmine nicht für die Umsetzung der Ticketorganisation verwendet. Als letzte Option bleibt GitLab offen. Hier werden unter anderem diverse Möglichkeiten geboten, welche allerdings nicht zielführend sind. Darüber hinaus ist nur eine alternative Lösung für die projektübergreifende Übersicht verfügbar. Die Umsetzung dieser Alterna- tive gestaltet sich jedoch viel zu umständlich, als dass sie verwendet werden kann. Es wäre 19
theoretisch möglich, die Alternative mit anderen Features zu verbessern, was allerdings erst mit einer kostenpflichtigen Version möglich ist. Infolgedessen wird auch GitLab nicht für die Umsetzung der Ticketorganisation genutzt. Ausgehend von den dargestellten Ergebnissen ist keines der hier genannten Systeme für eine standortübergreifende Ticketorganisation geeignet. Somit ist das Ergebnis für die Seminararbeit, dass für die gegebenen Anforderungen kein ideales Issue-Tracking-System gefunden werden konnte. 8.2 Ausblick Da das Ergebnis der Seminararbeit aussagt, dass kein geeignetes Issue-Tracking-System im Rahmen der gegebenen Anforderungen gefunden werden konnte, entsteht das Interesse ein eigenes System zu entwickeln. Folglich soll in naher Zukunft ein ideales Issue-Tracking- System entwickelt werden, welches die hier genannten Anforderungen erfüllt. 20
Literatur [1] Wikipedia: Issue Tracking System. https://de.wikipedia.org/wiki/ Issue-Tracking-System. [Zuletzt Besucht am 07.01.2020]. [2] Wikipedia: GitLab. https://de.wikipedia.org/wiki/GitLab. [Zuletzt Besucht am 07.01.2020]. [3] Wikipedia: Git. https://de.wikipedia.org/wiki/Git. [Zuletzt Besucht am 07.01.2020]. [4] GitLab: Issue Boards. https://about.gitlab.com/product/issueboard/. [Zuletzt Besucht am 07.01.2020]. [5] GitLab: Time Tracking. https://docs.gitlab.com/ee/user/project/time_ tracking. [Zuletzt Besucht am 07.01.2020]. [6] GitLab: Preisübersicht. https://about.gitlab.com/pricing. [Zuletzt Besucht am 07.01.2020]. [7] Wikipedia: Jira. https://de.wikipedia.org/wiki/Jira_(Software). [Zuletzt Be- sucht am 07.01.2020]. [8] Pix Software: Versionen von Jira. https://www.pixsoftware.de/ was-ist-jira-und-welche-versionen-gibt-es. [Zuletzt Besucht am 07.01.2020]. [9] Atlassian: Jira Core preisübersicht. https://www.atlassian.com/de/software/ jira/core/pricing. [Zuletzt Besucht am 07.01.2020]. [10] GitLab: Anbindung Jira an GitLab. https://docs.gitlab.com/ee/user/project/ integrations/jira. [Zuletzt Besucht am 07.01.2020]. [11] Wikipedia: Redmine. https://de.wikipedia.org/wiki/Redmine. [Zuletzt Besucht am 07.01.2020]. 21
[12] Easy Redmine: Redmine vs Easy Redmine. https://www. easyredmine.com/de/faq-uber-easy-redmine/uber-die-software/ 3059-was-ist-der-unterschied-zwischen-redmine-und-easy-redmine. [Zu- letzt Besucht am 07.01.2020]. [13] GitLab: Anbindung Redmine an GitLab. https://docs.gitlab.com/ee/user/ project/integrations/redmine. [Zuletzt Besucht am 07.01.2020]. 22
Sie können auch lesen