Architecture Kata "Kanban Board"

Develop a software system that allows distributed teams to work on a Kanban Board can work together.

A Kanban board consists of a number of columns to be defined, e.g. ready, doing, done. The actual structure of the board is defined in the board.config which is shown below.

Each column can contain tasks. Optionally, a so-called WIP limit can be defined. WIP stands for Work In Progress. If a WIP limit is defined in a column, the column heading is displayed in a different color when the limit is exceeded.

In the illustration, the column doing a WIP limit of 3 is defined. If more than 3 slips are placed here, the heading is highlighted.

New tasks are only inserted in the first column. When a new task is added, it is always added to the bottom of existing tasks. To add a new task, enter the text in the multi-line text box and then press the Create button. This creates a new task and appends it to the existing tasks in the first column.

To change an existing task, first select it by clicking on it. The text of the task is then displayed in the multi-line text box. Change the text there and then press the Update button. Once a task has been selected, it can also be selected with the Delete button can be deleted.

Tasks can be moved using the arrow buttons:

  • right/left to another column
  • top/bottom within a column

The tasks retain their vertical position as far as possible when moving right/left. If necessary, tasks are moved down in the target column to make room.

The Kanban Board can be open on different computers (distributed across locations) at the same time. Changes on one computer are immediately displayed on all other computers.

The file board.config defines the structure of the board. Each column of the board is defined in a line of the file. The line must contain at least the name of the column. Optionally, a WIP limit can be specified. To do this, the value is defined after a semicolon following the column name. The following listing shows the file for the board shown above.

ready
doing;3
done

Variation #1

A login is required to access the Kanban Board. You can log in after registering with an email address and password.

Variation #2

Additional information can be entered for each task, such as the creation date or the employee responsible.

Variation #3

Board members can be notified of changes to the board via push notification on their smartphone. The notification contains a description of the change, e.g. "Melanie has moved the 'Encrypt password' task to the 'In progress' column."

In a first expansion stage, notification can take place by email.

en_USEnglish