Leichtgewichtige Projektmanagement-Methoden setzen sich offenbar auch in der Software-Entwicklung durch. Die Firma Arago stellte vor Kurzem die Webanwendung Rike unter eine Open-Source-Lizenz. Das Tool beruht auf dem Kanban-Prinzip und empfiehlt sich beim Planen von Programmierprojekten.
Projektleiter in der IT empfinden klassische Planungsmodelle oft als zu schwerfällig, sie stehen einem guten Management eher im Weg, als es zu fördern. Interessant, dass mit Kanban (siehe Kasten “Kanban”) ein Prozess aus der industriellen Fertigungs- und Materialflussplanung seinen Weg in die Software-Entwicklung gefunden hat. Ursprünglich dient die Methode vor allem der Serienfertigung, eignet sich aber nach den Anpassungen des Programmierers David J. Anderson auch für die softwaretypische Anfertigung von Einzelstücken.
Kanban
Als Methode zum Steuern von Produktionsabläufen liegen die Wurzeln von Kanban (Japanisch für Karte, Beleg) im industriellen Fertigungsprozess. Ende der 1940er Jahre stand Taiichi Ohno, der Erfinder des Toyota-Produktionssystems, vor der Aufgabe, die Produktivität beim Automobilhersteller zu verbessern. Eine seiner zentralen Ideen war die Abkehr von der klassischen Fertigungssteuerung, die den Materialfluss bis runter zur letzten Schraube möglichst genau plant. An ihre Stelle tritt ein bedarfsgesteuerter Prozess, bei dem jede Fertigungsstufe über einen eigenen Puffer verfügt und Material nur bei Bedarf zur Bearbeitung anfordert.
Der Programmierer David J. Anderson entwickelte auf dieser Basis einen Kanban-Prozess für die Entwicklung von Software [3]. 2007 stellte er das Konzept der Öffentlichkeit vor. Der leichtgewichtige Entwicklungsprozess setzt auf eigenverantwortliche Mitarbeiter und permanente Prozessverbesserung. Eine Reihe von Kernpraktiken regelt das Zusammenspiel der Projektmitarbeiter. Dreh- und Angelpunkt bildet das Kanban-Board. Auf ihm kann das Team jederzeit sehen, welche Tasks anstehen und wer an welcher Baustelle arbeitet.
Das Board besitzt drei Spalten für die Zustände »Zu Bearbeiten« , »In Bearbeitung« und »Fertiggestellt« . Jede Aufgabe hat einen Zettel. Sobald ein Mitarbeiter freie Kapazitäten hat, holt er sich eine Task aus der ersten Abteilung und verschiebt den Zettel von »Zu Bearbeiten« nach »In Bearbeitung« . Nach getaner Arbeit landen die Zettel im Bereich »Fertiggestellt« . Um die Durchlaufzeiten und die Menge der angefangenen Prozesse zu reduzieren, ist die Menge der gleichzeitig bearbeiteten Aufgaben beschränkt. Kenngrößen wie Warteschlangenlänge, Durchlaufzeiten und so weiter messen und steuern permanent den Arbeitsfluss. Regeln sind für alle sichtbar, regelmäßige Feedback-Runden des gesamten Teams sorgen für kontinuierliche Verbesserung.
Kanban gehört wie Scrum [4] zu den agilen Projektmanagement-Methoden. Wichtigster Unterschied zwischen den beiden Vorgehensmodellen ist der vorgegebene, konstante Produktionstakt (Sprint-Dauer) bei Scrum, während Kanban einen kontinuierlichen Durchlauf anstrebt. Beiden gemeinsam ist das Streben nach möglichst großer Transparenz und kontinuierlicher Prozessverbesserung.
Kanban richtet sich an Entwickler mit Gestaltungswillen. Statt die Aufgaben vom allmächtigen Projektleiter entgegenzunehmen, entscheiden hier die Programmierer selbst, welchen Arbeitsschritt sie als Nächstes angehen. Der Frankfurter IT-Automatisierungsexperte Arago [1] entwickelt seit 2010 ein Projektmanagement-Tool, das auf dem Kanban-Prinzip aufbaut und gleichzeitig Elemente anderer agiler Methoden berücksichtigt. Rike [2] steht seit August 2012 unter einer Open-Lizenz kostenlos zum Download bereit.
Alles im Fluss
Die Webanwendung Rike dient als zentrale Verteilstation, bei der die Teammitglieder selbst Aufgaben kreieren und sich selbst welche aussuchen können (Pull-Prinzip) und jederzeit einen Überblick über den Projektzustand erhalten. Das gesamte Projektgeschehen bildet Rike mit lediglich vier verschiedenen Objekten ab. Das sind im Einzelnen die Artefakte, Meilensteine, Releases und Aufgaben.
Ein Artefakt bezeichnet den zu produzierenden Gegenstand wie etwa ein Modul zur Nutzerverwaltung. Mehrere Meilensteine, zum Beispiel Spezifikation, Implementation oder Dokumentation, liegen auf dem Weg zur Fertigstellung eines Artefakts. Sie werden erreicht, nachdem eine entsprechende Aufgabe bearbeitet wurde. Releases mit Lieferdatum markieren die Zwischenstände (siehe Abbildung 1).
Das Kernobjekt ist die Aufgabe. Außer einem Namen enthält sie Angaben über Artefakt und Meilensteine. Außerdem hat sie einen bestimmten Lebenszyklus. Nach dem Anlegen einer Aufgabe bewertet der Nutzer ihren Schwierigkeitsgrad und ihre Dringlichkeit. Danach stehen die Aufgaben zum Bearbeiten bereit, jeder Mitarbeiter darf sich eine aussuchen und mit der Arbeit beginnen. Dabei ist er auf maximal drei Aufgaben gleichzeitig beschränkt. Außerdem darf er sich mit selbst erstellten Aufgaben frühestens 24 Stunden nach dem Anlegen befassen.
Rike hat nicht den Anspruch, das komplette Projekt abzubilden, also auch Informationen wie Anforderungs- oder Architekturdokumente sowie Issues aus einem Bugtracker anzuzeigen. Stattdessen bieten Aufgabe, Artefakt und Meilenstein ein URL-Attribut, das auf Informationen in bereits bestehenden Systemen verweist. Beginnt ein Projekt bei null, stellt das bei der Implementation verwendete Portalframework Liferay [5] ein Wiki bereit, das wichtige Informationen aufnimmt.
Die Webanwendung erlaubt schnellen Zugriff auf verschiedene Ansichten, um Objekte zu erzeugen beziehungsweise deren Projektstatus und Durchsatz anzuzeigen. Dank des Java-Frameworks Liferay (Abbildung 2) dürfen Nutzer die Elemente frei anordnen und mit anderen Liferay-Portlets wie etwa dem Wiki-System kombinieren. An die Stelle des Kanban-Boards tritt »All Tasks« , das mit seinen Filtermöglichkeiten einen Überblick über die Aufgaben in ihren unterschiedlichen Zuständen verschafft. »Dependencies« zeigt die zum Erreichen eines bestimmten Meilensteins notwendigen Aufgaben an. Zudem dürfen Anwender hier nach dem Maximieren über das Icon mit dem Doppelpfeil Abhängigkeiten zwischen den Aufgaben definieren. »Task Status« und »Burndown« geben weitere Informationen zum Projekt preis (Abbildung 3).

