It is not always easy to find out the right path in development processes (as in other business activities). Various obstructions may disturb. The future life of any product or service depends on choosing an appropriate development methodology. As Kanban is often named as one of the current trends in project management, here we gathered the most essential benefits of Kanban software development and applying convenient Kanban boards and cards. Just to be trendy ;)
![image](https://webcf.waybackmachine.org/web/20230204033430im_/https://habrastorage.org/r/w780q1/getpro/habr/post_images/26f/b4f/d55/26fb4fd554cca22b1e4e04f8c8704868.jpg)
Let's dive into examples describing two different situations:
The principle is evident: first — sale, and then the production. In other words, the just-in-time (JIT) principle works here. First, goals and deadlines, then plan and work.
![image](https://webcf.waybackmachine.org/web/20230204033430im_/https://habrastorage.org/r/w780q1/getpro/habr/post_images/282/dbb/c75/282dbbc7502a5413d6cf5fd0867f7bbf.jpg)
Toyota warehouses will not be overflowed, as in the first case. They will not have the need to store pre-manufactured details for a long time. This is because what is being made on the line right now is a necessary norm for some recently sold car. One of the key components of the JIT-principles is Kanban.
Kanban boards and cards are peculiar «traffic lights» in the JIT system. Kanban enables businesses to be reactive towards customer needs instead of forecasting needs, as it happened in the first case described.
However, let's be closer to a software development world.
Instead of car details, imagine development tasks and bugs. A tester receives several items for verification. When the QA runs out of verification tasks, he/she must notify developers to get new ones from them. If programmers do not have time to complete new tasks, the tester simply remains without work for a while.
The inverse situation also happens: the QA accumulates a lot of items and he/she does not have time to check everything in time. In this case, the release date of the product is also delayed.
In software development, Kanban is much harder to balance than in manufacturing. That's because of the work specifics: if machines produce details of the same type, the programmers work with the code through their own brains, where there are something like 100 billion neurons and one, but significant, the human factor.
![image](https://webcf.waybackmachine.org/web/20230204033430im_/https://habrastorage.org/r/w1560/getpro/habr/post_images/00b/743/cbd/00b743cbd3b39449aded80402f81416f.png)
Actually, Kanban boards can be applied everywhere: from personal planning, development and even implementing in managing a ceramic workshop.
To better understand the scope and utility of Kanban boards, it is worth to dive into what Kanban is and generally in its meaning as a methodology.
Here are 10 reasons why it is worth to implement Kanban boards in IT companies that develop software:
Switching to Kanban boards from regular task lists can immediately show bottlenecks: in the task lists, there was a big queue of tasks as a QA did not cope with checking all of them. He/she took the task to check with a long delay. After the tester returned the item for revision, the programmer already forgot it. It is a precious time to look at the code again and remember all the details. It means that the team needs one more tester.
Kanban board allows you to see the bottlenecks in your process where lines are formed. In some professional project management software, the WIP limits feature helps to cope with this task. If you have more or less tasks than you need — the column is highlighted in red or yellow, respectively.
![image](https://webcf.waybackmachine.org/web/20230204033430im_/https://habrastorage.org/r/w780q1/getpro/habr/post_images/e71/c5b/d7b/e71c5bd7b03c07c50951cd107398d6e9.jpg)
Hygger Kanban board
Programmers should be focused directly on their work. Therefore, it is good when they receive a set of tasks and do not need to think about what to do next, as the manager has already thought about this. You just need to take the next item into the work.
Sometimes Kanban suggests an independent choice of tasks on top. Then the professional level of all people should be equal so that it does not work out that the most difficult task “falls” on the junior specialist.
My Tasks Filter helps you set the focus on your tasks. It helps to quickly see your tasks on the board.
Before using Kanban developers could work on a few tasks at the same time. They switched from one issue to another one and spent a huge amount of time switching. On average, it took more than 25 minutes to resume a task after being interrupted.
Every time they did it, there was much time needed to go into a task: to review terms of reference and a prototype, to read a current code and build its inside representation. Thanks to WIP limits feature in Kanban and a panoramic view a developer can’t work on more than one task at a time.
Thanks to Kanban boards, you have the whole picture of the project before your eyes. Opening the board, you can quickly get answers to important questions:
![image](https://webcf.waybackmachine.org/web/20230204033430im_/https://habrastorage.org/r/w780q1/getpro/habr/post_images/bdd/0f5/897/bdd0f58972acf259b0957aea36be254a.jpg)
Asana Kanban board
The order of features release is also important. In lists based on priorities, it is difficult to precisely manage the order. If a programmer has five tasks with a top priority at the same time, it will be difficult for him to decide which of these tasks to be taken first.
Kanban boards just offer a way out when order matters. This visual solution is a vertical column with tasks. The higher the task, the more important it is. Kanban, by the way, involves defining priorities as one of the important aspects of the methodology.
Requirements are constantly changing and many tasks may lose relevance and “descend” down. Some tasks can sharply «rise.» on the contrary. Managers must constantly “keep a finger on the pulse” to let programmers do the most necessary things.
![image](https://webcf.waybackmachine.org/web/20230204033430im_/https://habrastorage.org/r/w780q1/getpro/habr/post_images/198/236/c05/198236c05685855e97262189b85c9f85.jpg)
Trello Kanban board
Kanban teaches to focus on the main things that really add value to the product. It allows you to decrease the number of useless bugs.
Is not an easy task for a product manager to distinguish important bugs from the bugs with lower priority. Swimlanes are aimed to assist.
These are the horizontal columns on the Kanban board. As a rule, programmers have the following Swimlanes on the board:
The system is similar to the Eisenhower matrix. Important and urgent questions are Blockers. Important, but not urgent — Tasks and Bugs. Unimportant and urgent, as well as unimportant and non-urgent — this is Someday.
A Kanban board helps to become more flexible. This is especially necessary when the product gets useful feedback. It's about messages and requests, behavioral analytics, A/B testing results, reviews, etc.
As soon as you move a new feature for production, you immediately begin to change it based on feedback. According to Kanban, a programmer works like a processor: one clock cycle is one task.
The more frequent the cycles, the more flexible the development team.
![image](https://webcf.waybackmachine.org/web/20230204033430im_/https://habrastorage.org/r/w780q1/getpro/habr/post_images/53b/873/224/53b8732248ed348d95887fddc54853ff.jpg)
Wrike Kanban board
The QA starts working on features almost immediately after the features have been finished by developers.
How was it before? The QA tested a feature not when it was completed but a long time after that. Developers could hardly remember that feature by that time and they spent a lot of time trying to catch up with the task.
Kanban allows QAs test features almost after they were finished. It's also about the work of salesmen, designers, editors, and others. All the team works consistently like a metronome that produces regular beats.
Referring to Scrum, it should be noted that while working with this methodology, we launch a feature only at the end of a sprint (like once in 3 weeks).
According to Kanban, we’re launching them almost after a testing period is finished (like once in a few days). Doing this way, we find out more quickly whether the users like the feature or not.
If they do not like the feature, we’ve made a mistake somewhere.
It doesn’t mean that we like to make mistakes. However, if we are the first who make them, we'll be the first who get the experience and know what to do.
Kanban boards allow avoiding the question for developers “what are you working on?” It sounds unnecessary, because you may open a Kanban board, take a look at what developers are doing and continue working on your own stuff.
We did not set out to show here that Kanban is somehow better than Scrum or other methodologies.
Let's outline the core idea — Scrum fits well at the start of product development while Kanban looks more powerful when the product has been already released.
Kanban software and convenient boards are not a panacea and a silver-bullet for your business. Kanban is an essential but insufficient condition for the success of your projects. The method helps your IT team to work coherently and effectively. So if you haven't applied it yet, then what are you waiting for?
![image](https://webcf.waybackmachine.org/web/20230204033430/https://habrastorage.org/getpro/habr/post_images/26f/b4f/d55/26fb4fd554cca22b1e4e04f8c8704868.jpg)
What is Kanban?
Let's dive into examples describing two different situations:
- The first case: Imagine an old conveyor factory, whose activities are directly dependent on the state plan. This plan clearly defines the number of products for production. As a result, the factory faces overcrowded warehouses due to the fact that the compilers of the state plan could often be mistaken with demand. They often have no time to sell the products.
- The second case: Move to reality and imagine a nowadays' Toyota showroom. A buyer is choosing a car model and going to make a payment. However, there is no required color model at the moment. The order is sent to the head office of Toyota. You are informed about the time when the car (of your color) will be delivered. Only starting from this moment, they begin to produce a car. Especially for you.
The principle is evident: first — sale, and then the production. In other words, the just-in-time (JIT) principle works here. First, goals and deadlines, then plan and work.
![image](https://webcf.waybackmachine.org/web/20230204033430/https://habrastorage.org/getpro/habr/post_images/282/dbb/c75/282dbbc7502a5413d6cf5fd0867f7bbf.jpg)
Toyota warehouses will not be overflowed, as in the first case. They will not have the need to store pre-manufactured details for a long time. This is because what is being made on the line right now is a necessary norm for some recently sold car. One of the key components of the JIT-principles is Kanban.
Kanban boards and cards are peculiar «traffic lights» in the JIT system. Kanban enables businesses to be reactive towards customer needs instead of forecasting needs, as it happened in the first case described.
However, let's be closer to a software development world.
Instead of car details, imagine development tasks and bugs. A tester receives several items for verification. When the QA runs out of verification tasks, he/she must notify developers to get new ones from them. If programmers do not have time to complete new tasks, the tester simply remains without work for a while.
The inverse situation also happens: the QA accumulates a lot of items and he/she does not have time to check everything in time. In this case, the release date of the product is also delayed.
In software development, Kanban is much harder to balance than in manufacturing. That's because of the work specifics: if machines produce details of the same type, the programmers work with the code through their own brains, where there are something like 100 billion neurons and one, but significant, the human factor.
![image](https://webcf.waybackmachine.org/web/20230204033430/https://habrastorage.org/getpro/habr/post_images/00b/743/cbd/00b743cbd3b39449aded80402f81416f.png)
Why does software development need Kanban boards?
Actually, Kanban boards can be applied everywhere: from personal planning, development and even implementing in managing a ceramic workshop.
To better understand the scope and utility of Kanban boards, it is worth to dive into what Kanban is and generally in its meaning as a methodology.
Top 10 reasons to use Kanban
Here are 10 reasons why it is worth to implement Kanban boards in IT companies that develop software:
1. Defining bottlenecks
Switching to Kanban boards from regular task lists can immediately show bottlenecks: in the task lists, there was a big queue of tasks as a QA did not cope with checking all of them. He/she took the task to check with a long delay. After the tester returned the item for revision, the programmer already forgot it. It is a precious time to look at the code again and remember all the details. It means that the team needs one more tester.
Kanban board allows you to see the bottlenecks in your process where lines are formed. In some professional project management software, the WIP limits feature helps to cope with this task. If you have more or less tasks than you need — the column is highlighted in red or yellow, respectively.
![image](https://webcf.waybackmachine.org/web/20230204033430/https://habrastorage.org/getpro/habr/post_images/e71/c5b/d7b/e71c5bd7b03c07c50951cd107398d6e9.jpg)
Hygger Kanban board
2. Concentration at work
Programmers should be focused directly on their work. Therefore, it is good when they receive a set of tasks and do not need to think about what to do next, as the manager has already thought about this. You just need to take the next item into the work.
Sometimes Kanban suggests an independent choice of tasks on top. Then the professional level of all people should be equal so that it does not work out that the most difficult task “falls” on the junior specialist.
My Tasks Filter helps you set the focus on your tasks. It helps to quickly see your tasks on the board.
3. Focusing on one task
Before using Kanban developers could work on a few tasks at the same time. They switched from one issue to another one and spent a huge amount of time switching. On average, it took more than 25 minutes to resume a task after being interrupted.
Every time they did it, there was much time needed to go into a task: to review terms of reference and a prototype, to read a current code and build its inside representation. Thanks to WIP limits feature in Kanban and a panoramic view a developer can’t work on more than one task at a time.
4. Panoramic view
Thanks to Kanban boards, you have the whole picture of the project before your eyes. Opening the board, you can quickly get answers to important questions:
- Who is busy at the moment?
- What will be the future work of each individual?
- What tasks were rediscovered due to bugs?
- Who is without tasks?
- Who has a big line of tasks?
- Were there changes in the last 24 hours? and where
- When will the specific item be done?
- How soon will the tasks of a specific specialist end?
![image](https://webcf.waybackmachine.org/web/20230204033430/https://habrastorage.org/getpro/habr/post_images/bdd/0f5/897/bdd0f58972acf259b0957aea36be254a.jpg)
Asana Kanban board
5. The exact order of features release
The order of features release is also important. In lists based on priorities, it is difficult to precisely manage the order. If a programmer has five tasks with a top priority at the same time, it will be difficult for him to decide which of these tasks to be taken first.
Kanban boards just offer a way out when order matters. This visual solution is a vertical column with tasks. The higher the task, the more important it is. Kanban, by the way, involves defining priorities as one of the important aspects of the methodology.
Requirements are constantly changing and many tasks may lose relevance and “descend” down. Some tasks can sharply «rise.» on the contrary. Managers must constantly “keep a finger on the pulse” to let programmers do the most necessary things.
![image](https://webcf.waybackmachine.org/web/20230204033430/https://habrastorage.org/getpro/habr/post_images/198/236/c05/198236c05685855e97262189b85c9f85.jpg)
Trello Kanban board
6. Priority to the main tasks
Kanban teaches to focus on the main things that really add value to the product. It allows you to decrease the number of useless bugs.
Is not an easy task for a product manager to distinguish important bugs from the bugs with lower priority. Swimlanes are aimed to assist.
These are the horizontal columns on the Kanban board. As a rule, programmers have the following Swimlanes on the board:
- Blockers — tasks and bugs that need to be corrected in real time. An example is a broken registration.
- Tasks and Bugs — the usual current tasks and bugs.
- Someday — tasks that have lost relevance.
The system is similar to the Eisenhower matrix. Important and urgent questions are Blockers. Important, but not urgent — Tasks and Bugs. Unimportant and urgent, as well as unimportant and non-urgent — this is Someday.
7. Flexibility
A Kanban board helps to become more flexible. This is especially necessary when the product gets useful feedback. It's about messages and requests, behavioral analytics, A/B testing results, reviews, etc.
As soon as you move a new feature for production, you immediately begin to change it based on feedback. According to Kanban, a programmer works like a processor: one clock cycle is one task.
The more frequent the cycles, the more flexible the development team.
![image](https://webcf.waybackmachine.org/web/20230204033430/https://habrastorage.org/getpro/habr/post_images/53b/873/224/53b8732248ed348d95887fddc54853ff.jpg)
Wrike Kanban board
8. Team spirit and consistent work
The QA starts working on features almost immediately after the features have been finished by developers.
How was it before? The QA tested a feature not when it was completed but a long time after that. Developers could hardly remember that feature by that time and they spent a lot of time trying to catch up with the task.
Kanban allows QAs test features almost after they were finished. It's also about the work of salesmen, designers, editors, and others. All the team works consistently like a metronome that produces regular beats.
9. Frequent mistakes
Referring to Scrum, it should be noted that while working with this methodology, we launch a feature only at the end of a sprint (like once in 3 weeks).
According to Kanban, we’re launching them almost after a testing period is finished (like once in a few days). Doing this way, we find out more quickly whether the users like the feature or not.
If they do not like the feature, we’ve made a mistake somewhere.
It doesn’t mean that we like to make mistakes. However, if we are the first who make them, we'll be the first who get the experience and know what to do.
10. More flows
Kanban boards allow avoiding the question for developers “what are you working on?” It sounds unnecessary, because you may open a Kanban board, take a look at what developers are doing and continue working on your own stuff.
Takeaways
We did not set out to show here that Kanban is somehow better than Scrum or other methodologies.
Let's outline the core idea — Scrum fits well at the start of product development while Kanban looks more powerful when the product has been already released.
Kanban software and convenient boards are not a panacea and a silver-bullet for your business. Kanban is an essential but insufficient condition for the success of your projects. The method helps your IT team to work coherently and effectively. So if you haven't applied it yet, then what are you waiting for?