A kanban board is an agile project management tool that is designed to help teams visualize their work and maximize efficiency (or flow).
Every kanban board uses cards as tasks, columns to represent statuses or workflow, and follows a continuous improvement process to help software teams commit to get the work done on time without compromising on the quality!
What is a Kanban Board?
Kanban Board comes from a lean method called Kanban that is designed to improve process. It requires open communication and transparency. It allows every member to view the status of the work, contextualize, and prioritize them.
Kanban’s main principle is to visually track every item of work through the entire process. This applies to software or any other item of work that has to move through various stages to completion.
All of this is achieved by using a Kanban Board.
The concept of Kanban boards traces its origin back to the 1940s when Toyota introduced it on the factory floor. Toyota automotive realized that their production lines were a lot less efficient when compared to their American counterparts. The aim behind introducing Kanban method of production was to control inventory and improve the speed of delivery while maintaining the highest standards of production quality.
While the concept of Kanban was initially successful on the production line, it slowly started to make its way into software development.
Kanban Boards for Software Development
In the late 90s and early 2000s, there was a paradigm change happening in software development circles. People began to realise that the traditional top-down approach to building and shipping software was highly inefficient.
There was a new focus of incremental delivery and quick customer validation. The days of having large, perfectly scoped projects was coming to an end.
This is how the concept of Kanban slowly found its way to software development teams. The focus was now on agility and getting features out quickly to be market-tested and validated.
While Kanban is a widely adopted method for agile software development, it still retains its core principles of being a process improvement methodology. Kanban principles has continued to be used in all kinds of processes outside software development.
Physical Kanban Boards
Nearly every team is introduced to kanban to track work through a physical board with stick-it notes representing tasks.
Its biggest advantage is it’s always on, it’s simple to setup, and promotes face-to-face collaboration. Although many of us prefer to collaborate online, you’ve got admit, tapping on your colleague’s shoulder and sharing a piece of information is far easier!
This is great for your team as you begin to understand how you and your team really work. These conversations can prove to be great early on as it can help your team to rapidly improve your workflow and ship better software together.
However, this isn’t sustainable. As teams get larger and workflows get more complex, it makes sense to move away from physical boards to project management tools that support Kanban boards.
Digital Kanban Boards
Software development teams are increasingly moving to online kanban software tools for a variety of benefits.
- It is easy to add context through attachments and detailed descriptions. This is very important for technical projects where detailed specifications are a must.
- Integrations to other tools (GitHub, Zeppelin, Slack, etc.) are available at the click of a button.
- Remote collaboration is possible.
- Metrics are automatically captured and reports are generated in real-time.
- Handling a large number of cards, editing them and modifying workflows are much easier on online kanban board tools.
- Risk of data loss is almost zero.
The most basic Kanban process can be implemented on a board containing just 3 columns: “to do”, “doing”, and “done”.
All the items of work (usually user stories) are initially in the “to do” column. As work gets picked up and worked on by team members, the respective cards are moved column to column till they reach the completed state.
The most important aspect of this way of working is that the visibility of tasks is greatly improved. Important decisions regarding work progress and improvements in processes can be made without being in the dark.
The basic principles of Kanban can be applied to more complex processes by creating more columns on the board. There are best practices to be followed to ensure that the right columns are chosen. This is crucial as having too many or too few columns can disrupt the overall workflow and cause artificial bottlenecks. Here are a few with more complex workflows modelled into the board.
Kanban Board Template
Development Board Template
This is the most often used kanban board template among software teams. It has “Todo”, “In progress”, “Review”, and “Done” columns.
- The “Todo” column has all the work that have not yet started.
- The “In Progress” column has all the items that the development team has picked up and have begun working.
- The “Review” column is used for when the work is going through a review. For developers, this is when a pull request is being reviewed.
- The last column is “Done”. Items are moved to the “Done” column when the work item is shipped to production.
Bug Board Template
The bug board is one of simplest kanban board templates that’s used often among software development teams. It’s primarily used to track bugs and fix them, so users can have a smooth experience.
- The “Todo” column has a list of all the bugs that have not yet been picked by the team.
- Items in the “Fixing” column indicates that they are being worked on and are currently in progress.
- The “Testing” column is used to indicate that items that were being fixed from the “Fixing” column are fixed and the team is testing it to make sure there are no other issues.
- The last column is “Ready for deploy”. When bugs are moved to this column it means that the bugs have been fixed, tested, and are ready to be pushed to production for customers to use. Some teams, depending on their workflow, may prefer to have a “Ready for staging” column as well.
Design Board Template
The design board is primarily has five columns:
- PM Review
- Ready for Development
- The backlog column is used to house all the work items that have not been started by the design team.
- The wireframing column is used to communicate that the design team is working on an initial wireframe.
- Once wireframing/prototyping is done, the work item is moved to the “Copy” column for copywriters to write the interface copy.
- After the design team is satisfied with the wireframe and copy, it is passed to the product manager for a review. At this point, the item is moved to “PM Review” column.
- If everything looks good and the team is satisfied, the work item is moved to the last column called “Ready for development”. Some teams prefer to have a column before this to indicate that the product manager is preparing feature specifications.
Kanban Board vs Scrum Board
The difference between a Kanban Board and a Scrum Board is very subtle and lies primarily in how the team functions together. Let's look at their differences in detail:
Both scrum and kanban are popular agile framework. If you're interested to know about their difference, you should read this in-depth article covering the differences between kanban vs scrum.
In the next chapter we discuss what a Kanban card is and the different parts of a Kanban card.