As a developer, you understand the importance of efficiency better than anyone — and finding a project management methodology that works for you can make all the difference. That’s why today, we’re bringing you a step-by-step guide to using Kanban cards in software development.
What is Kanban?
The Kanban method is a work management framework invented by an industrial engineer named Taiichi Ohno in the 1950s. Ohno, who worked at Toyota, witnessed the supply-and-demand restocking process at the supermarket chain Piggly Wiggly and applied the same “just-in-time” principles to develop the Toyota Production System. With the goal of simplifying the manufacturing processes of their car factory, Ohno created Kanban cards that served as visual reminders — just like the empty grocery store shelves at Piggly Wiggly — that there were bins of auto parts in need of refilling.
Today, Kanban has expanded from a manufacturing process into a popular Agile methodology. By using cards to represent project tasks and moving those cards through columns representing stages of completion, Kanban teams can simplify their workflow and gain a visual understanding of the development process.
But how do Kanban cards compare to other software development project management methodologies? While Scrum may be more common, Kanban takes a different approach to the same goal: creating high-quality software as efficiently as possible. Here’s a quick breakdown of the key differences:
- Kanban uses iterations, allowing ample opportunity to incorporate feedback without throwing off timelines. However, unlike in Scrum, these iterations are not time-boxed. Instead, Kanban cards move through stages continuously and don’t require fixed timing for any given Issue.
- Unlike Scrum, Kanban doesn’t place any limits on roles or responsibilities, allowing for more adaptability on teams.
- Kanban limits work-in-progress, requiring teams to work with a narrow focus to improve quality.
The demand-driven system of Kanban creates clear stages of completion and ensures no task is moved to the next column until it is ready for the next phase of delivery. This generates better visualization of workflow and processes, enabling teams to more effectively identify inefficiencies.
Now that we’ve explained the basics of Kanban cards, let’s get practical: what are the steps to using a Kanban card in Agile methodology?
Using Kanban cards in Agile Methodology
While the basic Kanban board categories are “To Do,” “Doing” and “Done,” Agile project managers would likely want to expand these categories to suit their unique purposes. For instance, consider these sample workflows:
Backlog > Design > Development > Test > Done To-do > Plan > Develop > Test > Deploy > Done
Each Kanban card placed on the board represents one facet of project development and needs to include key project information, such as title, description, owner, labels, due date and current stage of the workflow. While this information may change as the card moves across the board, having crucial details gathered in one place allows teams to work more efficiently and easily identify opportunities for collaboration. This minimizes wasted time and improves communication.
The process of creating a Kanban card is even more streamlined through digital project management platforms. For instance, when you create a GitHub Issue in ZenHub, it automatically transforms into a Kanban card and moves to the furthest left column, unless otherwise specified.
How do you estimate work for a Kanban card?
In order to grasp the full time frame for a project — both for the awareness of your team and to provide an estimate to a customer — Kanban teams estimate with story points. A story point sizes each task in comparison with other tasks, which allows you to measure the complexity of an Issue without becoming bogged down in specific timelines.
However, keep in mind that individual developers might handle complexity differently. For instance, while a task given a “2” story point may take one developer one hour to complete, it could take another developer several more hours. That’s why story points are best estimated with your team as a whole and recorded directly on the Kanban card for easy reference.
How long does a Kanban card take to complete?
One of the biggest benefits of Kanban is the ability to identify inefficiencies and adjust accordingly. Thanks to two reporting features in ZenHub, tracking the length of time it takes to complete a Kanban card is easier than ever. With Cumulative Flow Diagrams and Control Point Charts, you can measure how long an Issue spent in each stage of the project. With concrete data on cycle-time and lead-time, Kanban teams can gain valuable insight into their workflow and identify potential blockers that are holding up progress.
Getting started with Kanban cards
As with all software development project management methodologies, the trick is to find what system works best for you and your team. However, given the flexibility and adaptability of Kanban, along with the ease of implementing it within a digital platform like ZenHub, there’s no better time to give it a try.