Too much information kills information. — Proverb
The Kanban board was initially used to visualize the workflow of a production process but it can also be used for knowledge work like the software development process. A simple board can be implemented with sticky notes on a wall but it can also be implemented in software with tools like Kanbanery.
The objective of this post is to propose enhancements for the Kanban board that could potentially improve the user experience. The enhancements result from analyzing the properties of the board using principles from the Semiology of Graphics.
The information in a Kanban board consists of the work items assigned to a team for the duration of a sprint (or iteration). This complete and unchanging definition common to all data points is called the invariant. Each work item must at least specify a summary and status, but it can also specify a priority, owner, estimate, tag, etc. In turn, these variations between items are called the variables (or components).
A variable has a level of organization that is fundamental for reordering, comparing and grouping information. The level can be characterized as:
- Qualitative: Like the owner of a work item, it doesn’t have a universal order so it can be reordered arbitrarily for information processing purposes.
- Ordered: Like the status, it has a single order from open to closed to convey the progression of a work item.
- Quantitative: Like the estimate, it is possible to say that an item is estimated to take twice as long as another item.
The board is a two dimension plane containing a few geometric elements, each representing some information:
- A point indicates a position on the plane with no theoretical length or area, it can be the size of an avatar to represent the owner of a work item.
- A line has a start and end position with a measurable length but no area, it is primarily used to evaluate the number of work items under a status column.
- An area is composed of points linked by lines which delimit a part of the plane, it is used to represent individual work items capable of containing more information.
The values assigned to a variable are represented with images that reflect different levels of classification. The separation of values, like the different owners, can be expressed by:
- Color: Range of all color sensations which are not always perceived by everyone.
- Orientation: Hatching of lines varying in orientation from horizontal to vertical.
- Shape: Given the same surface, an image can have many different shapes.
The ordering of values, like some priorities being higher than others, by:
- Grain: Hatching of varying lines ranging from fine to coarse-grained.
- Value: Intermediate colors between black and white.
The quantity of values, like estimates in hours, by:
- Size: Height of a column, surface of a line or a quantity of equal images.
At the beginning of a sprint, work items are all open and appear under the left column of the Kanban board. This is the same effect as a degenerate binary tree where all the nodes form a linked list. For team members, as for computers, this is inefficient to choose the next item to work on.
An enhancement would be to move the open items to another board. Instead of using the status as columns, another variable could balance the items across multiple shorter columns. If the items are tagged, it might be more efficient to choose from a column with items of the same tag. The problem is that open items with a lower priority might be chosen from one column before other items with a higher priority in another column.
This could therefore be extended with areas ordered by priority spanning all tags, as illustrated on the right. The items from the highest priority area are clearly visible while keeping an overview of the remaining work items. Another problem is that fragmenting the board breaks the complete workflow which is core to understanding how the work proceeds.
The actual benefit depends on whether the gain of choosing work items more effectively outweighs the cost of breaking the workflow.
During the course of a sprint, more work items are closed and appear under the right column of the Kanban board. This gives the impression that the length of the column can be compared with the length of other columns to evaluate the amount of work completed so far. This might be misleading because the length is proportional to the number of work items rather than the hours of work.
An enhancement would be to change the representation of work items from punctual elements without a theoretical length to line elements with a length relative to the estimate. By adding these elements under the status column, the length becomes proportional to the total hours of work. The problem is that the estimate for the closed items might be different from the actual time spent which might affect completing the sprint on target.
This could be extended by moving the closed items to another board where the columns would be the relative difference between the estimate and the time spent, as illustrated on the right. The columns should look like an upside down normal distribution where skewness to the right indicates the sprint might not be completed on target. This suffers from the same problem as before of breaking the complete workflow.
Another enhancement might be to supplement the Kanban board with a burn down chart (or burn up chart). The benefit is that the chart is like a time series that displays the progress of the whole sprint whereas the Kanban board is more like a data map that only displays a snapshot of the current state.
This post proposed enhancements for a couple of areas in the Kanban board; open and closed work items. The enhancements sometimes solved problems only to be replaced by other problems. So, the benefit of their adoption actually depends on context.
The enhancements also attempted to extend the board with more variables which ultimately resulted in more boards. So, adding more variables doesn’t necessarily add more information; it might actually kill information.