Redmine

Inhalt

  1. Warum Projektmanagement-Software?
  2. Überblick zur Software Redmine
  3. Installation
  4. Anwendungsbeispiel
  5. Alternativen
  6. Fazit
  7. Quellen
  8. Anhang

Warum Projektmanagement-Software?

Mit immer höheren Anforderungen und steigender Komplexität bei Softwareprojekten ist das Scheitern eines Projekts, ohne richtiges Projektmanagement, vorprogrammiert. Zusätzlich soll die Arbeitseffizienz durch Förderung von Zusammenarbeit und Kommunikation gesteigert werden, um Deadlines und Kosten unter Kontrolle zu halten.

Projektmanagement beschreibt die „Gesamtheit der Planungs-, Leistungs- und Kontrollaktivitäten bei [größeren] Projekten.“1

Eine Projektmanagement-Software (PM-Software) ist genau für diese Aufgabe ausgelegt. Sie gibt Projektbeteiligten eine Übersicht über die Planung und den Status des Projekts, meistens in Form eines Dashboards. PM-Software Lösungen unterscheiden sich in der Ausprägung ihrer einzelnen Funktionen. Je nach Einsatzzweck ist eine Software besser bzw. schlechter für bestimmte Projekte geeignet.

(1: https://www.duden.de/rechtschreibung/Projektmanagement)

Überblick zur Software Redmine

Redmine ist eine cloudbasierte Open-Source Software und bildet ein vollständiges Projektplanungs- und Managementwerkzeug ab. Es bietet umfangreiche Funktionen, wie die Möglichkeit, Aufgaben und Meilensteine zu definieren, Projekt- und Ressourcenpläne zu erstellen und den Fortschritt von Aufgaben in Echtzeit zu verfolgen. Darüber hinaus können Benutzer mithilfe von Redmine auch Dokumente teilen und diskutieren, Meetings und Events planen und Benachrichtigungen über den aktuellen Stand erhalten.

Die zentralen Funktionen von Redmine sind:

  • Flexible, rollenbasierte Benutzer- und Zugriffsverwaltung
  • Flexible Ticketverwaltung (Issue-Tracking)
  • Gantt-Diagramm und Kalender
  • Dokumentenablage
  • Wikis und Diskussionsforen
  • Zeiterfassung
  • Unterstützung verschiedener Datenbanken
  • E-Mail-Benachrichtigungen und Feeds (inkl. Suche)

Redmine ist plattformunabhängig einsetzbar und unterstützt die Datenbanken MySQL, PostgreSQL, Microsoft SQL Server 2012, SQLite3 sowie 45 Sprachen. Die Software zeichnet sich vor allem durch ihre Flexibilität aus. Es existieren viele Plugins, welche das Aussehen anpassen (Themes) oder Funktionalitäten hinzufügen können. Des Weiteren können mit einer Instanz mehrere Projekte verwaltet werden, wobei jedem Projekt ein individuelles Ticketsystem, eine Zeiterfassung und Benutzerverwaltung zur Verfügung steht. Damit können spezifische Rollen und Berechtigungen für 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.

Funktionalität

Redmine enthält viele Funktionen der klassischen Projektmanagement-Tools und ist dabei gleichermaßen auf ein hohes Maß an Konfigurierbarkeit bedacht. Durch die Möglichkeit von Erweiterungen ist es an überaus viele Anwendungsfälle anpassbar. Dabei stehen in Redmine folgende Funktionalitäten im Vordergrund:

Projekte

Projekte bilden einen Auftrag in einem Unternehmen ab und helfen dabei, anfallende Aufgaben, Ressourcenverteilung und Zeitmanagement zu organisieren und den aktuellen Fortschritt übersichtlich darzustellen. Einem Projekt werden dabei Benutzer oder Teams zugewiesen, die für die Bearbeitung zuständig sind und deren Berechtigungen granular zugewiesen werden können.

Projekte können auf die jeweilige Aufgabe mit Hilfe von Modulen angepasst werden, um beispielsweise mit dem Forum-Modul projektbezogene Diskussionen und Kommunikation festzuhalten oder im Wiki-Modul eine Dokumentation anzulegen. Ebenso ist es möglich, unter- und übergeordnete Projekte anzulegen, um Teilprojekte abzubilden.

Benutzerrechte und Rollen

In Redmine ist ein vollständiges und umfangreiches Benutzersystem integriert. Es können dabei verschiedene Rollen erstellt werden, Nutzer zugewiesen werden und detaillierte Zugriffsrechte verteilt werden. Berechtigungen können dabei auf Projektebene angepasst und auch innerhalb von Projekten vererbt werden. Es ist möglich, für verschiedene Module Rechte auf bestimmte Rollen und Benutzer zu übertragen, um das Ausführen von Aktionen (z. B. Anlegen von Issues) oder die Sichtbarkeit zu bearbeiten.

Es besteht auch die Möglichkeit mehrere Benutzer einer Gruppe zuzuordnen und dieser Gruppe eine Rolle für ein Projekt zuzuweisen. Neue Mitarbeiter können dann zu einer Gruppe hinzugefügt werden und erhalten automatisch alle notwendigen Berechtigungen.

 

Issue-Tracking & Ticket-System

Die Kommunikation und Verwaltung eines Projektes erfolgt in Redmine hauptsächlich über das Issue-Tracking-System – ein Modul zum Nachverfolgen, Priorisieren und Verteilen von Aufgaben, die während eines Projektes anfallen. Im Bereich der Softwareentwicklung können dies z. B. Bugs oder auch neue Features sein. Diese unterschiedlichen Aufgabentypen werden in Redmine durch sogenannte Tracker kategorisiert. Benutzer können für ein Projekt neue Tickets erstellen und diesen eine Priorität zuordnen, eine Beschreibung der Aufgabe hinzufügen und das Ticket einer bestimmten Person zuweisen und gegebenenfalls ein übergeordnetes Ticket zuordnen. Eine essenzielle Funktion ist außerdem der Ticket-Status. Dieser gibt an, in welcher Arbeitsphase sich das Ticket befindet.

Zudem können weitere Informationen, Kommentare und Dateien hinzugefügt werden. Die Tickets werden in einer Übersicht zusammengefasst, welche von Benutzern anhand von Suchkriterien und Filtern durchsucht und sortiert werden können.

Zeiterfassung

In Redmine ist die Zeiterfassung in die Ticketverwaltung integriert. In jedem erstellten Ticket kann der geschätzte Zeitaufwand, die Erledigung des Tickets in Prozent sowie die aufgewendete Arbeitszeit verbucht werden. Zusätzlich kann die Art der Aktivität erfasst und ein Kommentar verfasst werden, welcher die geleistete Arbeit beschreibt. Somit lassen sich ein Überblick über den Zeitaufwand eines Projektes erhalten und gegebenenfalls Engpässe erkennen und betriebliche Abläufe optimieren.

Workflows

In Redmine beziehen sich Workflows auf Ablaufregeln und vorgegebene Prozesse, die ein Issue vom Anlegen bis zum Abschluss begleiten. Workflows können dabei an die Bedürfnisse des jeweiligen Unternehmens oder des spezifischen Projektes angepasst werden.
Generell besteht ein Workflow aus den folgenden Schritten:

  1. Anlegen eines Issues und Zuweisung eines Status (New oder In Progress)
  2. Zuordnung einer Person, die für die Abarbeitung verantwortlich ist
  3. Festhalten des aktuellen Fortschrittes
  4. Schließen des Tickets

Redmine bietet die Möglichkeit den Workflow benutzerdefiniert anzupassen, indem die Übergänge und Berechtigungen für jeden Ticket-Status definiert werden.

Beispielsweise kann ein benutzerdefinierter Workflow für ein Softwareentwicklungsprojekt zusätzliche Status wie “QA” (Qualitätssicherung) und „Ready for Deployment“ und Übergangsstatus wie „Move to QA“ oder „Move to Deployment“ enthalten. Die Berechtigungen für jeden Schritt können konfiguriert werden, um sicherzustellen, dass nur die entsprechenden Teammitglieder die Möglichkeit haben, ein Problem in die nächste Phase zu verschieben.

Erweiterbarkeit durch Module und Plugins

Für die Redmine-Instanz oder einzelne Projekte stehen verschiedene Module standardmäßig zur Verfügung, die einzeln aktiviert werden können. Auch Issue-und Zeit-Tracking sind beispielsweise Module, die für ein Projekt auch deaktiviert werden können. Weitere in Redmine enthaltene Module sind hier zusammengefasst:

  • Für die projektinterne Dokumentation lässt sich ein Wiki für jedes Projekt erstellen.
    Ebenso lässt sich ein Forum für den Austausch der Mitarbeiter hinzufügen, um beispielsweise Entscheidungsfindungen zu dokumentieren und festzuhalten.
  • Kalender & Gantt-Diagramm:  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änge des Balkens die geplante Dauer der Aufgabe darstellt. Die Aufgaben werden dann nach ihrer Abhängigkeit von anderen Aufgaben und dem Zeitrahmen, in dem sie abgeschlossen werden müssen, angeordnet.  Die Balken werden aus den in den Tickets angegebenen Bearbeitungszeiträumen erstellt. Jeder Fortschrittsbalken im Diagramm hat daher ein korrespondierendes Ticket.Das Gantt-Diagramm bietet auch verschiedene Funktionen, wie die Möglichkeit, Meilensteine zu definieren und darzustellen, den Fortschritt von Aufgaben in Echtzeit zu verfolgen und Ressourcenpläne zu erstellen. Benutzer können das Gantt-Diagramm auch anpassen und filtern, um bestimmte Aufgaben oder Ressourcen hervorzuheben oder auszublenden.
  • Datei- und Dokumentenverwaltung für jedes einzelne Projekt.
  • News, um Ereignisse oder Ankündigungen an die Mitarbeiter weiterzugeben. Ebenso können durch E-Mail-Verteiler Benutzergruppen benachrichtigt werden.
  • Für Softwareprojekte können zudem Repositories eingebunden werden. Dies ermöglicht die Anzeige des Projekt-Repositories und der neuesten Commits. Dabei werden die verbreitetsten Versionsverwaltungswerkzeuge wie Git und Subversion unterstützt.

Für zusätzliche Funktionalitäten und Erweiterungen bietet Redmine die Möglichkeit, Plugins und Themes zu installieren, um die Redmine-Instanz an die individuellen Bedürfnisse und Anforderungen eines Unternehmens, Projektes oder Entwicklungsprozesses anzupassen. Beispielsweise können mit Human Ressource Management Erweiterungen Mitarbeiter-Ressourcen vorausschauend geplant werden. Weitere Plugins ermöglichen zudem die Darstellung von DevOps-Informationen, Automation von Aufgaben oder das Erstellen von Berichten innerhalb von Redmine. Ebenso kann Redmine für die agile Softwareentwicklung mit Scrum oder Kanban um die dafür vorgesehenen Tools erweitert werden, beispielsweise mit dem Plugin Redmine-Agile. 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.

Viele Konfigurationsmöglichkeiten, wie z. B. die Rollen und Tracker sind nur instanzweit einstellbar und müssen durch einen Administrator durchgeführt werden. Dies kann von Vorteil sein, wenn in einem Unternehmen ein einheitlicher Prozess für alle Projekte eingehalten werden soll, kann jedoch zum Nachteil werden, wenn Projekte verschiedene Abläufe erfordern. Dann kann die Konfiguration unübersichtlich werden oder eine projektspezifische Konfiguration schwierig machen.

Installation

Um Redmine zu installieren, kann der Installationsanleitung in der offiziellen Dokumentation gefolgt werden. Alternativ kann Redmine für den Einbenutzerbetrieb oder zum Testen mit einem Docker-Image aufgesetzt werden:

docker run -d -p 3000:3000 --name redmine-demo redmine

Hierbei ist zu beachten, dass standardmäßig eine SQLite-Datenbank genutzt wird, welche sich nicht für den Mehrbenutzerbetrieb eignet. Für größere Teams ist die Nutzung eines Datenbank-Mangement-Systems, wie z. B. MariaDB, sinnvoll. Mit folgender docker-compose Datei kann diese aufgesetzt werden:

version: '2'

services:
  mariadb:
	image: mariadb:10.6
	volumes:
  	- 'mariadb_data:/redmine/mariadb'
	environment:
  	- MARIADB_ROOT_PASSWORD=rootpassword
  	- MARIADB_USER=bn_redmine
  	- MARIADB_PASSWORD=redmine_password
  	- MARIADB_DATABASE=redmine
  redmine:
	image: redmine
	ports:
  	- '80:3000'
	volumes:
  	- 'redmine_data:/redmine/redmine'
	depends_on:
  	- mariadb
	environment:
  	- REDMINE_DATABASE_HOST=mariadb
  	- REDMINE_DATABASE_PORT_NUMBER=3306
  	- REDMINE_DATABASE_USER=bn_redmine
  	- REDMINE_DATABASE_PASSWORD=redmine_password
  	- REDMINE_DATABASE_NAME=redmine
volumes:
  mariadb_data:
	driver: local
  redmine_data:
	driver: local

Nachdem die Datei angelegt ist, kann die Redmine-Instanz über den docker-compose Befehl erstellt werden:

docker-compose -f stack.yml up

Nach erfolgter Installation von Redmine müssen zunächst grundlegende Konfigurationen durchgeführt werden, damit das Tool genutzt werden kann. Um die Einrichtung zu vereinfachen, stellen die Redmine-Entwickler Standardwerte für die Konfiguration in verschiedenen Sprachen bereit. Nach der Installation müssen diese dazu im Administrationsbereich ausgewählt werden.

Wenn diese Standardkonfiguration nicht geladen wird, müssen Issue-Tracker und -Status sowie Prioritäten eigenhändig erstellt werden, um Tickets erstellen zu können. Analog dazu müssen für das Zeit-Tracking Aktivitäten und für die Dokumentverwaltung Kategorien erstellt werden.

Plugins und Themes

Die Installation von Plugins und Themes verläuft ähnlich. Eine Auswahl von verfügbaren Plugins ist unter dem Link https://www.redmine.org/plugins verfügbar; ausgewählte Themes unter https://www.redmine.org/projects/redmine/wiki/Theme_List.

Plugins müssen im Redmine Root Verzeichnis unter /plugins abgelegt werden. Häufig wird die Installationsanleitung in den Plugin-Dokumentationen genau beschrieben.

Themes werden unter /public/themes/ abgelegt. Um die Konsole einer bereits gestarteten Redmine-Docker-Instanz zu öffnen, muss docker exec -it <redmine-container> bash ausgeführt werden.

Um beispielsweise das Theme https://github.com/farend/redmine_theme_farend_bleuclair zu installieren, muss folgender Befehl ausgeführt werden: git clone -b redmine4.2 https://github.com/farend/redmine_theme_farend_bleuclair.git public/themes/bleuclair. Danach muss im Administrationsbereich das Theme “Bleuclair” unter Konfiguration > Anzeige > Design-Stil ausgewählt werden.

Anwendungsbeispiel

Aufgrund der vielen Konfigurationsmöglichkeiten und der schwachen Bindung zu Quellcode, kann Redmine als Projektmanagement-Tool in den unterschiedlichsten Unternehmensbereichen, in denen Entwicklungsfortschritte erfasst werden müssen, genutzt werden. Im Folgenden soll die Verwaltung von Software-Entwicklungsprojekten in einem Unternehmen als Beispiel für 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.

Nach der Installation und Übernahme der Standardkonfiguration sind mehrere Tracker-Typen, wie Feature und Bug, sowie wichtige Issue-Status für „Neu“, „In Bearbeitung“, „Gelöst“, „Feedback“ und „Erledigt“ vorhanden. Im Beispiel sollen die einzelnen Rollen nur solche Statusübergänge durchführen dürfen, welche für die Rolle relevant sind. Zusätzlich soll es möglich sein,  dokumentierte Feedbacks noch einmal zu überarbeiten. Deshalb wurde ein Status “überarbeiten” unter Administration > Ticket-Status hinzugefügt.

Die Standardkonfiguration gibt den einzelnen Rollen große Freiheit für die Statusübergänge. Dies soll im Anwendungsbeispiel beschränkt werden. Dazu kann unter Administration > Workflow in einer Matrix festgelegt werden, welche Rollen für die jeweiligen Tracker berechtigt sind, das Ticket von einem Status auf einen nächsten zu setzen.

Nach Abschluss der Konfiguration können Projekte angelegt und Tickets erstellt werden.

Prozessmodellierung

Um die Integration von Redmine besser planen zu können, 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.

Alternativen

Open-Source Alternativen

Taiga

Taiga ist eine Projektmanagement-Software für kleine, aber auch größere Projekte zur Verfolgung des Projektfortschritts. Die Oberfläche ist webbasiert und die Software lässt sich über GitHub herunterladen und auf eigenen Servern hosten.

Vorteile Nachteile
  • unterstützt agile Methoden, wie Scrum und Kanban
  • bietet kanban-ähnliche Boards und Gantt-Diagramme
  • integriert verschiedene Dienste für Chats und Videokonferenzen
  • kann Versionsverwaltungssysteme, wie GitHub oder Bitbucket anbinden
  • Funktionsumfang kann für manche Teams zu klein sein
  • kann am Anfang unübersichtlich wirken

OpenProject

OpenProject ist ein weiteres Open-Source-Issue-Tracking-System. Es integriert eine Vielzahl von Projektmanagement-Tools (Gantt, Kalender, Dokumentablagen,…) und hat — wie Redmine — ein detailliertes Rollen- und Berechtigungssystem.

Vorteile Nachteile
  • responsives Layout (auch für mobile Geräte)
  • bietet Tarife mit Hosting und Support an
  • Einrichtung ist komplex, wenn die Instanz selbst gehostet wird

Kommerzielle Alternativen

Jira

Die von Atlassian entwickelte Projektmanagement-Software Jira hat eine einfache, moderne Benutzeroberfläche und ist mit anderen Management-Produkten von Atlassian sehr gut integriert.

Vorteile Nachteile
  • viele Funktionen für das Issue-Tracking stehen “ab Werk” bereit
  • einfache Installation von Plugins
  • Integration mit anderen Produkten von Atlassian
  • nur für Teams von 10 Personen kostenlos; wird für größere Teams schnell teuer

Trello

Trello ist eine weitere Projektmanagement-Software, die von Atlassion entwickelt wird, und richtet sich hauptsächlich an Softwareprojekte, welche die Kanban-Methodik verwenden.

Vorteile Nachteile
  • flexible Issue-Verwaltung
  • einfache und übersichtliche Bedienung
  • Anpassungsmöglichkeiten begrenzt
  • nicht sehr umfangreich

Fazit

Redmine bildet ein umfangreiches, kostenfreies und webbasiertes Open-Source Projektmanagement-Tool ab, das eine einfache und intuitive Benutzeroberfläche für 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über hinaus gibt es eine große Auswahl an Plugins, die die Funktionalität von Redmine erweitern können. Der größte Vorteil von Redmine liegt in den zahlreichen Konfigurationsmöglichkeiten, welche eine detaillierte Anpassung des Tools an die Anforderungen von spezifischen Projekten ermöglichen.

Die komplexen Einstellungsmöglichkeiten, welche Redmines größte Stärke sind, können auch zur größten Schwäche werden. Stellt das Projekt weniger komplexe Anforderungen oder es müssen Änderungen im Workflow vorgenommen werden, kann sich die Einrichtung der Umgebung verkomplizieren und langwierig gestalten. Ein weiterer Nachteil ist, dass die Oberfläche von Redmine unzeitgemäß wirkt und sich nicht gut auf mobile Geräte anpasst. Außerdem sind die komplexeren Plugins, welche zusätzliche nützliche Funktionen bereitstellen, meist kostenpflichtig und Closed-Source. Zudem werden alternative Open-Source-Plugins häufig nicht mehr aktiv entwickelt und damit auch nicht von der aktuellen Redmine Version unterstützt. Eine weitere Schwierigkeit kann die Installation der Plugins und Themes, die manuell der Installation hinzugefügt werden muss, darstellen. Ein weiteres Feature, welches andere Projektmanagement-Lösungen besser umsetzen, ist die Integration von Versionierungstools wie z. B. Git. Dies macht es vor allem für Softwareprojekte schwieriger, Tickets effizient mit dem Code zu verknüpfen, da Commits lediglich angezeigt werden können. Zudem fehlen Kommunikationsfunktionen, die für den Austausch im Team wichtig sind, wie z. B. eine Chat-Funktion, oder auch eine Ordnerstruktur in der Dateiablage.

Trotz der vielfältigen Konfigurationsmöglichkeiten von Redmine, welche eine spezifische Anpassung an die Anforderungen des Unternehmens ermöglichen, ist aufgrund der genannten Schwächen abzuwägen, ob Redmine tatsächlich die ideale Projektmanagement-Software ist. Je nach Größe des Projektes und der vorherrschenden internen Unternehmensstruktur, kann auch eine weniger komplexe Alternative besser geeignet sein.

Quellen

Anhang

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert