What is Kanban
The Kanban system is a scheduling system for just-in time manufacturing and lean manufacturing. In Japanese, Kanban literally means billboard or signboard. A Toyota industrial engineer, Taichi Ohno, came up with Kanban to increase their manufacturing efficiency. The name was derived from the cards the factory used to track production. For those that work in the automotive sector, Kanban is referred to as “Toyota name plate system.” This is why other auto makers won’t use the term Kanban.
Kanban quickly became a tool that helped to support a production system, and a great way to promote improvement. The system finds problem areas by measuring cycle and lead times of the process and its steps. The biggest benefit of Kanban is that it creates upper limits to work in process inventory to prevent overcapacity.
One of the main goals of a Kanban system is to prevent the buildup of excess inventory at all areas of production. There are limits placed on the number of items that are waiting at supply points and then reduced once they identify inefficiencies and then removed. If a limit is ever exceeded, this identifies an inefficiency that needs to be taken care of.
The Kanban system originated from an extremely simply visual stock replenishment signaling system: an empty box. The UK Spitfire factories first developed this during the war, and they referred to it as the “two bin system.” Then, in the late ‘40s, Toyota began to look at supermarkets with the idea of using shelf-stocking techniques to their factory floor.
When it comes to grocery stores, customers will typically get what they need at the needed time. Furthermore, a grocery store will stock only the things it expects to sell during a specific time, and the customer will only take what they need because future supply is assured. Noticing this, Toyota started to view a process as a customer of one or more previous processes, and to look at the previous processes as a store.
Kanban works to align inventory levels with consumption. A signal will inform a supplier that they need to produce and deliver a new shipment once certain material has been consumed. The replenishment cycle with track these signals, which will bring visibility to the buyer, supplier, and consumer.
Kanban makes use of a rate of demand to help control the rate of production. This passes demand from the last customer up through the store processes. Toyota applied this new logic in 1953 to their main plant machine shop.
One of the main indicators of production scheduling success based on pushing is the ability of a demand-forecast to come up with such a push. By contrast, Kanban is part of an approach where you find pull from the demand, and the products are made to order. Production and re-supply will be figured out based on customer orders.
When it comes to supply time being lengthy and the demand is hard to figure out, the best that a person can do is to respond quickly to notice the demand. This is where a Kanban system excels, in that it becomes a demand signal that will immediately make its way through the supply chain. This will make sure that the intermediate stock that is in the supply chain are better managed, and are typically a lot smaller. When the supply response isn’t quick enough to meet the fluctuations of demand, which causes a possible lost sale, stock building may be considered appropriate, and then is reached by adding more Kanban to the system.
Taiichi Ohno explains that for a Kanban system to be effective, it has to follow strict rules. Toyota came up with a list of six rules, and they have to constantly monitor those rules, which will ensure that their Kanban system does exactly what it needs to.
The six rules that Toyota formulated for their Kanban application are:
- All processes will provide a request to its supplier as the supplies are consumed.
- All processes produce based upon the sequence and quantity of incoming requests.
- Nothing is ever made or transported without a request.
- The request that comes along with an item is always attached.
- Processes have to make sure that they don’t send out defective items to make sure that are products are defect-free.
- Limit the amount of pending requests ensures that the process is more sensitive and shows the inefficiencies.
Kanban cards are an important part of the Kanban system and they help to signal the need to move materials in a production facility, or to switch material from an outside supplier to the main production facility. This card is basically a message that shows the depletion of inventory, products, or parts. When this is received, the Kanban will trigger a replenishment of that certain inventory, product, or part. Consumption will then drive the demand for more production, and the card will signal the demand for products. This means that the Kanban cards will create a demand-driven system.
When it comes to the proponents of lean production, they have always believed that demand-driven systems will lead to lower inventory levels and quicker turnarounds. This ends up helping companies implement these types of systems to be more competitive.
Over the past few years, systems that use Kanban signals have become more popular. While this new trend is causing a reduction in the use of Kanban cards, it’s still a common use in modern lean production facilities to use cards. In different types of software systems, Kanban can be used to signal demand to suppliers by using email notifications. When a certain component has hit a lower amount that the number that was assigned to the card, it creates a “Kanban trigger,” which will trigger a purchase order with predefined quantities for the supplier. The supplier is then expected to fulfill this request within a specific time.
Kanban cards, while sticking to the main principles of Kanban, basically conveys the need for extra material. If there is a red card in an empty parts cart, then that means more parts are going to be needed.
A very simple example of a Kaban system is a “three-bin system” that is used for supplied parts, where there isn’t any in-house manufacturing. There is a bin located on the factory floor, which is the initial demand point. Another bin is in the factory store, which is the inventory control point. The last bin is located at the supplier. The bins have their own removable cards that contain product details and other important information; this is the classic Kanban card.
After the bin located on the factory floor has been emptied, since the parts in it were used during manufacturing, this bin and the Kanban card is sent to the factory floor. The factory store will replace the bin with the full bin that was originally in the factory store, which has its own Kanban card. Then the factory store will send the empty bin with its card to the supplier.
The supplier will then send its product bin, along with its own card, back to the factory store. The supplier now has the empty bin. This is the last step in a Kanban process, which means the process won’t run out of product. It can also be seen as a closed loop, in that it provides the exact product amount that is needed, with a single spare bin so you don’t have to worry about oversupply. The spare bin will allow for any uncertainties in supply, transport, and use. The best system will calculate just enough Kanban cards for every product. The majority of factories that use a Kanban system will use a colored board system known as a heijunka box.
Several manufacturers have started to use an electronic Kanban system. These will help to eliminate the common problems like lost cards and manual entry errors. Electronic systems are able to be used in enterprise resource planning systems, which will enable real0tin demand signals throughout the supply chain and improve the visibility. The date pulled from the electronic systems can be used to improve levels of inventory by tracking replenishment times and supplier leads.
Electronic Kanban works as a signaling system that uses a mix of technology to help trigger the movement of materials in production and manufacturing. This type of Kanban differs from the original in that it uses technology like barcodes instead of cards, and messages like emails.
Inventory is typically marked with barcodes, which a worker wills can at different stages of the process to signal usage. The scans will then send out messages to internal or external stores to make sure that products are restocked. The internet is often used as a method for routing messages to suppliers, and as a way to have real-time inventory vies.
Organizations like Bombardier Aerospace and Ford Motor Company have improved their processes using electronic Kanban systems. You can see widespread use of these systems from bolt on modules or single solutions to ERP systems.
Within a Kanban system, adjacent downstream and upstream workstations talk to each other through their cards, where all of the containers have an associated Kanban. An important part of this is Economic Order Quantity. The more popular types of Kanban systems are:
- Transportation Kanban – This Kanban authorizes the transportation of a full container to a workstation downstream. This is also carried on the containers that are connected to the transportation to travel throughout the loop again.
- Production Kanban – This Kanban, once received, authorizes a workstation to create a fixed number of products. The containers associated with it carry this Kanban.
Kanban and Software Development
You know how Kanban got started, and how it was meant to be used, now let’s look at how it can be helpful in software development. Let’s begin by looking at the differences in the planning process between different agile methodologies.
Differences between SCRUM and the Kanban methodology:
- Kanban contains no time boxes at all.
- Kanban methodology tasks are larger, and there are fewer tasks.
- It’s optional to use period assessments in Kanban, or there aren’t any at all.
- Kanban has no “speed of team.” They only have average time for full implementation.
Looking at this list, think about what will remain of the agile methodology if sprints are taken out, dimensions are increased, and you stop counting the speed of your team’s work. What remains? Nothing?
How would you be able to talk about any supervision over development if you get rid of all the major tools?
Managers like to think they have to be in control all of the time. Their supervision over the development process doesn’t exist. If a team isn’t interested in working, it is going to fail a project despite any control level.
If a team enjoys their work, and works will complete efficiency, then you don’t need control. The control will only disturb the process and up the cost.
For example, one of the most common problems with SCRUM is the higher costs because of discussions, meetings, and time lost at the joints of the sprints, which at the very least a day is used to complete a sprint, and another to begin another sprint. If you have a two week sprint, then two days out of those two weeks comes to 20%, which is a lot of wasted time. So when you use SCRUM methodology, around 30 to 40 percent of the time will be wasted on supporting the process, which includes daily rallies, sprint retrospectives, and on and on.
Kanban differs because it focuses on the task. When a team uses SCRUM, their main objective is successfully completing the sprint. Tasks take first place in the Kanban methodology. You don’t have sprints, and a single team works on a task from start to finish. Deployment will then be made when it is ready based on the presentation of the work that has been done. The Kanban team doesn’t estimate time to finish a task since it doesn’t make any sense, and it’s almost always wrong.
Why would a manager have to have a time estimate if they fully believe in their team’s ability? Their team will work off of a Kanban board, which we will talk more in depth about later. The columns, from left to right, on a board may contain information like:
- Goals – This is an optional column for a board. Goals that are high-level can be added here so that everybody on the team knows about it and is easily reminded of it. Some example goals could be “Add Windows 10 support” or “20% increase of work speed.”
- Story Queue – This is where all of the tasks that are ready to be started should be placed. The one with the highest priority is places at the top and is taken first. The card is then moved to the next column.
- Acceptance and Elaboration – This column along with all of the other columns before “Done” will vary based upon the workflow of certain teams. Tasks that are under discussion can be added here. Once you finish your discussion you can move the task to the next column.
- Development – This is where a task will remain until the development of the feature has been completed. Once you finish the task, it will be moved into the next column. If it turns out the architecture is uncertain or incorrect, you can move it back a column.
- Test – This is where a task lives when it is being tested. Once it has been successfully tested it is moved onto the next column. If any issues come up then the task should be shifted back to the development phase.
- Deployment – Every project will have its own deployment. This column could mean that you put a new version on the server, or you commit the code to the repository.
- Done – The card will move to this column once it has made it through every other section on the board, and it is completely finished.
When teams use Kanban for software development, work is pulled as capacity permits. Work is never pushed into the process. This system aids in the decision-making about how much, what, and when to produce something.
The organization of a Kanban board allows for a better understanding of the workflow. It reduces waste from multitasking and context switching, shows all of the operational problems, and helps with collaboration to improve the system.
The diagrams in this book show typical Kanban board sections for workflow. The board will vary considerably depending on the context in which they are used. The overall aim is to make the workflow and progress of individual items clear to the stakeholders and participants.
Some of the biggest companies use a Kanban system to improve their work. For example, Pixar’s creative process has been heavily influenced by a Kanban system.
The President of Pixar Animation, Ed Catmull, feels it is important that their animations be made in order. This means that every team passes the product, or idea, onto the following team who will push it further down the board.
They use high-level Kanban boards to make sure that this happens. The staff that is working on a production knows exactly what they are supposed to be doing, and how their work affects their colleagues.
Spotify has also started to use a Kanban system. When it came to the Kanban board, the operations team wanted to make it as easy as possible. They have three sections: to-do, doing, done.
Their board also has two horizontal lanes. All tangible tasks, like ‘upgrading data storage’ is placed here, while the other one is made up of intangible work like ‘designing databases’ and ‘planning a server migration.’
They switched to a Kanban system once they realized their workload was reactive instead of proactive. This meant that it struggled to find the time for planned projects.
They section their work into small, medium, or large. The small tasks will take a day, medium ones a few days, and large jobs take a week. Tasks that take longer than a week are called projects. They then split those projects up into small, medium, and large tasks. They can then place them into the backlog.
In the early 2000s, business leaders became interested in Kanban when it was mainly used by software developers to improve workflow. Today, it has started to be used across all disciplines to help teams optimize, visualize, and manage their work.
Even science backs up the benefits for Kanban. The brain is able to process visual information 60,000 times faster than words. By using the power of visual info, Kanban kicks understanding and communication into high gear.
Let’s look at the several benefits your team can reap from using Kanban.
The main idea behind Kanban is communicating using visual signals, the benefits of which span across job titles and industries. Since it is universally applicable, Kanban is able to be used by every team in a single company from marketing to engineering. The versatility of it makes it easy for team members and projects to move smoothly through different functions. For example, when you move your content project from editing to graphics, or you move a new feature from integration to testing.
- Continuous Improvement
An important principle of Kanban is that everybody needs to be focused on continuous improvement. With its visual system of project management, it’s a lot easier to review your processes and then make needed improvements that get rid of waste, reduce overhead, and streamline workflow.
Within the auto industry, where Kanban got its start, it created a better way to match inventory with the demand by only using processes when the inventory was low. When used in project management, responsiveness is still a huge benefit of Kanban. Kanban makes it easier to respond in a more agile way to business needs.
- Increased Output
Kanban helps teams to limit the amount of work they have in progress at any given time, which is called limiting “WIP”. By limiting WIP, it encourages teams to work with each other to move work across to the finish line by getting rid of distractions and multitasking as much as it can. This improvement in collaboration and intense focus will let teams get more done. With a more focused delivery, high-priority and high-value work items are expedited while delivering value to the business. Personal WIP limits help to relieve teams from overburdening because they are able to focus on a finite number work items. They only move onto to the next item in the input queue when the item that they were originally committed to is completely finished.
- Empowered Teams
The whole team is in control of the Kanban system, and they share responsibilities for finishing the work. Kanban helps to empower the team to make agile decisions that moves the project forward with efficiency and innovation. The typical silo-ed organizations that battle between product management and software delivery become more integrated in the development value stream. Kanban encourages synergy between groups, and helps to break down the walls between different specializations, which results in collaboration between functions. Work item transitions between columns on the board will offer opportunities for communication, collaboration, knowledge discovery, and involvement and engagement for all.
- A Perfect Product
With the increased focus on continued improvement and agile response to issues typically means that projects are seen through to the finish with fewer errors, and they require fewer reworks. This allows quality control to be added back into the project management process, which yields more accurate results. Look at it from a non-technical perspective, there are lots of activities that contribute to high quality software, like collaborative analysis and user documentation. Even within disciplined teams the collective behavior is controlled by rules. The policies will help to solidify the professional standards that are agreed with across the board, which includes software teams, product and project managers, and stakeholders.
- Business Value First
Kanban is positioned to be a decisions management framework, which makes it a lot more powerful than how it looks from an outsider’s view. It isn’t just some board hung up on the wall. It helps to promote economically-based decision making by managing and prioritizing work based on certain economic goals. Organizations are trying to survive in fiercely competitive environments. This means that we need to execute, identify, and prioritize the most valuable work so that the business can keep afloat and ahead of the competition.
An amazing thing about most organizations is the amount of work that happens under the parapet. One of the core practices of Kanban is to make invisible work, visible. By using Kanban boards as an information center, as well as its other merits, it offers a holistic view of process inefficiencies, blockers, impediments, bottlenecks, and progress at one glance. Information can be easily found by not only the team members, but to the external observers and stakeholders. This promotes a boundary-less flow of information across the entire organization.
- Reduces Wasteful Activities
The majority of project managers will focus most on the timeline instead of process queues. Timelines are a part of the manager’s psyche with Gantt charts, spreadsheets, and other time-bound documents. They don’t like to embrace uncertainty. With the reinforcement of WIP limits, a Kanban board turns into a pull-based system, which keeps a reliable amount of high-quality ideas that are delivered JIT, while getting rid of wasteful work and lower queues. Upstream activities like business cases, discovery workshops, and requirements gathering take place on-demand and when they have to be, which forces the team to make timely decisions.
Kanban systems help to manage your work at a sustainable, smooth, and humane pace, without any uncontrollable nadirs and distressing peaks, which only causes frustration, high employee turnover, and lack of commitment. A sustainable development brings about creativity, as WIP limits help to control the pace dynamically without fear of breaking a promise down the road. This allows for innovation, addresses issues in a new way, and comes up with solutions with fewer issues in quality.
Kanban and Lean
During the last 20 years Kanban, Scrum, Lean, and Agile have been steadily gaining in popularity in different industries and fields.
The Project Management Institute stated that 75% of organizations that were agile were able to meet their goals or business intent with 65% finishing on time, and 67% finishing on budget. This is higher than those organizations with low agility. In the same research study, agile organization’s revenue grew 37% faster and generated 330% more profits than non-agile companies.
Lean principles have also proven that they are effective. Thanks to using a lean approach, Dropbox was able to go from 100,000 registered users to more than four million in only 15 months. The Wealthfront company now manages more than 200 million dollars and process more than two million dollars in a given day. IMVU has managed to reach 50 million registered users, and now makes over $40 million annually.
While a lot of companies have started to implement or are leaning towards these methodologies, there are typically only a handful of people in the company who actually understand the entire process.
Other employees, especially when it comes to big companies with difficult communication, follow along with the rules without a lot of deep insight. This does not mean that they aren’t good at what they do, it might even be the opposite; they could be more focused on their functional tasks.
But while they aren’t aware of the basic principles, don’t share the corporate philosophy, aren’t ready to challenge another, or can’t see the difference between Scrum and Kanban, Agile and Lean, the company isn’t going to see any change in their productivity.
So how are these things different and similar? Let’s see.
In 2001 Agile was officially born from the Agile Manifesto to help improve productivity in software development, but it has started to expand to other areas. A project team that chooses to follow the 12 Agile principles are considered agile. Basically, agile is time-focused and an iterative philosophy that lets a team build a produce incrementally, and deliver it in small pieces. The biggest benefit is the ability to change and adapt at any point along the way depending on corporate obstacles, market conditions, feedback, and so on. They only supply relevant products to the market.
This is the reason why an agile company tends to be flexible, adapts to changes quickly, iterates less while they implement faster, and can seize new chances as they come up. It helps to provide them with a fast decision-making process by using a flexible organizational structure and basic communication. In 2015, research among 601 IT and development professionals show that agile is the main approach for management. And it is mainly used to enhance collaboration and improve software quality.
Lean, along with Kanban, got its start in the mid-‘50s in Japan within their automotive industry, and its main purpose was to reduce loss and create a sustainable production. Lean was adapted for use in software development in the 200s by Tom and Mary Poppendiecks who connected it to the seven initial Lean principles and agile philosophy.
Following along with expanding Lean to any industry, Eric Reis applied it to the startup industry in 2008 to help develop new services and products in times of uncertainty. In order for a startup to be considered Lean, they have to follow the five Lean principles created by Eric Reis.
The typical Lean company will follow a learn, measure, build cycle. They will do several tests, frequently connect with their customers, understand their value, and looks at its key processes to make continuously improvements. By using this never ending cycle, a startup will become sustainable, develop smartly, and have success. By lowering the high cost of trying to get the first customer and the even bigger cost of making the wrong product, and decreasing the technology development cycles, the Lean startup philosophy will help new ventures to launch products that their customers will actually be interested in. This is able to be done more quickly and at a lower cost than traditional methods, which makes startups less risky.
As an easily be seen, both Lean and Agile aim at achieving business goals and making their client happy with a product of the best quality. These, as well as, several other shared features between these mindsets, will typically lead people confusing the two. However, they work with different tasks and purposes, and that’s the reason why it is important to create a clear line between the two.
Agile and Lean aren’t methodologies. They are principles that create the basis for many different methodologies, so they are more of a mindset or philosophy.
Lean is a more wider known term than Agile because its smart approach improves all types of losses like energy, labor, and money. Jeff Sutherland also explains that Agile was created after Lean, so that means that they are closely related. Conceptually, Agile is actually a subset of Lean practices and principles, which are actually a subset of Systems Thinking.
This means that Kanban is a methodology. Kanban is a part of the Lean philosophy supported by the Japanese automotive industry. But the trick is you can still see Agile principles within the Kanban methodology.
When using a Kanban system you will have to come up with primary and secondary goals. These are things you will have to come up with on your own, but here are some things you should strive for.
- Primary Goal: Better performance with process improvements that are introduced with little resistance.
Your team is likely using Kanban because you believe that it will provide a better way to introduce change. Kanban is there to change as little as it has to, so that means change with very little resistance would be the first goal.
- Secondary Goal: Deliver with high quality.
As you know Kanban is able to help you deliver every element of the recipe for success. Kanban will help you to focus on the quality of your product by limiting work-in-progress. It will allow you to define policies around what you find acceptable before you can pull a work item to the next step. You can include quality criteria to these policies. For example, we could set a strict policy that you can’t pull user stories into test until the other tests have passed and their bugs have been resolved. This means that we are stopping the line until the story is the right condition to continue.
- Secondary Goal: Control the quantity of WIP to deliver a predictable cycle time.
We all know that work-in-progress is directly connected to the cycle time, and that you can find a correlation between non-linear growth and time in defect rates. It makes completely sense that WIP needs to be kept small. It will make everybody’s like easier if we agree to limit this to a certain quantity. This will end up making cycle times dependable, to an extent, and will help to keep low defect rates.
- Secondary Goal: Allow the team members to have a better life by improving work/life balance.
While most companies talk a lot about employee satisfaction, it is very seldom a priority. Senior managers and investors too easily view resources as fungible and easily replaced. This shows where there is a cost-centric bias in their investment or management approach. They don’t look at the huge impact on performance that comes along with experienced and well motivated team. Staff retention is extremely important to work. As software developers age, they start to care more about the rest of their lives. A lot of them lament about how they waste their 20s away slaving in their office over a piece of code that didn’t reach expectations.
When it comes to work/life balance, it’s not just balancing the number of hours a person spends at work with how many hours they get with their family and hobbies. It also has to do with providing reliability. For example, let’s say that you a team member that enjoys art and wants to take a painting class. This is every Wednesday starting at 6:30, and runs for ten weeks. Is your team able to provide that person with the certainty that they will be able to leave the office on-time every Wednesday to go to that class?
When you give your team the right kind of work/life balance your company will appear more attractive to the local market. It gives you employees motivation, and it provides you team with energy to maintain high performance levels for months or years. It’s not true that you get the best performance from knowledgeable workers being overloaded with work. This might work in a tactical sense for a few days, but it is not going to be sustainable beyond a few weeks. It’s just good business to give your team a good work/life balance by not overloading them with too much work.
- Secondary Goal: Give your team slack by keeping balance between demand and throughput.
While balanced demand with throughput is able to be used to avoid overworking your team and gives them a good work/life balance, it also causes something else. It makes slack in the value chain. Every vale chain has a bottleneck. The throughput that you provide downstream is limited by the throughput of your bottleneck, not matter how far upstream it was. That means when you balance the input demand with your throughout, you will make idle time throughout your value chain except for the bottleneck resources.
The majority of managers steer clear of idle time. They have been trained to manage for efficiency and it feels as if changes could be made to lower costs when there is idle time. This might be true, but you also need to appreciate the power of slack.
Slack is able to help responsiveness to the urgent requests, and it provides bandwidth to have process improvements. If you don’t have any slack team members won’t be able to take the time to reflect on how their work is done and how it could be better. Without slack they won’t have time to learn more techniques that will help to improve their tooling or skills. Without slack you won’t have any liquidity in your system so that you can respond to late changes or urgent requests. You won’t have any tactical agility without slack.
- Secondary Goal: Use a simple prioritization mechanism that slows commitment and keeps your options open.
After the previous goals have been achieved you will have created an engine for making software. After you have this in place, it’s important that you make use of it. This requires that you have a prioritization method that will maximize your value, and it will minimize your cost and risk. You need a prioritization scheme that will optimize your business performance.
A lot of schemes are simple like “high, medium, low.” This type of scheme doesn’t have a direct meaning for the business. The more elaborate schemes started once Agile software was developed things like MoSCoW: “Must have, Should have, Could have, Won’t have” came into view. Things like feature driven development used a simplified and modified version of Kano analysis techniques. Still, others like a strict numerical order for value and risk.
These schemes had the same problem. To respond to market change, you have to reprioritize. With the uncertainty of the market, it’s hard to predict how things will change.
This is why you need a scheme that will delay commitments as late as possible and gives you an easy question to answer. Kanban will give you this by having business owners refill empty queue slots while they also provide reliable cycle times and due date performance.
Now, for many six goals would be enough, but here you will get two extra goals to make sure that your Kanban system works to its peak performance.
- Secondary Goal: Have a transparent scheme so that you can see improvement opportunities to enable change to a collaborative culture that will encourage continuous improvement.
When you provide transparency in the WIP, delivery rate, and quality it will build trust with your senior management and customers. This means you provide transparency in every area of system, when something may be finished, the quality, and how well your team works. This gives you customer’s confidence in your work.
Not only does it put your customer’s and senior management’s mind at ease, it also provides something else. Having transparency in the process will allow everybody involved to see the effects of their work. This makes your team more reasonable. Their behavior changes to improve the systems performance.
- Secondary Goal: Have a process that allows for high maturity development, good governance, business agility, and predictable results.
Business leaders want to make promises to colleagues at the executive table, to shareholders, to the board of directors, to customers, and the market. They also want to be able keep those promises.
They also know that the world is fast paced and there will be changes. That means they want to be able to respond to those changes quickly and take advantage of all of the opportunities. In order to achieve everything that business leaders want, there needs to be more transparency.
This all comes down to an organization operating at a maturity level four on the Software Engineering Institute’s five point scale of maturity and capability. There are not very many organization that have reached this maturity level regardless of whether they have reached out for an actual SCAMPI appraisal or not. It’s no wonder that the majority of senior leaders of the big tech companies are frustrated with their software team’s performance.
In order to get started with Kanban, all you have to start with is a large board that your entire team is able to see, and cards to pin on it. But we’re going to look at the different areas of a Kanban system so you can better understand how it works. The next chapter will get into the nitty gritty of making board.
Kanban has been adapted to work in software development from a project management approach. By using Kanban in software development, you will support continuous workflow, which is known as value stream.
- Value Stream: This consists of all of the actions that are needed to bring a project from formation to finish. The actions are able to:
- Give the project value.
- Provide unavoidable non-valuable information.
- Provide avoidable, waste, non-valuable information.
- Waste Elimination: This is anything that doesn’t add value to your project. A Kanban system works to eliminate waste. When it comes to software development, you can have three types of waste:
- Waste in the potential of the team.
- Waste in project management.
- Waste in code development.
- Code development waste happens typically because of:
- Partially completed work: The work that is partially completed ends up becoming unusable and outdated. This is able to be eliminated with modular code and iterative cycles that completed within iterations.
- Defects: When you are developing code, correction and retesting is absolutely necessary and it requires resources and time. This is able to be eliminated with an up-to-date test suite, continuous customer feedback, and completing testing during the iteration.
- Project management waste happens typically because of:
- Extra Processes: This is unnecessary documentation that will take resources and time. This could be gotten rid of with:
- Reviews of documentation that will make sure only necessary and relevant processes are followed.
- Pre-planning of all the necessary and relevant processes.
- Code Handoffs: This means that you pass the work between different people or teams, after the first person has completed their work. This could cause a lack of knowledge. You can eliminate it by keeping you wireframes and flowcharts clear and visible.
- Extra Functions: This includes the features that aren’t needed by the customer. Time and effort will be wasted when you work to develop the functions that are needed for implements features that customer hasn’t even asked for. This can be eliminated through continuous interaction with your customer and testers that are involved in the requirements gathering because they may visualize scenarios better and the expected system behavior.
- Extra Processes: This is unnecessary documentation that will take resources and time. This could be gotten rid of with:
- Team potential waste happens typically because of:
- Task Switching: This will lead to the effects of multi-tasking, which causes waste. This can be eliminated by focusing on a single task with each release. The larger projects are broken down into tasks to:
- Give a way to notice and resolve bottlenecks.
- Focus on delivered work cycle-time.
- Enable easy flow of work.
- Reduce dependencies.
- Improve visibility.
- Waiting: This is time wasted for getting information or instructions. The team is subjected to sit idly if the team doesn’t make decisions, or if the team is provided information that takes expensive resources. This is able to be eliminated by letting the members of the team:
- Make decisions in order to prevent them from having to wait for more instructions.
- Have complete access to the information they need so that they can use it as and when they need to.
- Task Switching: This will lead to the effects of multi-tasking, which causes waste. This can be eliminated by focusing on a single task with each release. The larger projects are broken down into tasks to:
By using Kanban you will see improvements in your flow of work. Since you will have a visual representation of the workflow, you will notice a reduction in the speed of moving from one task to the next. This is able to be accomplished through creating clearly marked flow lanes, Kanban cards, and clearly names columns that show where every item is within the workflow. If there is a task that will need a longer duration, it is able to be finish without any hindrance, and during this time, the tasks that are finished will continue onto the next step.
This will allow for:
- The right amount of time for longer tasks that you can’t logically break down.
- Value preservation for those longer tasks.
- The effort needed for each role can be expended.
- Continuous flow of finished tasks without wasting time.
This means that planning is flexible and won’t be boxed in.
When you are working with two teams and the first team has a better performance than the second, it is probably pushing more work than the other team can handle. This will likely create friction between your teams. To fix this you have to create a pull approach.
By using a pull approach, the next team will pull work only when they are ready to work on it. You implement a pull approach by adding a buffer with limited capacity between your teams.
The main benefits of this approach are:
- Avoids work being piled up.
- Reduces wait times.
- Helps a team to keep a constant focus and pace on quality.
- Provides resource balancing.
Minimize Cycle Time
Every task’s cycle time is measured and then its process is optimized in order to reduce the cycle time.
- You will immediately identify the bottlenecks and resolve them in a collaborative manner by the team.
- Correction loops should be considered to reduce rework.
The best thing that comes from continuous delivery are:
- Short release cycles will give you continuous delivery of your growing product at regular times.
- You will have continuous interactions with your customers.
- This helps you understand what the customers want.
- Keeps you from producing what a customer doesn’t need.
- Get feedback on delivered modules.
- There are limited requirements in every release cycle.
- Developers don’t become overloaded with different requests. This will allow them to be able to focus on delivery.
- You won’t have any partially completed work.
- The focus will be on finishing up work instead of starting work.
- This will keep the focus on sustaining quality and pace of your product.
- You can deliver before the customer ends up changing their mind.
- Your workflow will be optimized from start to finish.
- This will help in incremental process improvements.
When you have your workflow visualized on a Kanban boards will help:
- Schedule following your WIP limits on a workflow state.
- Continually track progress and status.
- Assign your resources in a dynamic way based on the role requirements.
Every day, and with every column, mark down how many tasks you have in them. This will give you a mountain-like chart. This chart will give you the past performance and will let you predict future results.
This chart will give you information such as:
- The cycle time for every feature by showing the begin date and the end date.
- You can evaluate the quality of your growing product from a functional, technical, and user perspective at different times.
- You can look at the pace of development by looking at how many development items have been completed, and then look at the average cycle time for each item.
- Adjust you development pace by calculating the ratio of development days per completed item. This ratio can be used to estimate the completion time for items that haven’t been developed, and you can adjust the plan as you need to.
- Adjust and evaluate the process by using a collaborative session to find the needed changes that could help to improve the product quality, or to help the development pace.
- Resolve and identify any decisions that are un-validated by looking for the cycle times of the validated decisions and then focusing on fixing the loops that are typically the backed-up queues you can’t see.
Focus and Efficiency
When you focus on what a customer has asked for, the scope will become clear. The focus will be on giving the customer value.
Efficiency is able to be achieved like so:
- Through continuous customer interactions their expectations can be made focused and realistic.
- WIP makes sure that tasks are focused on.
- Using a pull approach will enable resources to finish a task at hand before a new task is ever started.
- There will be faster delivery by optimizing lead times.
- By visualizing the workflow with a board you will draw immediate attention to bottlenecks so that you can quickly fix them.
- The team becomes accountable for their success through empowerment.
There are lots of different project management tools that use a Kanban approach. Here are just a few of what you can choose from:
- Kanban Tool: This uses Kanban cards, due dates, tags, swim-lanes, and colors to create a Kanban board. The best features include:
- To-do lists
- Drag and drop tasks
- Online documents
- Visual project management
- Insightful analytics
- Online Kanban boards
- Kanbanery: This is another tool that helps your team to work more effectively, together and along, through:
- Real-time updates
- Work with existing systems
- Content-rich tasks
- Advanced reporting
- API and several third party apps
- iPhone and iPad apps
- Copy or create task boards with templates.
- GitHub integration
- LeanKit: This tool can be used in distributed environments, and as access to the CEO of a company, to partners, to customers, and to all employees.
- JIRA Software: This is an Agile tool that is created for teams of every size and shape. It has features that help with:
- Integrated workflow
- Value-driven prioritization
- Accurate estimations
- Earliz: This software supports smart project collaboration and management.
- Targetprocess: This tool helps manage and visualize Agile projects with natural and full support of Kanban, Scrum, or custom Agile method. Its features include:
- Visualization of project data
- Visibility of progress
- Test case management
- Custom views, dashboards, reports, and cards
- Backlog story map view
- iOS and Android apps
There are lots of people who are starting to use a Kanban work management methodology to help visualize their workflow, whether for personal tasks lists or projects at work. Kanban allows teams and individuals manage multiple projects and tasks by displaying tasks on what is known as a Kanban board. With a traditional board, the tasks will move from left to right as you work towards finishing the project. Ultimately, the use of a Kanban board, especially one online, will allow teams to stay up-to-date on overall project progress and task status.
This is extremely useful for teams and individuals who are looking for a visual way to manage tasks, and keep the workflow process streamlined and simple. This chapter will dive further into the methodology and mechanics of using an effective Kanban board. We will also look at using two tools to create such a board: Smartsheet and Trello.
The cornerstone of the Kanban methodology is a Kanban board. It is used to help your visualize and track the work that needs to be done. It works like an information hub on all task progress and status. Since you are able to see all of your tasks on one Kanban board, it works as a high level overview of the work, which will end up helping you to notice any setbacks or roadblocks and will let the team adapt as they need to.
There are a few key differences in how a Kanban board and a Scrum board works. First off, you won’t have to come up with structured sprints for your tasks when you use a Kanban board as you have to for a Scrum board. This means there won’t be any need to reset your Kanban board after each completed phase of a task. Instead, you will use the Kanban board for the entire duration of your project or for ongoing work as you receive new tasks.
How is a Board Used?
The best thing about a Kanban board is that it is super simple to set-up and intuitive to use. The board setup is very standardized. Of course, you also have the option to customize your Kanban board so that it reflects your project’s needs, but sticking to the standard Kanban board structure will help you to get things started.
At the very minimum, the Kanban board will have the following three columns organized from left to right:
- Backlog – This is the column where you will place all of the upcoming work. These are where tasks that haven’t been started will be stored.
- Work in Progress – This is all of the tasks that are currently being worked on. It’s important that you stay under your determined WIP limits (covered later) to make sure that you don’t end up overloading yourself or your team with work that is unrealistic to finish in a given time.
- Completed – This is where all of the finished tasks will be placed.
All of your tasks will be placed on a card, and you will move these cards into your various columns as they make it through different phases of the work process. The main goal is that your task will always move from left to right. When you make this a priority, it will make sure that all of your work is fully completed before you goes to the next step, and it will improve your efficiency.
To make things easy for you to get started with Kanban, you can find a lot of different online tools that will help you to make a Kanban board. Two of the most popular tools are Smartsheet and Trello. Trello is a task management tool that will let users come up with task lists and monitor their progress using a Trello board, which is able to be created and used like a Kanban board. Smartsheet is a web app that is able to be used like a Kanban board, and is great for projects that are more complex.
The interface of Trello works very similarly to a regular Kanban board. You will create columns to reflect your task status, and you will move the tasks across all of the columns as you get things done.
To get things going using Kanban in Trello, you need to make your first board from scratch.
- Select the + tab button in the upper right-hand corner to start your blank board. Now you can create a name for your board.
- Now you can make your columns by typing in a column header into the Add a list field that they provide. Here you can create as many columns as you want to, but you do need to create a minimum of at least three: Backlog, In Progress, and Finished.
- Now you need to add a card to your first column by selecting add a card. Then you will type in the task in the provide field. You can either write out the basic task, or you can write in more detail. This could be due date, labels, or members. You do this by selecting the pencil icon and editing the associated tab.
- Labels will let you color-code your tasks if want to help to organize them even further. They also have a color blind friendly mode that will add texture to your cards.
- You can choose change members to assign tasks to certain members.
- You can choose change due date to give a task a due date.
- You can also select copy or move to house the task into different lanes or columns.
- To get a more comprehensive menu of how you can edit your card, you can click directly onto the card.
- Now you can repeat the previous steps finish filling in your task board with the rest of your tasks. You are able to add a card into any column directly.
- Once you have you board setup, you will start to move the cards throughout the board. You can drag and drop to move you cards along the board as you finish your work.
- Remember, you need to make sure that tasks are completely done before you move them into the next column. This will make sure that you don’t have to double back on tasks and send them back to a previous column.
There are also additional features when using Trello. For more ways to customize your Kanban board you can also buy Power-Ups, these are extra features and integrations that will give you even more power. Select the Power-Ups button under the Menu and you will see things like voting, card again, and calendar.
Calendar will give you an extra calendar view to see your tasks, which can be used weekly or monthly.
Card aging will age your card that you haven’t acted upon recently. Once you have actively used the card, the card will be restored to normal visual. This is extremely helpful to ensure that there isn’t a task that gets overlooked or continually shoved back.
Voting power-up will let the other users vote on task cards to figure out their priority or interest.
You can also set WIP limits using power-ups, which will give you the opportunity to set a limit on how many tasks can be place in the “In Progress” column. This is an automated way to ensure that you never over-commit yourself or others.
Now you are ready to share your board with the other members of your team.
- In the upper left-hand corner you will find a Private button. The sheet will automatically set to private where only you can see it, but it can be shared with several team members, or make it public.
- Select Private and then pick the option from the menu you are given.
- The board will now be viewable, and editable if you want, to other people. Sharing this board with all the others on your team will enable collaboration and accountability.
Trello is only one tool that will help you to create a Kanban board. You can also use the mobile app, so that you will be able to keep up with your work on the go. However, there are a lot of other tools out there that make created a Kanban board easy, and it’s important that you try out as many as you can and pick the one that suits your needs.
To start creating your first Kanban board using Smartsheet, you can start with the pre-built Kanban Sheet template.
- Make sure that you are on the Home screen and then choose “Create New – Kanban Sheet.”
- Type in a name for you board and then select OK.
- You can also choose now to import any existing data into your Kanban board from Excel, Microsoft Project, Microsoft Excel, or Trello.
- Your list of tasks will show up in the card view, which is one of four view types that you will find in Smartsheet. The other three are calendar, traditional grid, and Gantt. In card view you will see four columns, which they call lanes, which are automatically labeled at: “Backlog, Planning, In Progress, and Complete.” Now you can add in the cards that you need for your tasks in the right lane.
- Next, to add in your first card, select +Add Card in any of the columns on your board. You will get a form pop up for you to edit in the information about your task, which includes assigned to, priority, size, description, and title. You will also notice that the Status will automatically be listed as the land that you chose when you added in the card.
- You also have the option to add in relevant documents or images, or you can add in comments to the card by selecting Add Discussion or Add Attachment.
- Now select OK. The card will be placed directly into the correct lane.
- Continue this process for all of the tasks that you need to add to your board. Make sure that you keep your WIP limit in mind when you start adding tasks to the “In Progress” column so that you don’t become over-committed.
- In order to edit your fields, you can select Fields in the upper right-hand corner.
- Un-check any of the fields that you don’t want to have shown on your card. You can also choose Add New to include extra fields in your card.
- To create a high-level view of all of your cards you can collapse your cards so that they only display the title of the tasks. This makes you board look cleaner. Select the icon located to the right of the Fields button to switch to a collapsed view of your cards.
- Once a task is ready to change lanes, all you have to do is drag and drop the card to the lane it now needs to be in.
- Any of your cards can be edited at any time by selecting the dropdown menu on the chosen task and then choose Edit.
- You can now move through your stages of work and finish things up at your own pace. However, you need to make sure that you keep you Kanban workflow tenants in mind: don’t breach you WIP limit, and only let the cards got from left to right.
- An amazing feature of Smartsheet’s Card View is being able to pivot your lanes. This is possible because you have at least two drop down list fields for the cards, and will give you the change to organize the lanes and see the work by criteria other than just looking at simply task stages.
- By default, the template will organize the columns by Status, meaning start to finish.
- Select the dropdown menu next to “View by: Status” so that you can see the other options that you can sort your tasks.
- By picking size, the lanes will be organized by the size of the task instead of the status. This means that if you pivot your data, you can view through different criteria.
- Note: View by is unique for every user. This means that others that can see your sheet won’t be impacted if you choose to view your tasks from a different value. Anybody that you choose to share the sheet with can view it through any setting they want without affecting anybody else.
- Lanes can also be added to your board by choosing the “View by” menu and then choose “Edit Lanes.”
- Now you are able to type in additional lanes that you want to add to your board.
- To share your board, select the “Sharing” button. You will then be prompted to type in the emails of the people you want to share it with. You will then adjust the permissions to the right levels.
The best thing about using SmartSheets for a Kanban board is the ability to see the information in your board from different viewpoints. You can switch your view of your Smartsheet by switching between: grid, Gantt, calendar, and card.
Having this flexibility will make sure that even those people who aren’t familiar with Kanban is able to gain some helpful insights into the work that is being done. Any changes that are made while in the other views will also be updated in the Card View. This means that you data will stay up-to-date.