Redmine ist ein flexibles Projektmanagement Werkzeug das gerne als Kollaborationstool innerhalb von Entwickler-Teams zum Einsatz kommt. Das OpenSource Online Tool basiert auf Ruby on Rails und ist durch zahlreiche Plugins beliebig erweiterbar. Ein gern genutztes Plugin ist Redmine Scrumbler von Alexandr Andrianov, welches ich hier vorstelle.
Im folgenden Artikel beziehe ich mich auf die Redmine Scrumbler Version 1.5.0, welche mit Redmine 1.2.x, 1.3.x und 1.4.x sowie ChiliProject 3.0.0 kompatibel ist. Die jeweils aktuellste Version steht auf Github zum Download bereit. Die dazugehörige Installationsanleitung ist dort ebenfalls hinterlegt.
Wie agil ist Redmine Scrumbler?
Komplexe Projekte mit agilen Ansätzen und mit mehreren Entwicklern, die oft auch räumlich getrennt sind, umzusetzen stellt viele Projekt-Teams vor eine große Herausforderung. Daily Standup Meetings werden in solchen Fällen oft schwierig. Dennoch soll die Agilität nicht unter solchen Gegebenheiten leiden. Scrumbler ist das ideale Tool um Daily Scrum Meetings auch Remote durchführen zu können und agile Prozesse innerhalb eines Teams zu fördern. Beim Daily Scrum Meeting treffen sich täglich alle aktiven Projektteilnehmer und liefern Informationen zum aktuellen Stand ihrer Arbeit.
Scrumbler Dashboard
Das Redmine Scrumbler Plugin stellt hierzu ein interaktives Board für das Scrum Team bereit. Es handelt sich hierbei um ein großartiges Kollaborations-Werkzeug. Mittels Drag & Drop lassen sich die einzelnen Tickets auf dem Scrumbler Board in die jeweiligen Spalten ziehen. Es ist somit genauso einfach anwendbar wie ein echtes Scrum Board, welches mit Aufgabenzetteln bespickt ist. Die Spalten des Redmine Scrumbler Dashboards sind zum Beispiel:
- Neu
- In Bearbeitung
- Gelöst
- Feedback
- Erledigt
- Abgewiesen
Welche Spalten angezeigt werden und in welcher Reihenfolge bestimmen Sie selbst. Hierzu einfach unter Sprint-Einstellungen / Ticket-Status die Position festlegen und was verwendet werden soll.
Was das Scrumbler Plugin kann
Features des Scrumbler Plugins, die mit der Version 1.5.0 kommen:
- Drag & Drop der einzelnen Tickets
- Burndown Chart
- Backlog
- Scrum Point Kalkulation und Fortschrittsanzeige direkt am Dashboard
- Farbkonfiguration einzelner, dargestellter Tickets
- Versionsauswahl, die auf dem Dashboard angezeigt wird
- Automatische Datumsanpassung, sobald ein Ticketstatus auf geschlossen steht
- u.v.m.
Wer Redmine Scrumbler einsetzt kann von den Vorzügen Scrumblers hinsichtlich der Sprinteinhaltung profitieren. Es hilft den Teilnehmern dabei den Scrum Prozess besser einzuhalten:
- während des laufenden Sprints ist es nicht mehr möglich neue Aufgaben hinzuzufügen.
- es ist nicht möglich mehrere Sprints innerhalb eines Projekts als “offen” zu markieren.
Was das Scrumbler Plugin nicht kann
Folgende Punkte werden vom Scrumbler Plugin aktuell nicht optimal unterstützt.
- es ist möglich dem Admin die Anweisung zu geben eine Iteration in der Entwicklung zu verlängern, weil man nicht fertig wurde. Ein Sachverhalt, der in der Regel bei Scrum nicht wünschenswert ist, weil man die Sprint-Länge normal während des laufenden Sprints nicht anpassen sollte. Denn nur wenn die sogenannte Timebox immer gleich lang ist, ist es möglich die Team-Kapazität möglichst genau zu bestimmen.
- es kann keine aggregierten Werte berechnen (z.B. wieviele Tickets einem Sprint zugeordnet wurden, wieviele Tickets einem bestimmten Benutzer in einem Sprint zugeordnet wurden, wieviele Stunden den Tickets zugeordnet wurden etc.)
Definition: In Scrum wird eine Iteration als Sprint bezeichnet. Es handelt sich hierbei um einen festgelegten Zeitrahmen von ein, zwei bis vier Wochen in denen agile Teams ein auslieferbares Produkt entwickeln.
Erste Schritte mit Scrumbler
Nach erfolgreicher Plugin Installation aktiviert der Projektmanager bzw. Redmine Administrator das Scrum Tool im jeweiligen Projekt über Konfiguration / Module. Es wird dann, wie im nachfolgenden Screenshot ersichtlich, ein neuer Reiter innerhalb eines Projekts namens Scrumbler angezeigt.
Sprintintervalle festlegen
Über einen Klick auf den Scrumbler-Reiter gelangt man in die Dashboard-Ansicht. Die ist in der Regel erst einmal leer. Damit hier etwas angezeigt wird, legen Sie im Bereich Konfiguration / Versionen über den Link Neue Version in klar abgegrenzten zeitlichen Intervallen, die einzelnen Sprints für den Entwicklungsprozess fest.
Hinweis: Das erstmalige Anlegen der einzelnen Sprints erfolgt stets in diesem Bereich. Weitere Konfigurationen, die mit dem Scrumbler Plugin kommen und den Sprint betreffen, finden dann in den Sprint-Einstellungen des Scrumbler Dashboards statt.
Backlog Tickets einem Sprint zuordnen
Hat man die Sprintintervalle fest gelegt und geht über den Scrumbler Reiter zurück ins Dashboard wird man noch nicht viel mehr Neues erkennen können. Über einen Klick auf den Link Backlog bekommt man eine Übersicht zu den bisher angelegten Tickets. Die sollten nun (falls noch nicht geschehen) dem jeweiligen Sprint zugeordnet werden.
Die Sprintauswahl für die Ticketzuordnung erfolgt über die Dropdown-Liste im rechten Bereich. Wurde der entsprechende Sprint für eine Aufgabe ausgewählt, zieht man aus dem Backlog das gewünschte Ticket mittels Drag & Drop vom linken Backlog-Bereich in den rechten Bereich (siehe nachfolgende Abbildung). Die Zuordnung zu einem bestimmten Sprint kann nur erfolgen, wie eingangs erwähnt, solange der entsprechende Sprint noch nicht begonnen hat. Ein bereits aktiver Sprint würde hier nicht mehr zur Auswahl bereit stehen. Deswegen ist es wichtig, dass vor der Sprint-Aktivierung noch einmal eine Kontrolle der zugeordneten Tickets erfolgt.
Scrum Points: Im Ticket ist es möglich sogenannte Scrum Points für eine Aufgabe zu vergeben. Diese hat nichts mit einer zeitlichen Schätzung (Stundenangabe) zu tun. Sie dient lediglich dazu dem Team eine Einschätzung zu geben, wie schwer eine einzelne Aufgabe wirklich ist. Wieviele Points insgesamt in einem Sprint anfallen, wird im Backlog Dashboard ebenfalls angezeigt, insofern diese Angabe im Ticket verwendet wurde. Zusätzlich findet man die Angabe der Scrum Points auch im Burndown Chart wieder.
Die Kontrolle, welche Tickets einem Sprint zugeordent wurden, kann man entweder gleich im Backlog-Bereich durchführen, oder man geht vom Backlog-Bereich über Scrumbler / Alle Sprints zurück auf die Dashboardansicht. Auch dort erhält man eine Übersicht aller Tickets, die dem jeweiligen Sprint aus der Dropdown-Auswahl zugeordnet sind.
Sprint öffnen
Ist man mit der Ticketzuordnung fertig, öffnet man einen Sprint indem man auf den in obiger Abbildung ersichtlichen Link Sprint-Einstellungen klickt. Im Konfigurationsbereich des entsprechenden Sprints findet man den Reiter Allgemein. Hier ändert man den Status Planung auf die Option Offen um den Sprint zu aktivieren bzw. zu beginnen. Zusätzlich kontrolliert man noch den Beginn und das Enddatum. Die Anpassungen werden gespeichert und über den Link Zur Sprintansicht gelangt man zurück zum Scrumbler Dashboard.
Neu angelegte Sprints haben generell den Status Planung. Solange sie in diesem Status sind, ist die Zuordnung von Tickets aus dem Backlog möglich. Ändert sich der Status zu Offen, hat ein Sprint begonnen und es können keine weiteren Tickets hinzugefügt werden.
Ab sofort ist eine Ticketzuordnung zu einem geöffneten Sprint nicht mehr möglich. Auch wenn der Sprint beim Anlegen eines Tickets unter Zielversion noch zur Auswahl bereit steht. Der Ersteller erhält beim sichern den Hinweis: Das Ticket kann nur mit Sprints im Status Planung verknüpft werden.
Burndown Chart
Sofort nachdem ein Sprint geöffnet wurde, gibt das Scrumbler Dashboard den Statistiken Link neben den Sprint-Einstellungen aus. Hierüber gelangen Sie zum Burndown Chart. Der Burndown Chart erfasst in der Regel optisch das Vorankommen des Teams innerhalb eines Sprints. Hier sind die Fortschritte anhand der Kurve gut ersichtlich. Vorausgesetzt das Scrum Team aktualisiert täglich seine Aufwände.
Neben dem idealen Verlauf (rote Linie) wird stets der tatsächliche Verlauf (blaue Linie der geschätzten Arbeiten) grafisch ausgegeben. In der Regel wird sich der Projektverlauf nie konkret an die ideale rote Linie halten, sondern sich immer darum herum bewegen. Die x-Achse stellt den Zeitverlauf dar, die y-Achse die Anzahl nicht erledigter Tickets. Der Chart an sich sagt nur etwas über die Abarbeitung der einzelnen Aufgaben im aktuellen (offenen) Sprint aus.
Damit der Burndown Chart funktioniert, werden jedoch zwei Dinge vorausgesetzt:
- Es ist eine Aufwandsschätzung notwendig.
- Die Team-Mitglieder müssen die Disziplin mitbringen diese regelmäßig (täglich) anzupassen.
Vielen, in Scrum noch unerfahrenen Teams, missfällt die Art der Kontrolle. Dabei handelt es sich lediglich um ein Hilfsmittel und eine bewährte Methode festzustellen, wo das Projekt steht und wo eventuell Probleme ersichtlich sind. Nur so ist ein zeitnahes Reagieren auf die aktuelle Situation möglich.
Vorteile des Burndown Charts:
- Ein Burndown Chart dient nicht zur Kontrolle des Teams, sondern stellt ein Hilfsmittel dar um Terminprobleme rechtzeitig feststellen zu können.
- Er visualisiert ALLEN Beteiligten die Fortschritte.
- Er gibt Aufschluss über die Velocity (tatsächliche Entwicklungsgeschwindigkeit des Teams - Urlaub, Krankheit und ähnliche Ereignisse eingerechnet).
Die tägliche Anpassung der Tickets nach getaner Arbeit durch das Scrum Team ist also eine Grundvoraussetzung für einen funktionierenden Burndown Chart.
Sprint schließen
Ist der definierte Sprintintervall vorbei, wird der entsprechende Sprint geschlossen. Hierzu klicken Sie im Scrumbler Dashboard auf den Link Sprint-Einstellungen und wählen im Reiterbereich Allgemein den Status Abgeschlossen aus.
Wurden alle gestellten Aufgaben vom Team erledigt, wird der Schließvorgang ohne Zwischenfälle von statten gehen. Sind jedoch noch offene Tickets dem Sprint zugeordnet, erhält der Administrator / Projektmanager einen Warnhinweis.
In diesem Fall muss man sich entscheiden was mit den offenen Tickets passieren soll. Zwei Optionen sind möglich:
- Ins Backlog verschieben
- Alle Tickets im Sprint schließen
Weiter geht es mit der Planung, Kontrolle und dem Start des nachfolgenden Sprints.
Fazit
Das Scrumbler Plugin ist nicht nur für verteilte Entwicklerteams eine Stütze um Scrum im Projekt einzuführen. Anstelle von Karten und dem klassischen Whiteboard kann jedes Team mit Hilfe von Scrumbler auf ein virtuelles Dashboard umsatteln. Wer sowieso schon Redmine als Projektmanagement Tool einsetzt und der agilen Projektentwicklung eine Form geben will, schafft hierzu mit Redmine Scrumbler eine gute Basis.
Auf unserer Themenseite gibt es weitere Informationen zur Agilen Produktentwicklung.