{"id":1597,"date":"2023-02-02T00:00:46","date_gmt":"2023-02-01T23:00:46","guid":{"rendered":"https:\/\/informatik.htwk-leipzig.de\/seminar\/?p=1597"},"modified":"2023-10-04T14:39:38","modified_gmt":"2023-10-04T12:39:38","slug":"redmine","status":"publish","type":"post","link":"https:\/\/informatik.htwk-leipzig.de\/seminar\/lehrveranstaltungen\/betriebliche-informationssysteme\/2023\/redmine\/","title":{"rendered":"Redmine"},"content":{"rendered":"<h1>Inhalt<\/h1>\n<ol>\n<li><a href=\"#warum\">Warum Projektmanagement-Software?<\/a><\/li>\n<li><a href=\"#uberblick\">\u00dcberblick zur Software <em>Redmine<\/em><\/a><\/li>\n<li><a href=\"#installation\">Installation<\/a><\/li>\n<li><a href=\"#anwendungsbeispiel\">Anwendungsbeispiel<\/a><\/li>\n<li><a href=\"#alternativen\">Alternativen<\/a><\/li>\n<li><a href=\"#fazit\">Fazit<\/a><\/li>\n<li><a href=\"#quellen\">Quellen<\/a><\/li>\n<li><a href=\"#anhang\">Anhang<\/a><\/li>\n<\/ol>\n<h1 id=\"warum\">Warum Projektmanagement-Software?<\/h1>\n<p>Mit immer h\u00f6heren Anforderungen und steigender Komplexit\u00e4t bei Softwareprojekten ist das Scheitern eines Projekts, ohne richtiges Projektmanagement, vorprogrammiert. Zus\u00e4tzlich soll die Arbeitseffizienz durch F\u00f6rderung von Zusammenarbeit und Kommunikation gesteigert werden, um Deadlines und Kosten unter Kontrolle zu halten.<\/p>\n<blockquote><p>Projektmanagement beschreibt die \u201eGesamtheit der Planungs-, Leistungs- und Kontrollaktivit\u00e4ten bei [gr\u00f6\u00dferen] Projekten.&#8220;<sup>1<\/sup><\/p><\/blockquote>\n<p>Eine Projektmanagement-Software (PM-Software) ist genau f\u00fcr diese Aufgabe ausgelegt. Sie gibt Projektbeteiligten eine \u00dcbersicht \u00fcber die Planung und den Status des Projekts, meistens in Form eines Dashboards. PM-Software L\u00f6sungen unterscheiden sich in der Auspr\u00e4gung ihrer einzelnen Funktionen. Je nach Einsatzzweck ist eine Software besser bzw. schlechter f\u00fcr bestimmte Projekte geeignet.<\/p>\n<p><em>(<sup>1<\/sup>: https:\/\/www.duden.de\/rechtschreibung\/Projektmanagement)<\/em><\/p>\n<h1 id=\"uberblick\">\u00dcberblick zur Software <em>Redmine<\/em><\/h1>\n<p><b>Redmine<\/b> ist eine cloudbasierte Open-Source Software und bildet ein vollst\u00e4ndiges Projektplanungs- und Managementwerkzeug ab. Es bietet umfangreiche Funktionen, wie die M\u00f6glichkeit, Aufgaben und Meilensteine zu definieren, Projekt- und Ressourcenpl\u00e4ne zu erstellen und den Fortschritt von Aufgaben in Echtzeit zu verfolgen. Dar\u00fcber hinaus k\u00f6nnen Benutzer mithilfe von Redmine auch Dokumente teilen und diskutieren, Meetings und Events planen und Benachrichtigungen \u00fcber den aktuellen Stand erhalten.<\/p>\n<p>Die zentralen Funktionen von Redmine sind:<\/p>\n<ul>\n<li>Flexible, rollenbasierte Benutzer- und Zugriffsverwaltung<\/li>\n<li>Flexible Ticketverwaltung (Issue-Tracking)<\/li>\n<li>Gantt-Diagramm und Kalender<\/li>\n<li>Dokumentenablage<\/li>\n<li>Wikis und Diskussionsforen<\/li>\n<li>Zeiterfassung<\/li>\n<li>Unterst\u00fctzung verschiedener Datenbanken<\/li>\n<li>E-Mail-Benachrichtigungen und Feeds (inkl. Suche)<\/li>\n<\/ul>\n<p>Redmine ist plattformunabh\u00e4ngig einsetzbar und unterst\u00fctzt die Datenbanken MySQL, PostgreSQL, Microsoft SQL Server 2012, SQLite3 sowie 45 Sprachen. Die Software zeichnet sich vor allem durch ihre Flexibilit\u00e4t aus. Es existieren viele Plugins, welche das Aussehen anpassen (Themes) oder Funktionalit\u00e4ten hinzuf\u00fcgen k\u00f6nnen. Des Weiteren k\u00f6nnen mit einer Instanz mehrere Projekte verwaltet werden, wobei jedem Projekt ein individuelles Ticketsystem, eine Zeiterfassung und Benutzerverwaltung zur Verf\u00fcgung steht. Damit k\u00f6nnen spezifische Rollen und Berechtigungen f\u00fcr das jeweilige Projekt zugewiesen werden. Der Projektfortschritt wird durch ein Gantt-Diagramm veranschaulicht, welches Teammitgliedern ebenfalls hilft, Start- und Endzeitpunkte im Projekt auf einen Blick zu sehen.<\/p>\n<h2>Funktionalit\u00e4t<\/h2>\n<p>Redmine enth\u00e4lt viele Funktionen der klassischen Projektmanagement-Tools und ist dabei gleicherma\u00dfen auf ein hohes Ma\u00df an Konfigurierbarkeit bedacht. Durch die M\u00f6glichkeit von Erweiterungen ist es an \u00fcberaus viele Anwendungsf\u00e4lle anpassbar. Dabei stehen in Redmine folgende Funktionalit\u00e4ten im Vordergrund:<\/p>\n<h3><b>Projekte<\/b><\/h3>\n<p>Projekte bilden einen Auftrag in einem Unternehmen ab und helfen dabei, anfallende Aufgaben, Ressourcenverteilung und Zeitmanagement zu organisieren und den aktuellen Fortschritt \u00fcbersichtlich darzustellen. Einem Projekt werden dabei Benutzer oder Teams zugewiesen, die f\u00fcr die Bearbeitung zust\u00e4ndig sind und deren Berechtigungen granular zugewiesen werden k\u00f6nnen.<\/p>\n<p>Projekte k\u00f6nnen auf die jeweilige Aufgabe mit Hilfe von <b>Modulen <\/b>angepasst werden, um beispielsweise mit dem Forum-Modul projektbezogene Diskussionen und Kommunikation festzuhalten oder im Wiki-Modul eine Dokumentation anzulegen. Ebenso ist es m\u00f6glich, unter- und \u00fcbergeordnete Projekte anzulegen, um Teilprojekte abzubilden.<\/p>\n<h3><b>Benutzerrechte und Rollen<\/b><\/h3>\n<p>In Redmine ist ein vollst\u00e4ndiges und umfangreiches Benutzersystem integriert. Es k\u00f6nnen dabei verschiedene Rollen erstellt werden, Nutzer zugewiesen werden und <a href=\"https:\/\/www.redmine.org\/projects\/redmine\/wiki\/RedmineRoles\">detaillierte Zugriffsrechte<\/a> verteilt werden. Berechtigungen k\u00f6nnen dabei auf Projektebene angepasst und auch innerhalb von Projekten vererbt werden. Es ist m\u00f6glich, f\u00fcr verschiedene Module Rechte auf bestimmte Rollen und Benutzer zu \u00fcbertragen, um das Ausf\u00fchren von Aktionen (z. B. Anlegen von Issues) oder die Sichtbarkeit zu bearbeiten.<\/p>\n<p>Es besteht auch die M\u00f6glichkeit mehrere Benutzer einer <strong>Gruppe<\/strong> zuzuordnen und dieser Gruppe eine Rolle f\u00fcr ein Projekt zuzuweisen. Neue Mitarbeiter k\u00f6nnen dann zu einer Gruppe hinzugef\u00fcgt werden und erhalten automatisch alle notwendigen Berechtigungen.<\/p>\n<p><a href=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/01\/Rollensystem.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2591 aligncenter\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/01\/Rollensystem.png\" alt=\"\" width=\"767\" height=\"153\" \/><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2726 aligncenter\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/01\/Rollen-Berechtigungen-1.png\" alt=\"\" width=\"661\" height=\"184\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3><b>Issue-Tracking &amp; Ticket-System<\/b><\/h3>\n<p>Die Kommunikation und Verwaltung eines Projektes erfolgt in Redmine haupts\u00e4chlich \u00fcber das Issue-Tracking-System &#8211; ein Modul zum Nachverfolgen, Priorisieren und Verteilen von Aufgaben, die w\u00e4hrend eines Projektes anfallen. Im Bereich der Softwareentwicklung k\u00f6nnen dies z. B. Bugs oder auch neue Features sein. Diese unterschiedlichen Aufgabentypen werden in Redmine durch sogenannte <b>Tracker <\/b>kategorisiert. Benutzer k\u00f6nnen f\u00fcr ein Projekt neue Tickets erstellen und diesen eine Priorit\u00e4t zuordnen, eine Beschreibung der Aufgabe hinzuf\u00fcgen und das Ticket einer bestimmten Person zuweisen und gegebenenfalls ein \u00fcbergeordnetes Ticket zuordnen. Eine essenzielle Funktion ist au\u00dferdem der Ticket-Status. Dieser gibt an, in welcher Arbeitsphase sich das Ticket befindet.<\/p>\n<p>Zudem k\u00f6nnen weitere Informationen, Kommentare und Dateien hinzugef\u00fcgt werden. Die Tickets werden in einer \u00dcbersicht zusammengefasst, welche von Benutzern anhand von Suchkriterien und Filtern durchsucht und sortiert werden k\u00f6nnen.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2727\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/01\/Tickets-1.png\" alt=\"\" width=\"1497\" height=\"880\" \/><\/p>\n<h3><b>Zeiterfassung<\/b><\/h3>\n<p>In Redmine ist die Zeiterfassung in die Ticketverwaltung integriert. In jedem erstellten Ticket kann der gesch\u00e4tzte Zeitaufwand, die Erledigung des Tickets in Prozent sowie die aufgewendete Arbeitszeit verbucht werden. Zus\u00e4tzlich kann die Art der Aktivit\u00e4t erfasst und ein Kommentar verfasst werden, welcher die geleistete Arbeit beschreibt. Somit lassen sich ein \u00dcberblick \u00fcber den Zeitaufwand eines Projektes erhalten und gegebenenfalls Engp\u00e4sse erkennen und betriebliche Abl\u00e4ufe optimieren.<\/p>\n<p><a href=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/01\/Zeiterfassung.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-2586 aligncenter\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/01\/Zeiterfassung.png\" alt=\"\" width=\"692\" height=\"238\" \/><\/a><\/p>\n<h3><b>Workflows<\/b><\/h3>\n<p>In Redmine beziehen sich Workflows auf Ablaufregeln und vorgegebene Prozesse, die ein Issue vom Anlegen bis zum Abschluss begleiten. Workflows k\u00f6nnen dabei an die Bed\u00fcrfnisse des jeweiligen Unternehmens oder des spezifischen Projektes angepasst werden.<br \/>\nGenerell besteht ein Workflow aus den folgenden Schritten:<\/p>\n<ol>\n<li>Anlegen eines Issues und Zuweisung eines Status (<i>New<\/i> oder <i>In Progress<\/i>)<\/li>\n<li>Zuordnung einer Person, die f\u00fcr die Abarbeitung verantwortlich ist<\/li>\n<li>Festhalten des aktuellen Fortschrittes<\/li>\n<li>Schlie\u00dfen des Tickets<\/li>\n<\/ol>\n<p>Redmine bietet die M\u00f6glichkeit den Workflow benutzerdefiniert anzupassen, indem die \u00dcberg\u00e4nge und Berechtigungen f\u00fcr jeden Ticket-Status definiert werden.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2728 aligncenter\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/01\/Workflow-1.png\" alt=\"\" width=\"864\" height=\"376\" \/><\/p>\n<p>Beispielsweise kann ein benutzerdefinierter Workflow f\u00fcr ein Softwareentwicklungsprojekt zus\u00e4tzliche Status wie \u201c<i>QA\u201d <\/i>(Qualit\u00e4tssicherung) und \u201e<i>Ready for Deployment<\/i>\u201c und \u00dcbergangsstatus wie \u201e<i>Move to QA<\/i>\u201c oder \u201e<i>Move to Deployment<\/i>\u201c enthalten. Die Berechtigungen f\u00fcr jeden Schritt k\u00f6nnen konfiguriert werden, um sicherzustellen, dass nur die entsprechenden Teammitglieder die M\u00f6glichkeit haben, ein Problem in die n\u00e4chste Phase zu verschieben.<\/p>\n<h3><b>Erweiterbarkeit durch Module und Plugins<\/b><\/h3>\n<p>F\u00fcr die Redmine-Instanz oder einzelne Projekte stehen verschiedene <b>Module <\/b>standardm\u00e4\u00dfig zur Verf\u00fcgung, die einzeln aktiviert werden k\u00f6nnen. Auch Issue-und Zeit-Tracking sind beispielsweise Module, die f\u00fcr ein Projekt auch deaktiviert werden k\u00f6nnen. Weitere in Redmine enthaltene Module sind hier zusammengefasst:<\/p>\n<ul>\n<li>F\u00fcr die projektinterne Dokumentation l\u00e4sst sich ein <b>Wiki <\/b>f\u00fcr jedes Projekt erstellen.<br \/>\nEbenso l\u00e4sst sich ein <b>Forum <\/b>f\u00fcr den Austausch der Mitarbeiter hinzuf\u00fcgen, um beispielsweise Entscheidungsfindungen zu dokumentieren und festzuhalten.<\/li>\n<li><b>Kalender &amp; Gantt-Diagramm:<\/b>\u00a0 Ein Gantt-Diagramm ist ein visuelles Werkzeug, das verwendet wird, um den Fortschritt von Projekten und Aufgaben in einem bestimmten Zeitrahmen darzustellen. In Redmine werden im Gantt-Diagramm Aufgaben in Form von horizontalen Balken dargestellt, wobei die L\u00e4nge des Balkens die geplante Dauer der Aufgabe darstellt. Die Aufgaben werden dann nach ihrer Abh\u00e4ngigkeit von anderen Aufgaben und dem Zeitrahmen, in dem sie abgeschlossen werden m\u00fcssen, angeordnet.\u00a0 Die Balken werden aus den in den Tickets angegebenen Bearbeitungszeitr\u00e4umen erstellt. Jeder Fortschrittsbalken im Diagramm hat daher ein korrespondierendes Ticket.<img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2724 aligncenter\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/01\/Gantt-2.png\" alt=\"\" width=\"848\" height=\"183\" \/>Das Gantt-Diagramm bietet auch verschiedene Funktionen, wie die M\u00f6glichkeit, Meilensteine zu definieren und darzustellen, den Fortschritt von Aufgaben in Echtzeit zu verfolgen und Ressourcenpl\u00e4ne zu erstellen. Benutzer k\u00f6nnen das Gantt-Diagramm auch anpassen und filtern, um bestimmte Aufgaben oder Ressourcen hervorzuheben oder auszublenden.<\/li>\n<li><b>Datei- und Dokumentenverwaltung<\/b> f\u00fcr jedes einzelne Projekt.<\/li>\n<li><b>News<\/b>, um Ereignisse oder Ank\u00fcndigungen an die Mitarbeiter weiterzugeben. Ebenso k\u00f6nnen durch <b>E-Mail<\/b>-Verteiler Benutzergruppen benachrichtigt werden.<\/li>\n<li>F\u00fcr Softwareprojekte k\u00f6nnen zudem <strong>Repositories <\/strong>eingebunden werden. Dies erm\u00f6glicht die Anzeige des Projekt-Repositories und der neuesten Commits. Dabei werden die verbreitetsten Versionsverwaltungswerkzeuge wie Git und Subversion unterst\u00fctzt.<\/li>\n<\/ul>\n<p>F\u00fcr zus\u00e4tzliche Funktionalit\u00e4ten und Erweiterungen bietet Redmine die M\u00f6glichkeit, <b>Plugins <\/b>und <b>Themes <\/b>zu installieren, um die Redmine-Instanz an die individuellen Bed\u00fcrfnisse und Anforderungen eines Unternehmens, Projektes oder Entwicklungsprozesses anzupassen. Beispielsweise k\u00f6nnen mit Human Ressource Management Erweiterungen Mitarbeiter-Ressourcen vorausschauend geplant werden. Weitere Plugins erm\u00f6glichen zudem die Darstellung von DevOps-Informationen, Automation von Aufgaben oder das Erstellen von Berichten innerhalb von Redmine. Ebenso kann Redmine f\u00fcr die agile Softwareentwicklung mit Scrum oder Kanban um die daf\u00fcr vorgesehenen Tools erweitert werden, beispielsweise mit dem Plugin <a href=\"https:\/\/www.easyredmine.com\/redmine-agile-plugin\">Redmine-Agile<\/a>. Dabei ist insgesamt jedoch anzumerken, dass viele Plugins entweder kostenpflichtig sind oder die jeweiligen Open-Source-Alternativen schon seit mehreren Jahren nicht mehr weiter entwickelt werden.<\/p>\n<p>Viele Konfigurationsm\u00f6glichkeiten, wie z. B. die Rollen und Tracker sind nur instanzweit einstellbar und m\u00fcssen durch einen Administrator durchgef\u00fchrt werden. Dies kann von Vorteil sein, wenn in einem Unternehmen ein einheitlicher Prozess f\u00fcr alle Projekte eingehalten werden soll, kann jedoch zum Nachteil werden, wenn Projekte verschiedene Abl\u00e4ufe erfordern. Dann kann die Konfiguration un\u00fcbersichtlich werden oder eine projektspezifische Konfiguration schwierig machen.<\/p>\n<h1 id=\"installation\">Installation<\/h1>\n<p>Um Redmine zu installieren, kann der <a href=\"https:\/\/www.redmine.org\/projects\/redmine\/wiki\/RedmineInstall\">Installationsanleitung <\/a>in der offiziellen Dokumentation gefolgt werden. Alternativ kann Redmine f\u00fcr den Einbenutzerbetrieb oder zum Testen mit einem Docker-Image aufgesetzt werden:<\/p>\n<p><code>docker run -d -p 3000:3000 --name redmine-demo redmine<\/code><\/p>\n<p>Hierbei ist zu beachten, dass standardm\u00e4\u00dfig eine SQLite-Datenbank genutzt wird, welche sich nicht f\u00fcr den Mehrbenutzerbetrieb eignet. F\u00fcr gr\u00f6\u00dfere Teams ist die Nutzung eines Datenbank-Mangement-Systems, wie z. B. MariaDB, sinnvoll. Mit folgender docker-compose Datei kann diese aufgesetzt werden:<\/p>\n<pre><code style=\"line-height: 50%;font-size: 80%\">version: '2'\r\n\r\nservices:\r\n  mariadb:\r\n\timage: mariadb:10.6\r\n\tvolumes:\r\n  \t- 'mariadb_data:\/redmine\/mariadb'\r\n\tenvironment:\r\n  \t- MARIADB_ROOT_PASSWORD=rootpassword\r\n  \t- MARIADB_USER=bn_redmine\r\n  \t- MARIADB_PASSWORD=redmine_password\r\n  \t- MARIADB_DATABASE=redmine\r\n  redmine:\r\n\timage: redmine\r\n\tports:\r\n  \t- '80:3000'\r\n\tvolumes:\r\n  \t- 'redmine_data:\/redmine\/redmine'\r\n\tdepends_on:\r\n  \t- mariadb\r\n\tenvironment:\r\n  \t- REDMINE_DATABASE_HOST=mariadb\r\n  \t- REDMINE_DATABASE_PORT_NUMBER=3306\r\n  \t- REDMINE_DATABASE_USER=bn_redmine\r\n  \t- REDMINE_DATABASE_PASSWORD=redmine_password\r\n  \t- REDMINE_DATABASE_NAME=redmine\r\nvolumes:\r\n  mariadb_data:\r\n\tdriver: local\r\n  redmine_data:\r\n\tdriver: local\r\n\r\n<\/code><\/pre>\n<p>Nachdem die Datei angelegt ist, kann die Redmine-Instanz \u00fcber den docker-compose Befehl erstellt werden:<\/p>\n<p><code>docker-compose -f stack.yml up<\/code><\/p>\n<p>Nach erfolgter Installation von Redmine m\u00fcssen zun\u00e4chst grundlegende Konfigurationen durchgef\u00fchrt werden, damit das Tool genutzt werden kann. Um die Einrichtung zu vereinfachen, stellen die Redmine-Entwickler Standardwerte f\u00fcr die Konfiguration in verschiedenen Sprachen bereit. Nach der Installation m\u00fcssen diese dazu im Administrationsbereich ausgew\u00e4hlt werden.<\/p>\n<p>Wenn diese Standardkonfiguration nicht geladen wird, m\u00fcssen Issue-Tracker und -Status sowie Priorit\u00e4ten eigenh\u00e4ndig erstellt werden, um Tickets erstellen zu k\u00f6nnen. Analog dazu m\u00fcssen f\u00fcr das Zeit-Tracking Aktivit\u00e4ten und f\u00fcr die Dokumentverwaltung Kategorien erstellt werden.<\/p>\n<h2>Plugins und Themes<\/h2>\n<p>Die Installation von Plugins und Themes verl\u00e4uft \u00e4hnlich. Eine Auswahl von verf\u00fcgbaren Plugins ist unter dem Link <a href=\"https:\/\/www.redmine.org\/plugins\">https:\/\/www.redmine.org\/plugins<\/a> verf\u00fcgbar; ausgew\u00e4hlte Themes unter <a href=\"https:\/\/www.redmine.org\/projects\/redmine\/wiki\/Theme_List\">https:\/\/www.redmine.org\/projects\/redmine\/wiki\/Theme_List<\/a>.<\/p>\n<p>Plugins m\u00fcssen im Redmine Root Verzeichnis unter <em>\/plugins<\/em> abgelegt werden. H\u00e4ufig wird die Installationsanleitung in den Plugin-Dokumentationen genau beschrieben.<\/p>\n<p>Themes werden unter <em>\/public\/themes\/<\/em> abgelegt. Um die Konsole einer bereits gestarteten Redmine-Docker-Instanz zu \u00f6ffnen, muss <code>docker exec -it &lt;redmine-container&gt; bash<\/code> ausgef\u00fchrt werden.<\/p>\n<p>Um beispielsweise das Theme <a href=\"https:\/\/github.com\/farend\/redmine_theme_farend_bleuclair\">https:\/\/github.com\/farend\/redmine_theme_farend_bleuclair<\/a> zu installieren, muss folgender Befehl ausgef\u00fchrt werden: <code>git clone -b redmine4.2 https:\/\/github.com\/farend\/redmine_theme_farend_bleuclair.git public\/themes\/bleuclair<\/code>. Danach muss im Administrationsbereich das Theme \u201cBleuclair\u201d unter <em>Konfiguration &gt; Anzeige &gt; Design-Stil<\/em> ausgew\u00e4hlt werden.<\/p>\n<h1 id=\"anwendungsbeispiel\">Anwendungsbeispiel<\/h1>\n<p>Aufgrund der vielen Konfigurationsm\u00f6glichkeiten und der schwachen Bindung zu Quellcode, kann Redmine als Projektmanagement-Tool in den unterschiedlichsten Unternehmensbereichen, in denen Entwicklungsfortschritte erfasst werden m\u00fcssen, genutzt werden. Im Folgenden soll die Verwaltung von Software-Entwicklungsprojekten in einem Unternehmen als Beispiel f\u00fcr die Nutzung von Redmine dienen. Das Tool kann genutzt werden, um die Entwicklung von neuen Funktionen und Features zu planen und zu verfolgen, Fehlerberichte zu verwalten und die Zusammenarbeit von Entwicklern, Testern und anderen Beteiligten zu koordinieren.<\/p>\n<p>Nach der Installation und \u00dcbernahme der Standardkonfiguration sind mehrere Tracker-Typen, wie Feature und Bug, sowie wichtige Issue-Status f\u00fcr &#8222;Neu&#8220;, &#8222;In Bearbeitung&#8220;, &#8222;Gel\u00f6st&#8220;, &#8222;Feedback&#8220; und &#8222;Erledigt&#8220; vorhanden. Im Beispiel sollen die einzelnen Rollen nur solche Status\u00fcberg\u00e4nge durchf\u00fchren d\u00fcrfen, welche f\u00fcr die Rolle relevant sind. Zus\u00e4tzlich soll es m\u00f6glich sein,\u00a0 dokumentierte Feedbacks noch einmal zu \u00fcberarbeiten. Deshalb wurde ein Status \u201c\u00fcberarbeiten\u201d unter <em>Administration &gt; Ticket-Status<\/em> hinzugef\u00fcgt.<\/p>\n<p>Die Standardkonfiguration gibt den einzelnen Rollen gro\u00dfe Freiheit f\u00fcr die Status\u00fcberg\u00e4nge. Dies soll im Anwendungsbeispiel beschr\u00e4nkt werden. Dazu kann unter <em>Administration &gt; Workflow<\/em> in einer Matrix festgelegt werden, welche Rollen f\u00fcr die jeweiligen Tracker berechtigt sind, das Ticket von einem Status auf einen n\u00e4chsten zu setzen.<\/p>\n<p>Nach Abschluss der Konfiguration k\u00f6nnen Projekte angelegt und Tickets erstellt werden.<\/p>\n<h2>Prozessmodellierung<\/h2>\n<p>Um die Integration von Redmine besser planen zu k\u00f6nnen, eignet sich ein BPMN (Business Process Model and Notation) Diagramm. Das BPMN-Diagramm bezieht sich auf das vorher beschriebene Anwendungsbeispiel mit Redmine als Projektmanagement-Tool.<a href=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/02\/Redmine_BPMN.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-2603 aligncenter\" src=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/02\/Redmine_BPMN.png\" alt=\"\" width=\"853\" height=\"775\" \/><\/a><\/p>\n<h1 id=\"alternativen\">Alternativen<\/h1>\n<h2>Open-Source Alternativen<\/h2>\n<h3>Taiga<\/h3>\n<p>Taiga ist eine Projektmanagement-Software f\u00fcr kleine, aber auch gr\u00f6\u00dfere Projekte zur Verfolgung des Projektfortschritts. Die Oberfl\u00e4che ist webbasiert und die Software l\u00e4sst sich \u00fcber GitHub herunterladen und auf eigenen Servern hosten.<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Vorteile<\/strong><\/td>\n<td><strong>Nachteile<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\n<ul>\n<li>unterst\u00fctzt agile Methoden, wie Scrum und Kanban<\/li>\n<li>bietet kanban-\u00e4hnliche Boards und Gantt-Diagramme<\/li>\n<li>integriert verschiedene Dienste f\u00fcr Chats und Videokonferenzen<\/li>\n<li>kann Versionsverwaltungssysteme, wie GitHub oder Bitbucket anbinden<\/li>\n<\/ul>\n<\/td>\n<td>\n<ul>\n<li>Funktionsumfang kann f\u00fcr manche Teams zu klein sein<\/li>\n<li>kann am Anfang un\u00fcbersichtlich wirken<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>OpenProject<\/h3>\n<p>OpenProject ist ein weiteres Open-Source-Issue-Tracking-System. Es integriert eine Vielzahl von Projektmanagement-Tools (Gantt, Kalender, Dokumentablagen,&#8230;) und hat \u2014 wie Redmine \u2014 ein detailliertes Rollen- und Berechtigungssystem.<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Vorteile<\/strong><\/td>\n<td><strong>Nachteile<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\n<ul>\n<li>responsives Layout (auch f\u00fcr mobile Ger\u00e4te)<\/li>\n<li>bietet Tarife mit Hosting und Support an<\/li>\n<\/ul>\n<\/td>\n<td>\n<ul>\n<li>Einrichtung ist komplex, wenn die Instanz selbst gehostet wird<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Kommerzielle Alternativen<\/h2>\n<h3>Jira<\/h3>\n<p>Die von Atlassian entwickelte Projektmanagement-Software Jira hat eine einfache, moderne Benutzeroberfl\u00e4che und ist mit anderen Management-Produkten von Atlassian sehr gut integriert.<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Vorteile<\/strong><\/td>\n<td><strong>Nachteile<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\n<ul>\n<li>viele Funktionen f\u00fcr das Issue-Tracking stehen \u201cab Werk\u201d bereit<\/li>\n<li>einfache Installation von Plugins<\/li>\n<li>Integration mit anderen Produkten von Atlassian<\/li>\n<\/ul>\n<\/td>\n<td>\n<ul>\n<li>nur f\u00fcr Teams von 10 Personen kostenlos; wird f\u00fcr gr\u00f6\u00dfere Teams schnell teuer<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Trello<\/h3>\n<p>Trello ist eine weitere Projektmanagement-Software, die von Atlassion entwickelt wird, und richtet sich haupts\u00e4chlich an Softwareprojekte, welche die Kanban-Methodik verwenden.<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Vorteile<\/strong><\/td>\n<td><strong>Nachteile<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\n<ul>\n<li>flexible Issue-Verwaltung<\/li>\n<li>einfache und \u00fcbersichtliche Bedienung<\/li>\n<\/ul>\n<\/td>\n<td>\n<ul>\n<li>Anpassungsm\u00f6glichkeiten begrenzt<\/li>\n<li>nicht sehr umfangreich<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h1 id=\"fazit\">Fazit<\/h1>\n<p>Redmine bildet ein umfangreiches, kostenfreies und webbasiertes Open-Source Projektmanagement-Tool ab, das eine einfache und intuitive Benutzeroberfl\u00e4che f\u00fcr Projektteilnehmer bietet sowie die Organisation und das Zeitmanagement erleichtert. Das starke Rollen- und Berechtigungssystem erlaubt bei der Vergabe von Zugriffsrechten und Aufgabenbereichen der Projektmitarbeiter einen individuellen Workflow. Dar\u00fcber hinaus gibt es eine gro\u00dfe Auswahl an Plugins, die die Funktionalit\u00e4t von Redmine erweitern k\u00f6nnen. Der gr\u00f6\u00dfte Vorteil von Redmine liegt in den zahlreichen Konfigurationsm\u00f6glichkeiten, welche eine detaillierte Anpassung des Tools an die Anforderungen von spezifischen Projekten erm\u00f6glichen.<\/p>\n<p>Die komplexen Einstellungsm\u00f6glichkeiten, welche Redmines gr\u00f6\u00dfte St\u00e4rke sind, k\u00f6nnen auch zur gr\u00f6\u00dften Schw\u00e4che werden. Stellt das Projekt weniger komplexe Anforderungen oder es m\u00fcssen \u00c4nderungen im Workflow vorgenommen werden, kann sich die Einrichtung der Umgebung verkomplizieren und langwierig gestalten. Ein weiterer Nachteil ist, dass die Oberfl\u00e4che von Redmine unzeitgem\u00e4\u00df wirkt und sich nicht gut auf mobile Ger\u00e4te anpasst. Au\u00dferdem sind die komplexeren Plugins, welche zus\u00e4tzliche n\u00fctzliche Funktionen bereitstellen, meist kostenpflichtig und Closed-Source. Zudem werden alternative Open-Source-Plugins h\u00e4ufig nicht mehr aktiv entwickelt und damit auch nicht von der aktuellen Redmine Version unterst\u00fctzt. Eine weitere Schwierigkeit kann die Installation der Plugins und Themes, die manuell der Installation hinzugef\u00fcgt werden muss, darstellen. Ein weiteres Feature, welches andere Projektmanagement-L\u00f6sungen besser umsetzen, ist die Integration von Versionierungstools wie z. B. Git. Dies macht es vor allem f\u00fcr Softwareprojekte schwieriger, Tickets effizient mit dem Code zu verkn\u00fcpfen, da Commits lediglich angezeigt werden k\u00f6nnen. Zudem fehlen Kommunikationsfunktionen, die f\u00fcr den Austausch im Team wichtig sind, wie z. B. eine Chat-Funktion, oder auch eine Ordnerstruktur in der Dateiablage.<\/p>\n<p>Trotz der vielf\u00e4ltigen Konfigurationsm\u00f6glichkeiten von Redmine, welche eine spezifische Anpassung an die Anforderungen des Unternehmens erm\u00f6glichen, ist aufgrund der genannten Schw\u00e4chen abzuw\u00e4gen, ob Redmine tats\u00e4chlich die ideale Projektmanagement-Software ist. Je nach Gr\u00f6\u00dfe des Projektes und der vorherrschenden internen Unternehmensstruktur, kann auch eine weniger komplexe Alternative besser geeignet sein.<\/p>\n<h1 id=\"quellen\">Quellen<\/h1>\n<ul>\n<li><a href=\"https:\/\/curdt.home.hdm-stuttgart.de\/PDF\/Ross_Onlineversion.pdf\">https:\/\/curdt.home.hdm-stuttgart.de\/PDF\/Ross_Onlineversion.pdf<\/a><\/li>\n<li><a href=\"https:\/\/hub.docker.com\/_\/redmine\">https:\/\/hub.docker.com\/_\/redmine<\/a><\/li>\n<li><a href=\"https:\/\/www.redmine.org\/projects\/redmine\/wiki\">https:\/\/www.redmine.org\/projects\/redmine\/wiki<\/a><\/li>\n<li><a href=\"https:\/\/www.redmine.org\/projects\/redmine\/wiki\/Themes\">https:\/\/www.redmine.org\/projects\/redmine\/wiki\/Themes<\/a><\/li>\n<li><a href=\"https:\/\/www.redmine.org\/projects\/redmine\/wiki\/Plugins\">https:\/\/www.redmine.org\/projects\/redmine\/wiki\/Plugins<\/a><\/li>\n<li><a href=\"https:\/\/www.atlassian.com\/software\/jira\/features\">https:\/\/www.atlassian.com\/software\/jira\/features<\/a><\/li>\n<li><a href=\"https:\/\/www.openproject.org\/de\/\">https:\/\/www.openproject.org\/de\/<\/a><\/li>\n<li><a href=\"https:\/\/trello.com\/de\/tour\">https:\/\/trello.com\/de\/tour<\/a><\/li>\n<li><a href=\"https:\/\/www.taiga.io\/\">https:\/\/www.taiga.io\/<\/a><\/li>\n<\/ul>\n<h1 id=\"anhang\">Anhang<\/h1>\n<ul>\n<li><a href=\"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-content\/uploads\/2023\/02\/Redmine-Betriebliche-Informationssysteme.pdf\">Pr\u00e4sentation<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Inhalt Warum Projektmanagement-Software? \u00dcberblick zur Software Redmine Installation Anwendungsbeispiel Alternativen Fazit Quellen Anhang Warum Projektmanagement-Software? Mit immer h\u00f6heren Anforderungen und<\/p>\n","protected":false},"author":101,"featured_media":2474,"comment_status":"open","ping_status":"open","sticky":false,"template":"templates\/template-fullwidth.php","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[98,9,107,33,97,112],"class_list":["post-1597","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-betriebliche-informationssysteme","tag-aufgabenmanagement","tag-docker","tag-managment","tag-open-source","tag-projektmanagement","tag-redmine"],"_links":{"self":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts\/1597","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/users\/101"}],"replies":[{"embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/comments?post=1597"}],"version-history":[{"count":75,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts\/1597\/revisions"}],"predecessor-version":[{"id":3024,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/posts\/1597\/revisions\/3024"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/media\/2474"}],"wp:attachment":[{"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/media?parent=1597"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/categories?post=1597"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/informatik.htwk-leipzig.de\/seminar\/wp-json\/wp\/v2\/tags?post=1597"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}