Over the last few years, the popularity of Kanban has steadily grown. First being implemented in car manufacturing, Kanban has won spurs of the software development world as well. Recently, it started getting recognized by business units across various areas.
What Is Kanban?
Kanban is a widespread work framework originating from TPS (Toyota Production System) developed by Kiichiro Toyoda, the founder of Toyota Motor Corporation. It was not until the 1940’s when Toyota introduced a new manufacturing method to their production called Just-in-Time concept. It was based on customer demand instead of producing goods and then pushing them to the market.
The following concept gave rise to Lean Manufacturing (or simply Lean). The main goal of Lean is to create more value without generating more costs. Thus, it allows for getting rid of wasteful activities without any decrease in productivity.
From Japanese, Kanban is translated as a signboard or a visual system. According to Kanban, all necessary components or stages of work are managed through the cards placed on the board. The simplest board has three columns – “To Do”, “Doing”, and “Done”.
In 2007, a new version of Kanban (the one we’re using today) came on the market. It was developed by David J. Anderson, Jim Benson, and Corey Ladas.
Read Also: Agile and DevOps: Friends or Foes?
Key Principles of Kanban
David J. Anderson (a pioneer in the field of Kanban) has worked out Kanban as an approach to a phase-gate process and system for work organizations. It focuses on getting things done and the most vital principles can be broken down into four key principles.
- Do What You Do, Right Now. Thanks to the unmatched flexibility of Kanban, you don’t have to disrupt what is already being done. You can add new tasks to existing workflows, processes, and systems. Kanban will pay your attention to the issues you have to do and plan any project changes without disrupting the existing workflow. Moreover, implementation of Kanban is a step-by-step process. In case, you’d like to switch to Kanban, there won’t be any difficulties and your employees won’t get shocked.
- Agree to Pursue Incremental Changes. Kanban takes advantage of continuous step-by-step changes to the current process. Actually, it was designed to meet minimal resistance, Kanban discourages sweeping changes because they evoke resistance that is hard to fight.
- Respect the Current Workflow. Kanban admits the existing workflows, tasks as well as processes. Moreover, these processes have value and are worth preserving according to Kanban. While implementing Kanban, you don’t have to build workflows or processes from scratch. It encourages step-by-step logical changes. The concept of “Flow” stands at the core of Kanban. This means that the cards should flow through the system (from “To do” to “Done”) as evenly as possible. And everything that burdens the flow should be critically checked.
- Leadership at All Levels. It’s one of the newest principles. The principle says that the best leaders come from everyday actions. It’s vital that each team member encourages continuous improvements. Thus, a top manager cannot build as effective a process as people doing the job.
Kanban for Software Development
Kanban and its core principles can find its place in any industry and software development is no exception. It’s gaining traction as a way to smooth implement Lean and Agile management methods in lots of industries. Let’s take a look at how Kanban improves the workflow of software development teams.
In general, Kanban allows teams to be more flexible and stay focused on the daily tasks. Along with flexibility and a clear focus, the framework ensures superb transparency throughout the development cycle.
Read Also: Scrum as a Part of Agile Methodology.
The work of all Kanban teams revolves around a Kanban board, a particular tool used to visualize work and optimize the flow. Some teams prefer physical boards, but virtual boards become useful for Agile teams. Digital boards have lots of add-ins to analyze and increase efficiency. Moreover, developers have all the information right at their disposal while using cloud-based Kanban boards.
Regardless of its type, the core function of a board is to visualize the work and streamline the flow. A basic Kanban board has a three-step workflow:
However, the workflow can be adjusted to the needs, size, structure, and objective of a team. You can add or remove any section from the board to meet your unique process.
At IDAP, we have worked out our own Kanban board tailored to our software development teams. It features three stages (with so-called sub-stages).
You may also be interested in How We Work.
Every work item is represented as a separate card on the board for Kanban teams. Cards help visualize the work and plan tasks for the near future. As a rule, Kanban cards feature essential information about the particular work item and give the full team full visibility into who is responsible for this or that task.
You can add to cards any information including pictures, links, screenshots, and other technical details valuable to the assignee.
Read Also: Kanban vs. Scrum. Which One Is Better?
Kanban is more than just sticky notes on the board. It’s a useful work management system with visualization at its core. Visualizing workflows, setting work limits, managing flow, and continuous improvement can take your process far beyond what you think would be.
When applied to software development, Kanban streamlines and visualizes the workflow of every development team. It makes the workflow transparent for everyone including clients, product owners, project managers, developers, designers, and marketing specialists.