Master the Fundamentals of Kanban
As you saw in the previous chapter, Kanban is a methodology that improves output by reducing flow through a system. Typically, the output increases when fewer items are worked on simultaneously, although the right amount of work in progress (WIP) will vary for each team and system. Kanban helps you find the right workflow and WIP limits by giving you data to influence your system design.
Kanban limits WIP and uses a highly visual board to allow team members to observe how items move through their workflow. This method has become popular over the last decade or so, although it originates in the 1950s. The modern use of Kanban in technology started around 2004.
Although much of the remainder of this course will cover the Scrum framework, it is valuable to look at Kanban and understand the differences between it and Scrum.
Discover The Toyota Story
Toyota is known for their just-in-time low-waste production methods
In the 1940s, Toyota researched improving their factory and found inspiration from an unlikely source: supermarkets!
In a supermarket, customers take a product from the shelves and buy it when they need it (not before and not after). When an item is almost out of stock, the supermarket employees order more. This is a "just-in-time" way of keeping the right amount of products on the shelves. Rather than ordering a large quantity of one particular product, supermarkets tend to order smaller amounts and reorder when stocks are low. Thus, Kanban reduces waste and inefficiency by not having too much product.
Toyota engineers applied a visual management system by using cards on a bulletin board to show the steps in their manufacturing process. Because the system was displayed visually, the engineers could communicate more effectively on what work needed to be done and when. With the goal of reducing waste (in this case, items of partially completed inventory in the system waiting to move down the production line), the engineers would plan their work, so each step of production was applied just-in-time for each item in the factory.
Around 2003, people such as Mary and Tom Poppendieck, David Anderson, Jim Benson, and others began publishing books about applying lean principles based on the Toyota system to other fields, including software development. This created a modern application of Kanban in the software development field. Today, many different frameworks based on Kanban principles have similar but different components and definitions.
Identify the Key Elements of Kanban
There are six key elements in Kanban:
Limit work in progress Rather than working on 20 features at the same time, it is better to focus on starting, finishing, and releasing a smaller number (say five). With fewer items, you spend less time producing them. You can finish quicker than when you focus on a large number of items simultaneously. The time from beginning a feature, or a task, to its completion, is reduced and customers see value sooner. Manage flow Flow is the concept of moving items quickly through the system. Teams manage their flow by tracking how long an item spends in each possible status (how long it is waiting to be tested, how long before someone starts work on it, etc.). Reducing these times becomes a team goal. Feedback loops - Taking time to reflect on what is working and considering improvements is vital in Kanban. Improve/evolve - Continuous improvement is a core concept in Kanban. A culture of running experiments and trying to improve and evolve is essential. Visualize The team is empowered to make effective decisions when the work is visible using a board that shows the status, bottlenecks, and system limits. Explicit policies - You can't improve something that you don't understand. Any policy that relates to status updates enables the team to effectively decide if a given task is suitable to be worked on and when the status has changed.
Below is a visualized image of the Kanban framework. Note that all of the individual elements must be taken into account to achieve the centralized goal.
Later in this course, we will look at a definition of done (DoD), an artifact in Scrum that defines the standards, especially those around quality. The Scrum Team uses it to describe the state of the increment to raise the transparency of work to be released to customers. The DoD is an example of an explicit policy.
Use a Kanban Board
Perhaps the most important factor in Kanban's effectiveness is that all work items and their statuses are shown on a board.
Kanban is a Japanese word that means billboard or signboard.
You can check the status of an item by seeing which column it's in. Teams decide which columns make sense for their workflow. Therefore, a Kanban board can vary from team to team.
When the status of an item changes, a team member will move it into another column. For example, if you decided to work on an item called "New login button," then you would move its card from the "To-Do" column to the "In Progress" column.
At the very least, you can expect a column/status for:
Tasks "To-Do" (i.e., not started) Tasks that are "Ready to Test"
A Kanban board
Note that limits are shown in red circles above certain columns. For example, a 3 above the To- Do column indicates that only three items can be in that particular section at one time. The In Progress column is limited to two items.
You may be thinking to yourself: "Surely output will suffer, and the team will deliver less if there are only two items in progress at one time compared to a 10-item limit." Sometimes a team member may want to pick up another item and not be able to. However, rather than slowing the team down, this team member could ask, "How can I help with completing this item?" They also may look to move an item somewhere else on the board (e.g., instead of moving an item from To-Do into In Progress, perhaps that same team member can test a ready item and hopefully move it from Test into Done). Every team member should be actively trying to help work flow through the system. This means that they are focused on moving items across the board from left (Not Started) to right (Done).
Craft your Personal Kanban Boards
Another application of Kanban is to manage your personal to-do list.
To-do lists are a set of tasks with different statuses (those you have to do, those you are currently working on, and those that are completed).
I use Trello to manage my list of personal tasks. To give you an idea of what that looks like, you can see an example in the screenshot below.
A personal Kanban board (created in Trello)
Trello is a communication tool that organizes projects into boards. The benefit of working this way is that you can see at a glance what is being worked on by whom.
A Trello board is a list of lists - where each list contains a set of items (called cards). This YouTube explains the functionality of Trello and its benefits .
Trello allows you to create lists that appear horizontally from left to right. Adding new cards is like adding items. New cards appear vertically, one beneath another from top to bottom.
Lists often represent status and are updated by dragging an individual card from one to another. For example, imagine if you had a to-do list, items that were in progress, and a list of items that were done. In Trello, you would drag a given card from the In Progress to the Done list to indicate the change in status for this work item.
The below diagram is simple visualization of the process. Each tile labeled CARD can potentially be moved either left or right to suit your project.
The structure of Trello
Author Jim Benson has written a on personal Kanban. The nice thing about having one is that it allows you to start applying Kanban principles in a helpful way. The following link will illustrate these principles so you can apply them within a professional situation. Additional Resources The following two links provide you with books and resources that you will be required to create an account and/or purchase the digital downloads. • Visit Julia Wester's on Prezi. • Download the Essential Kanban Condensed . • This article will enable you to investigate the key aspects of Kanban and how to apply it to your daily job. Here is a to personal Kanban on Life Hacker.
Kanban is a framework or strategy that optimizes the flow of value through a system. Optimization may be defined as a workflow that is effective, efficient, and predictable. One way it does this is by limiting the amount of WIP for the system, which creates a pull model. Kanban has six key elements:
The Kanban board is important to visualize work status and understand what work to prioritize next. Let's get some practice using Kanban in the next chapter!