Architecture Kata „Kanban Board“
Entwickle ein Softwaresystem, mit dem verteilte Teams an einem Kanban Board gemeinsam arbeiten können.
Ein Kanban Board besteht aus einer Anzahl festzulegender Spalten, z.B. ready, doing, done. Die konkrete Struktur des Boards wird in der Datei board.config definiert, die weiter unten gezeigt wird.
In jeder Spalte können sich Aufgaben befinden. Optional kann zu einer Spalte ein sogenanntes WIP Limit definiert werden. WIP steht für Work In Progress. Ist in einer Spalte ein WIP Limit definiert, wird die Spaltenüberschrift beim Überschreiten des Limits andersfarbig dargestellt.
In der Abbildung ist für die Spalte doing ein WIP Limit von 3 definiert. Werden hier mehr als 3 Zettel abgelegt, wird die Überschrift hervorgehoben.
Eingesetzt werden neue Aufgaben nur in der ersten Spalte. Eine neue Aufgabe wird beim Hinzufügen jeweils unten an bestehende Aufgaben angefügt. Um eine neue Aufgabe hinzuzufügen, gibt man den Text in der mehrzeiligen Textbox ein und betätigt anschließend die Create Schaltfläche. Dadurch wird eine neue Aufgabe erstellt und an die bestehenden Aufgaben in der ersten Spalte angehängt.
Um eine bestehende Aufgabe zu ändern, selektiert man sie zunächst durch Anklicken. Dadurch wird der Text der Aufgabe in der mehrzeiligen Textbox angezeigt. Dort ändert man den Text und betätigt zum Abschluss die Update Schaltfläche. Nach der Selektion einer Aufgabe kann diese ferner mit der Delete Schaltfläche gelöscht werden.
Aufgaben können mit Hilfe der Pfeilbuttons bewegt werden:
- rechts/links in eine andere Spalte
- oben/unten innerhalb einer Spalte
Die Aufgaben behalten beim rechts/links verschieben möglichst ihre vertikal Position. Ggf. werden Aufgaben in der Zielspalte nach unten geschoben, um Platz zu machen.
Das Kanban Board kann an verschiedenen Rechnern (über Standorte verteilt) gleichzeitig geöffnet sein. Veränderungen auf einem Rechner werden sofort auf allen anderen Rechnern angezeigt.
Die Datei board.config definiert den Aufbau des Boards. Jede Spalte des Boards wird in einer Zeile der Datei definiert. Die Zeile muss mindestens den Namen der Spalte enthalten. Optional kann ein WIP Limit angegeben werden. Dazu wird der Wert nach einem Semikolon hinter dem Spaltennamen definiert. Das folgende Listing zeigt die Datei für das oben abgebildete Board.
ready doing;3 done
Variation #1
Es ist eine Anmeldung erforderlich, um auf das Kanban Board zugreifen zu können. Die Anmeldung erfolgt nach einer Registrierung mit Emailadresse und Passwort.
Variation #2
Zu jeder Aufgabe können weitere Angaben erfasst werden, wie bspw. das Erstellungsdatum oder der verantwortliche Mitarbeiter.
Variation #3
Board-Mitglieder können sich über Veränderungen am Board per Push-Notifikation auf ihrem Smartphone informieren lassen. Die Notifikation enthält eine Beschreibung der Veränderung, z.B. „Melanie hat Aufgabe ‚Passwort verschlüsseln’ nach Spalte ‚In Progress’ gezogen.“
In einer ersten Ausbaustufe kann die Notifikation per Email stattfinden.