Abbildung 3: Rikes ansprechende Weboberfläche führt Anwender schnell zu den wichtigsten Funktionen. Die einzelnen Ansichten dürfen Nutzer nach ihren Wünschen anordnen.
Rike liegt noch nicht als fertiges Paket für die Distributionen vor, Anwender kompilieren die Software aus den Quellen. Sie steht unter der MIT-Lizenz, das heißt, Benutzer dürfen sie für alle Arbeiten kostenlos verwenden und erweitern, wenn die Original-Copyright-Hinweise erhalten bleiben. Im Hintergrund setzt Rike auf die Standardkomponenten Java, MySQL, Maven und Graphviz. Zusätzlich benötigt das Programm Liferay.
In Fahrt
Bei der Installation folgen Anwender am besten der Anleitung im Github-Repository und lesen dort vor allem die beiden Dokumente »Compile and Deploy« und »Configure Liferay afterwards« . Besonders wichtig ist der Schritt »Configure the new Page« aus Letzterem, denn die Layout-Grundeinstellung von Liferay überlagert mit dem linken Menü den eigentlichen Inhalt und macht Rike unbenutzbar. Im Zweifelsfall hilft es, die Webseite im Browser etwas zu zoomen, damit das Auswählen des Layouts klappt.
Wer noch kein Dokumentenverwaltungs-System nutzt, der sollte gleich das Wiki-System in Liferay mit installieren. Ähnlich wie beim Einrichten des Frameworks für Rike geht das über »Add Page« | »Add Portlet« | »Wiki« . Nach dem Einloggen des Test-Users (Benutzername: »test@liferay.com« , Passwort: »test« ) sollten Anwender über das Control Panel einen oder mehrere richtige Accounts einrichten und das Demokonto deaktivieren.
Work in Progress
Rike steht erst am Anfang seiner Entwicklung und zeigt noch einige Macken. Vor allem die Dokumentation erscheint verbesserungswürdig und könnte mit ausführlicheren Informationen den Einstieg in die praktische Arbeit erleichtern. Auch der Workflow ist nicht immer hilfreich. Wer etwa einen Fehler im Projekt findet und in Rike einträgt, der muss 24 Stunden warten, bis er ihn bearbeiten darf. Wer mit diesen Kinderkrankheiten leben kann, der bekommt mit Rike und Liferay ein gutes Team zur Seite und ein praktisches Projektmanagement-Werkzeug für den Browser.
Infos
- Arago: http://www.arago.de
- Rike: https://github.com/arago/rike
- Kanban: http://limitedwipsociety.ning.com
- Scrum: http://www.scrum.org
- Liferay: http://www.liferay.com







