Kanban Board

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. ToDo, In Dev, In Test, Done.

In jeder Spalte befinden sich Aufgaben bis zu einer spaltenindividuellen maximalen Anzahl (Work-In-Progress (WIP) Limit).

Eingesetzt werden Aufgaben nur in der ersten Spalte. Von dort an können sie nach rechts in die jeweils nächste Spalte gezogen werden – natürlich nur, wenn da gem. WIP-Limit noch Platz ist.

Je Spalte sind Aufgaben einem Teammitglied zugeordnet. Solange noch keine Zuordnung stattgefunden hat, können Aufgaben [1] auch wieder in die vorhergehende Spalte zurückgeschoben werden. Sobald ihnen in einer Spalte jedoch ein Teammitglied zugeordnet ist, sind sie dort zur Bearbeitung angekommen. Anschließend können sie nur eine Spalte weiter nach rechts gezogen werden.

Teammitglieder werden pro Board verwaltet mit Name, Email-Adresse und Passwort. Wer ein Board öffnet, meldet sich mit Email-Adresse und Passwort an.

Es gibt drei Rollen:

  • Admins dürfen alles
  • Mitarbeiter dürfen Aufgaben nur für sich verschieben
  • Leser dürfen das Board nur betrachten.

Boards können an verschiedenen Rechnern (über Standorte verteilt) gleichzeitig geöffnet sein. Veränderungen auf einem Rechner werden sofort auf allen anderen angezeigt.

Variation #1

Zu jeder Aufgabe können Notizen erfasst werden, die Text, Erstellungsdatum und Autor haben.

Variation #2

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. „Board ‚Benutzerverwaltungsmodul’: Melanie hat Aufgabe ‚Passwort verschlüsseln’ nach Spalte ‚In Progress’ gezogen.“

In einer ersten Ausbaustufe kann die Notifikation per Email stattfinden.


[1] Aufgaben enthalten einen Text und für jede Spalte ein Datum, wann sie dort hingezogen wurden. Außerdem kann man für Aufgaben Farben wählen. Diese Angaben können nach erster Zuordnung eines Teammitglieds nicht mehr verändert werden.