What is Kanban?
A Kanban is a visual tool used by teams to organize the workflow of projects. The basic premise is to create a board for a project and sort the associated tasks into three columns: To do, work in progress (WIP), and done. Initially used by Toyota in 1938, Kanban allows team members to check for quick project status updates and dig into more detail if needed.
Using a Kanban is one way we practice Agile at Binary Noggin. If you’re new to Kanban thinking, from a non-software background, or just need a refresher, these best practices are good to keep in mind.
1. Always pull from the right
How do you know what part of a project to work on next? A well-maintained Kanban maximizes efficiency by allowing the team to find the next steps at any given moment. Always begin with the task card at the top of the furthest right column. This task has the most momentum and needs to be accomplished next for the project to move forward. Is that task blocked? Can you help unblock it? If this isn’t a task you can help with, work your way down the columns, moving from right to left, until you find a job you can start on.
But how do you know the top right card is the most important task in the queue? Foundational to implementing a successful Kanban board are planning meetings, during which the team decides, “What does it make the most sense for us to work on next?” Teams then determine their workflow through collaborative discussions.
First, they evaluate what’s on the board and the status. The further right on the board a card is, the more valuable it is—and the more costly it is to abandon because work, time, and money have already been invested. Discussions also consider deadlines, team capacity, and what can be split or abandoned. Agreed-upon tasks are documented on cards and prioritized on the board, with the most critical items at the top of each column.
Once the board is set for the week, cards move across it from the left to the right. When moving cards between columns, grab the top card of the old column and move it to the bottom of the new one. (The top card in “To do” becomes the bottom card in the “Work in Progress” column when you start to work on it.) If the board has been set up well and is actively maintained, team members should always know what task they can work on next.
2. Write one-point tickets
The point of using a Kanban is to visually document your workflow by breaking a project down into its smallest possible pieces. When putting cards on the board, you want every card you write to contain one actionable task.
For example, let’s say you want to bake a cake. You need to assemble the ingredients, preheat the oven, mix in the dry ingredients, bake it, and frost it. In this example, “Assemble ingredients” isn’t a one-point card because multiple steps are involved in completing the task. You’re much better off writing cards that read, “Buy milk” or “Measure flour.”
Breaking existing cards into smaller parts is called “splitting the ticket,” and it’s wise to do this whenever possible. Focusing on small bite-sized chunks makes seemingly overwhelming endeavors doable. It also provides a clear sense of what needs to happen next to build momentum, and mapping out the details means tasks are less likely to get skipped. (Do you need to melt the butter before you can add it to the cake mix?) Plus, you get happy neurochemicals firing in your brain every time you move a card, giving you a sense of satisfaction and accomplishment.
At Binary Noggin, a frequently heard phrase is “there are only three types of cards: One point, too big, and who knows?!” Focusing on one-point cards is a little habit that can significantly increase team productivity.
3. Attach supporting documentation to cards
Maintaining a Kanban is a quick, visual method for checking the status of a project. Good Kanban software should allow you to upload artifacts such as code samples, docs, and screenshots. Take advantage of the upload feature! The more information you can put on the cards, the more time it saves the team. Rather than digging around in folders and drives or waiting to be granted access, the information you need should be on the card. Visually and transparently sharing information also reduces miscommunication and eliminates excessive emails and instant messages.
4. If you need a response from someone, tag them by name on the card
This in-house rule has worked well for us as a team. If something is important t for a specific person to see, we tag them, and they’re prompted with a reminder email.
5. Check the boards you’re part of at least once a day
At Binary Noggin, everyone on staff is expected to check the admin board. Sometimes, that one-off five-minute task you forgot to do can block someone else’s workflow. Checking boards for projects you’re part of – even if you don’t contribute regularly – is a best practice as a matter of courtesy. It also helps prevent knowledge silos, builds goodwill, and keeps us feeling connected as a team.
6. Remember to move cards!
For maximum impact, update Kanbans in real-time. You should always move cards as you’re working on them and when they’re complete. Again, this is a little thing that makes a big difference. Not only does it show consideration for your teammates (so they don’t waste time grabbing a completed card), but moving cards also provides motivation. And for teams that are big on metrics (which good Kanban software should offer), the number of cards moved is a good indicator of team productivity—and not moving completed cards can impact metrics. Finally, failing to move cards leaves the board less accurate and counteracts one of the reasons teams use Kanban boards in the first place.
7. Leave progress reports and updates on the cards
It’s essential to know the history when trying to complete tasks, in order to reduce duplicated effort. If you document as you go, there’s an easy trail of information to follow, so other team members won't waste time trying solutions that have already failed. If you block a card, leave a note detailing the exact nature of the delay. Falling behind schedule? Leave a message to alert your teammates so they can adjust their workflows. Another benefit of frequent, precise, and real-time documentation is you won't be interrupted later by people wanting status updates. Faithfully updating cards can serve as a welcome alternative to status update meetings, micromanagement, and poking people.
8. Keep your WIP limit low
The number of cards allowed to be in the “Work in Progress” column at any given time is a team’s WIP limit. This number varies from team to team, but the guiding principle is to keep your WIP limit low. That way, people focus on finishing the task at hand rather than spreading their energy too thin, resulting in a bunch of half-completed tickets. A WIP limit can also reveal bottlenecks on project flows. For example, if engineering consistently writes more features than front-end designers can keep up with, that’s a sign something needs to be adjusted.
9. Don't make changes without talking to your team
Part of being a good teammate means honoring your commitments. Workflows agreed upon in planning meetings are collaborative decisions with group buy-in behind them. Cherry-picking cards to work on or adding things haphazardly to the board creates confusion and friction rather than helping build momentum.
If something on the board is no longer relevant, a ticket needs splitting, or you think the priority of tasks has changed, communicate with your teammates before going off-script.
10. We serve the board, not the other way around
The Kanban methodology has specific rules for a reason. At the same time, rigidly adhering to procedures that are no longer serving the team isn’t Agile. Sometimes a new feature needs prioritizing, or the plan for the week needs changing. The trick is to figure out what your team needs at the moment and adjust your workflow accordingly. Kanban is a powerful tool, but ultimately the board should be optimized to serve the humans who use it. Prioritization and changes can happen at any point in time, but need to be communicated if work has already started.
If you want to learn more about the Kanban process, the Get Kanban game provides an excellent interactive overview. The game is also a perfect way to review the fundamentals of the software development process and works as a team-building exercise. But be forewarned: It’s a time commitment! You can order a copy of the game here.
Carolyn Tragasz is the former administrative assistant at Binary Noggin. She has a degree in liberal studies from Park University and uses her organizational communication skills to manage day-to-day logistics and facilitate team-building exercises.
Founded in 2007, Binary Noggin is a team of software engineers and architects who serve as a trusted extension of your team, helping your company succeed through collaboration. We forge customizable solutions using Agile methodologies and our mastery of Elixir, Ruby and other open source technologies. Share your ideas with us on Facebook and Twitter.