Kanban is a simple Agile "best practice" method, that focuses on creating a continuous workflow - and ongoing value for the customer. Its aim is to visualize and improve any software development process. The end result
is a development pipeline, that is predictably and efficiently delivering high value work.
It has been estimated, that in 2012 more than 80% of all software development processes were utilizing Agile methods, like Kanban. This article will give you a basic understanding of Kanban in software development processes.
Core principles for Kanban in software development
Kanban method has three basic principles, that everyone should follow in order to achieve an improvement
in a software development team's performance.
Visualization gives you a shared overview of your process, and thus helps to identify and resolve any workflow problems. Moreover, it simplifies collaboration between people and across different project teams. A common practice for that, is to have a board, on which specific work phases are visualized. The simplest Kanban board for software development team consists of 3 columns: Backlog, In Progress and Done.
This is perhaps the principle most closely identified with Kanban. The idea of Work In Progress limits is to try ensure, that you never start or complete a task, that cannot be passed smoothly onto the next stage, without blocking up the entire workflow. You can limit the amount of work in progress per stage, person or work item type.
Measure Lead Time
After implementing Kanban, you need to control and optimize your workflow. The important metric for you is the lead time - the average time it takes tasks to get from specified start point, to the specified end state. For example, you can measure how much time it takes to perform steps in development, defect management, and resolving support issues. By identifying and eliminating bottlenecks, you can easily shorten "lead time".
The tool that helps to accurately measure lead time is the Lead and Cycle Time Diagram. The better you become
at measuring lead time, the better you will be at calculating delivery time.
Kanban board examples for software development teams
A Kanban board is a flexible tool, that can be adapted to any team requirements. Below are presented three examples of different board designs.
Example 1: A basic board
This Kanban board has a really simple structure, that is based on Personal Kanban foundations. Such a board
is useful for very small teams, or start-ups operating in one room.
Example 2: Advanced Kanban board for software development processes
The example below presents a professional Kanban board for a software development team. The board has been divided into stages corresponding to the classical flow of tasks in a software development process.
Example 3: Heijunka board
This is a special kind of a Kanban board. It is often used by game developers, in sequential development process. Its characteristics are a parallel execution of work, and a predictable way of task completion, ensuring that no team member starves for work in current flow of tasks. Typically, the columns reflect each single step of the design process.
Tools for applying Kanban in software development
Today, majority of companies prefer a web-based application for everything, because of flexibility and frequent updates. Therefore, it is no surprise that online Kanban boards are so popular.
Kanban Tool is a well-known, professional Kanban software with wide range of features. It is easy to learn and customize using Board and Card Editor and Power-Ups. Kanban Tool provides support for real-time collaboration and insightful analytics, including: Cumulative Flow and Lead and Cycle Time diagrams. Kanban Tool offers a free trial on all types of accounts.