Kanban for Software Development: 5 Tips to Optimize Workflow
What Is Kanban?
Kanban is a highly visual, lean Agile development method. It helps teams improve workflow in real-time and complete more work, seamlessly. Kanban is a Japanese term for “card.”
How do you say “Kanban”? While the term is pronounced in nuanced ways, the most commonly accepted American English pronunciation is “kahn-bahn”.
Kanban’s Automotive Origins
The Kanban process was initially developed by car manufacturer Toyota in the 1940s. Inspired by the lean methods practiced by supermarkets — where grocers only ordered more of an item when it was near selling out — the Toyota team re-appropriated the concept for automobile production.
By matching inventory with demand, the Kanban system helped Toyota achieve higher quality and throughput. In fact, Toyota nearly managed to outcompete the entire American automotive industry. That is, until those companies adopted the same principles.
Today, Kanban has spread beyond Japan (and manufacturing, too). It’s used by teams all over the world to complete more work in less time, with a focus on customer value.
Kanban for Software Development
Kanban has been widely embraced by many lean-minded software development teams. The success is due in part to the Kanban board (see below), which makes the otherwise abstract, invisible work of product development more visual and tangible for everyone. Since most software today is developed by geographically distributed teams, many visualize their workflows with the help of an .
4 Principles of Kanban
The Kanban methodology is guided by four key principles.
Principle #1 – Visualize Workflow
A picture is worth a thousand words. When development becomes visual, you improve communication, collaboration, and problem-solving.
Principle #2 – Limit Work in Progress
Do less multitasking to get more done. Instead of aiming to maximize resource optimization, aim to deliver maximum value — end-to-end — by managing queue sizes.
Principle #3 – Focus on Flow
Pull work through the pipeline. Don't start new work until something is completed. Instead of focusing one skill, one department, one silo at a time — focus on streamlining end-to-end delivery and all the steps between.
Principle #4 – Continuous Improvement
Nothing is ever completely finished. Keep looking for ways to improve. Identify the sources of waste in your workflows.
Why Use Kanban in Product Development?
Development teams use Kanban because it provides a simple visual method to improve productivity, reduce development overhead costs, and speed time to market.
Kanban is easy-to-use. Compared to other methods, such as scrum, Kanban can have a relatively frictionless learning curve for any cross-functional team. There are no defined roles or artifacts. To begin, all you need is a board and some cards. Start by visualizing the process you already have. From there, it’s up to you.
Kanban improves teamwork. A Kanban board is an artifact shared by the entire team. Since it’s visual, any team member may notice deficiencies or room for improvement.
Kanban is market-flexible. With Kanban, you typically have less long-term planning locked-in. So when business needs change, you’re able to shift, adjust, and adapt quickly to new realities.
Kanban reduces overhead costs. By focusing on delivering just-in-time, and by optimizing throughput with existing resources, Kanban helps reduce wasteful overhead costs.
Kanban improves productivity. Kanban brings focus to continuous delivery. By constantly reducing the effects of bottlenecks, and continuously looking for improvement, Kanban helps teams become more productive.
Kanban Board — To Visualize Process Steps
Kanban teamwork centers on the Kanban board — whether physical (on a wall) or virtual (in software). The main purpose of the board? To create a shared understanding of value flow. But the board does more than visualize workflow steps. It also highlights where in your process cards aggregate and turn into bottlenecks.
Kanban Cards — To Visualize Work Items
Every work item is visualized as a separate card placed on the Kanban board. The main purpose of the card is to give team members something to track as it moves throughout the workflow. This makes otherwise-invisible knowledge work visible and more tangible.
What goes on the card? Each Kanban card contains critical information about the work item it represents. For example, a card may include:
Who: The team member(s) responsible for it.
What: A brief description of the work (typically, Acceptance Criteria are in a separate attribute in the card details).
When: How long that work item is estimated to take.
Dependencies: Visibility into which other items this card depends upon (if any, fewer dependencies are better).
Attachments: Virtual boards often support images & other attachments with any additional information needed.
5 Kanban Tips to Optimize Workflow
Pull, Don't Push
What can you pull toward completion today? Contrary to how a typical Westerner reads a board (from left to right), a Kanban board is read from right to left. That’s because it is more valuable to complete work than to start work. When we complete work, we realize value. So, first check if something can be delivered. Then, see if there are both capacity and cards available to pull into the next column and replace the completed items. Always read from right to left. Don’t push cards from left to right.
Limit Work-in-Progress (WIP)
Bottlenecks are bad! Bottlenecks happen when we are working on too much at once. This is one of the most beautiful things about a Kanban board: instead of looking at a bottleneck as a local resource issue, you look at it from a global flow perspective. By applying Kanban you manage the bottleneck efficiently. Compare your workflow with a crowded highway. It’s much cheaper to create a steady flow of cars than to build more lanes. Start putting WIP limits on the columns with the most cards in them and see how that impacts throughput and cycle times (see next tip).
Measure Throughput, Lead Time, and Cycle Times
One of the amazing benefits of Kanban is that it can help you focus your work to get more done in the same amount of time. A good Kanban tool will help you measure this. Want to know how much work you’re completing over any given period of time? Measure throughput, the total amount of items completed. How long it takes for an item to go from request to deliver? Cycle Time. Time for an item to go from work started to finished? Lead time.
Go Beyond ‘To-Do”, “Doing”, “Done”
It’s common for beginners to use generic columns on their board: To Do, Doing, and Done. A real Kanban board, however, defines what steps actually add value in the process. (Example: “write automatic tests” adds clear value, but it adds no value to be “in progress”). So break away from such an elementary process. Your team, needs, and work are unique. Your processes should be unique, too. That is how you outcompete like Toyota did — by being smarter and faster as one team.
Workshop Your Flow
If your team is just beginning to use Kanban, have a workshop where you map out each of the steps of your existing workflow. Then, identify which steps actually add value. Know that just by doing this exercise and creating your board, you have taken the first step to successful Kanban! In the end, it will be easier to convince the team to use their board as the single source of truth for their work. If it’s not on the board, it’s not being worked on.
Bringing It All Together
Kanban is a simple Agile delivery method that can be great for product development teams. The key to success? Just get started. Learn by doing. With work visibility offered by a Kanban board, you’ll soon discover the efficiencies you and your team are capable of.
Looking for a Kanban Tool?
Try Hansoft. You can apply all these principles and more. Even better, Hansoft lets you combine Kanban with Scrum (Scrumban) or Gantt (Kanplan) — all in the same project.