When building software, it's usually best to perform steps in the development cycle one-by-one rather than in a parallel fashion. This prevents duplicate work and enables you to catch issues and errors early on. Kanban and its alternative techniques can simplify this process (particularly in agile and DevOps development) because they represent task and workflow management using an easy-to-understand visual flagging technique.
Transparently tracking work permits team members to monitor the status of each task whenever necessary. One of the best things about Kanban is that it provides low barriers to mass adoption because of its easy-to-understand task states: To Do, Doing, and Done.
The Basic Kanban Framework
The Kanban approach in general utilizes physical or computerized boards that show the activity of all team members. The basics of Kanban board are as follows:
- Tasks in the queue are represented by cards or sticky notes.
- Each step in process is represented by a vertical path or section. These segments can be given the standard labels of "To Do", "Doing", or "Done", or they can be more explicit as per your cycle.
- To show that a task has advanced from a prior phase into a later phase, cards are moved from left to right.
Why Kanban Boards Are Useful
Kanban provides teams with a visual tool for staying aligned and focused. Kanban boards can help establish a habitat where data streams openly and is accessible to each member. This approach gives more coordinated and coherent visibility into key information so that teams know which changes to make in order to maximize efficiency.
Traditional management techniques rely on prescriptive workflows that unilaterally determine bandwidth and deadlines for team members. Kanban, however, works on the principle of a pull system. It manages tasks in a work-in-progress state where tasks are only pulled in when teams have the bandwidth to work on them. This promotes flexibility within teams without overburdening them.
When to Use Kanban Systems
Below are a few conditions under which using Kanban technology is most appropriate. Using Kanban in other scenarios may be more challenging – for instance, you may need to build additional security measures into your process to forestall issues.
- Regular Customer Demand: If your client makes requests in a sporadic manner, then it becomes difficult to keep the Kanban pipeline moving along predictably. Tasks may cluster in certain parts of the pipeline and create undesirable delivery patterns.
- Low Product Variation: Each Kanban board relies on a set of organizational assumptions about what's being delivered. Changing your focus frequently can disrupt established norms around how work is performed and tracked, reducing the value provided by your existing Kanban process.
- Smooth Flow: Organizing your workflow is an essential practice in Kanban. Rather than processing all similar tasks a time which is difficult to handle in Kanban, it is more beneficial to arrange tasks in a constantly flowing line.
- Simple and Reliable Processes: Kanban can run on its own quite nicely when process aren't constantly undergoing modification.
Just because you don't meet these conditions does not mean that you can't implement Kanban. These are just the optimal conditions for utilizing a Kanban system.
Various Kanban Systems
Kanban systems have a tremendous ability to adapt to various industries. You can modify them according to your project/organization requirements and customize them for several roles.
The most common Kanban systems are categorized as:
1. Production Kanban
This is the most basic type of Kanban system. It starts with a requisite list of tasks and a production card for each task the team needs to work on. Production Kanban provides production staff with the quantitative and qualitative data about tasks that are needed to be performed.
2. Withdrawal Kanban
This Kanban type is alternatively referred to as "conveyance Kanban." The basic idea behind withdrawal is the transmission of tasks from one domain to another. While working on a project, the discrete parts (either physical or digital) need to be implemented by different teams located in different sections. For this reason, teams use withdrawal cards to alarm others when a tasks is finalized and ready to move to next section. This enables teams to simultaneously get ready for new work and flag the previous section to send in more work.
3. Supplier Kanban
This uncommon type involves a supplier as part of the process. The supplier is given a supplier card to fetch a specific part that is needed in the production line. A supplier is defined as any individual or company.
4. Emergency Kanban
This system alarms previous teams in line about broken or defective items and the urgency of the needed fix. Emergency cards are used to notify team members about the nature of each defect so they don’t create similar issues in their stage of production.
5. Express Kanban
Express Kanban is similar to emergency Kanban, but unlike emergency Kanban, it sends signals about the scarcity of a resource. Emergency cards are circulated in case a supplier is low on inventory and production requires a halt due to an unanticipated shortage. In some cases, production may stop completely until the required material is delivered, both in industrial and software development.
6. Through Kanban
In simple terms, through Kanban is a joined production and withdrawal card. It saves the effort to send cards back and forth between two production points that work together. It speeds up production because similar production lines are adjacent to each other.
Bin systems utilize a similar approach to Kanban. However, each container in which cards are placed acts as a Kanban itself.
This system's functionality works in a very basic way, as two bins containing specific items are placed in row, and when one's stock runs out, another bin is pulled forward. The emptied bin is then placed in a line with items expecting a restock. This method ensures that the supplies never runs out.
Similarly, a 3-bin system links different departments or production lines. A bin acts as a signal: when the company becomes deficient in an item, it refills its store of items from a second bin that is dedicated to storage. The storage unit then sends its empty bin to the supplier to be refilled. This three-step process involves company, store, and supplier in a loop to ensure fast and continuous production.
Teams can theoretically scale their bin systems to whatever number they need, although they will eventually reach a level of complexity that would be better served by multiple smaller frameworks rather than a single n-bin system.
CONWIP is a pull-based alternative to Kanban and stands for COnstant Work In Progress. It is very simple to implement, as only a single set of cards is used to manage tasks as they advance through the system.
- Step 1: First, an individual part is associated with one card and entered into the framework.
- Step 2: When implementation of this part is complete, this part leaves its card and exits the work station.
- Step 3: The cleared card is then transferred back to its initial work station and a new part is linked to this card.
This alternative is a good approach for when you want to maintain a much lower WIP total than in Kanban systems.
E-ban and Fax Ban Systems
This electronic term specifies those Kanban systems that are primarily managed via hardware rather than software. Barcode scanners and electronic machines can make it possible to put in place your own paperless Kanban.
This system is mostly set up to track physical production between suppliers and organizations. Every message, card, and signal is transmitted electronically and saves time that can then be used for physical transfer.
High-Profile Kanban Implementations
“Stop starting and start finishing” is a common saying within the Kanban community, and the outcome-oriented approach of agile development has gained widespread acceptance in the past decade. Below are a few highly visible organizations that have made use of Kanban principles to scale their operations:
- Spotify: Scalability was the main problem at Spotify. They used Kanban to manage their workflow and found that their DevOps team became more effective. One Operation Engineer at Spotify commented, “Our lead times are shorter now, and we get more internal tasks done, and departments are happier.”
- VMWare: Teams at VMWare use a “Ready” column to represent their "to do" or "new" tasks. Kanban enables them to identify likely blockages and prioritize tasks to keep work flowing.
- Volvo Group: Once teams at Volvo IT were trained in Kanban, bottlenecks were handled more effectively and teams became better at prioritizing tasks. Anders Jonsson was a Volvo product manager until 2014, and he stated that “Work progressed in a good way, productivity goals were reached, capacity planning became really easy and visible.”
- Autotrader: Teams at Autotrader used Kanban to make four standard columns and a sub-column before the Done column. This helped in optimizing their work process. The CTO stated that he was able to clearly view demand and departments.
It's important to take into account that Kanban is not a management framework – i.e., it does not tell you how to plan or develop software. Instead, it enables your workflow within that framework to proceed smoothly. Whether you're using Agile, waterfall, spiral, or another approach, you can integrate Kanban principles and it will improve your production pipeline's speed and efficiency.
If you're looking to build a custom app on a short timeline, Crowdbotics provides managed app development services from vetted project managers. Crowdbotics PMs utilize an incremental Kanban approach to project management and are ready to work with you to deliver your app on your required timeline. Get in touch with us today for a detailed quote and delivery plan.