14 Reasons to Choose Kanban for Software Development

Pavel Ku
Hygger.io
Published in
7 min readJul 27, 2018

Kanban is well known for its convenient visual boards and cards that display the status of work. With their help, teams can easily see the work that needs to be done, the work in progress, and completed work. This kind of visualization simplifies the workload and the progress for development teams.

People who work in software development appreciate this approach because Kanban visual board can display columns showing the work to do, in development, being tested, and finally complete. These types and number of columns with statuses vary depending on the company projects, industry or the nature of the deliverables.

Kanban was created in the 1940s by a Japanese engineer at Toyota. It was a way to organize work and address inefficiencies in the company’s manufacturing system.

It achieved the first wide popularity among business leaders in the early 2000s. The main goal was to optimize software development workflows.

Nowadays Kanban is a rock star across all disciplines of knowledge and works to help teams visualize, manage, and optimize their work.

Did you know that our brain processes visual information 60,000 times faster than words? In this context, science absolutely backs up the benefits of Kanban.

The impact of Kanban on software development

The list below includes the key advantages of Kanban implementation in IT companies that develop software. Perhaps, these theses will help to choose the best approach for those who, for example, doubts in choosing between Kanban and Scrum.

And to make it more practical, I’d like to shortly describe some Hygger.io experience and highlight the basic benefits. Let’s dive in!

1. Panoramic view

Kanban allows you to get a whole picture of your project. Go to the board and quickly get answers to all the important questions you may have, including “Who is busy now and who’s not?”, “Who is left without work?”, “What tasks were reopened due to bugs?”, “What tasks do have any changes during the last day?”, “Which tasks have already taken more time than it was planned?” and so on.

2. Defining bottleneck

We switched from a usual list of tasks to Kanban boards and straightly found out the weak spots.

There was a long queue of tasks in the Testing column because our tester was not able to cope with them. The long delay appeared. In the result, when the tester was returning a task for further improvements, it had been forgotten by a developer. The developer had to look at a code and remember what it was about. It took a lot of time. That’s why we started thinking about the second tester.

A Kanban board allows you to see the spots in your process where there’s a tendency for tasks to queue up. There is a WIP limits option that allows finding such weak spots on the Kanban board. Looks helpful, right?

3. Empowered teams

All team members own the Kanban system and may share responsibility for moving work across the finish line. Kanban allows teams to make more flexible decisions that move projects forward with efficiency and innovation.

4. The order of features release

The clear order of features release plays the essential role in software development. It’s not easy to manage the order precisely in lists based on priorities.

Imagine a software developer who has 5 tasks with major priority. Which of these 5 should he take to work first? In this case, Kanban offers a brilliant visual solution — vertical columns with tasks. The higher a task in the column, the more important it is.

Defining the priorities in working process according to Kanban is one of the key tasks of a manager. Especially if requirements change constantly.

Some tasks lose their significance after being in a queue. They go down to that place where no one could ever see them. There is also an opposite process — some tasks go up. Managers have to always track the order of tasks to let developers work on the things that matter the most.

5. All attention to the most important

Kanban has taught us to do the things that really added value to the product. We kept a lot of useless bugs and modifications out of sight from our developers.

Defining a bug from a bug is a task for a person who may reflect the needs of both users and business. And usually, it’s about a product manager.

The horizontal columns on Kanban Board are used to separate the wheat from the chaff. They are called Swimlanes. The usual set of Swimlanes consists of:

  • Blockers — for tasks and bugs that need to be fixed in real time.
  • Tasks and Bugs — for common tasks and bugs.
  • Someday — for tasks that became irrelevant or have never been relevant.

6. Being focused on work

Manager decide everything for developers, so the developer just sees his queue and doesn’t think what to do next. He does not need to spend time choosing the next task. However, there are different types of Kanban.

You may decide for developers what they will do, assigning tasks beforehand or you can give them the opportunity to take any tasks from the top. In this case, developers should have a similar skill level. Otherwise, a junior may take a complex task that he will not manage to handle.

The filter My Tasks is designed to be focused only on those tasks that are assigned to you:

7. Flexibility

We became more flexible and started changing requirements without any resistance from our developers. When the product is released and you receive useful feedback, this approach seems especially important.

As soon as we implement a new feature for production, we start to change it according to the feedback.

8. Ability to know everything

Recently, developers had no idea what their colleagues did. Now they are able to open a Kanban board and see what their colleagues are working on. It’s a rather useful practice, as they need to know it for a better coordination of joint efforts on a project.

9. No need to assess features

According to Scrum, a lot of time goes to features assessment before Sprint’s start. Now there’s no need in the assessment. We just do a feature asap.

10. Less talk & more work

Communication is a serious part of the Scrum approach.

There’s a Sprint planning before its start with tasks analysis and tasks assessment. There’re also daily standups and retrospective meeting the Sprint ends.

All these kinds of communication take about 30% of the time. In fact, the team could have invested this time on development.

11. Cohesion

Testers started working on features almost immediately after developers had finished them. Before QA tested a feature not when it was completed but long time after that. A developer could hardly remember that feature by that time and was spending a lot of time trying to catch up with a task.

Kanban allows QA tests features almost after it was finished. The same story, for example, with designers and sales. Teams start working more consistently like a metronome that produces regular beats.

12. More frequent mistakes

Working with Scrum, we were able to launch a feature only at the end of a Sprint, let’s say once in 3 weeks. Kanban allows us to launch them almost after a testing period is finished. Once in a few days.

So we can recognize more quickly whether our users like the feature or not. If they do not like them — we’ve made a mistake. It doesn’t mean that we like to make mistakes but if we are the first who make them means that we will also be the first ones who get the experience and will know what direction to choose.

13. More flows

There’s no need to keep nagging developers with a question “What are you working on now?”. All you need is to open a Kanban board and take a look at what people are doing and continue working on your own managerial stuff. Let your developer stay undisturbed and just enjoy the process.

14. Focus on one task

Earlier, developers could choose tasks depending on their mood or work on a few tasks at the same time.

When a developer switch from one task to another one, he can spend a huge amount of time for this switching.

Thanks to WIP limits option and a panoramic view, developers now can’t work on more than one task at a time.

What is the future of Kanban?

As you see, Kanban offers many benefits without a rigid process or formal team guidelines, that why we can state that it may outlast many other frameworks.

Kanban is a truly tested approach in the Agile project management world and it demonstrates that sometimes simple really is best.

To sum up

We’ve tried to describe the obvious advantages of Kanban, but do not think that Kanban is cooler than Scrum. Kanban isn’t a panacea anyway. It is an essential but also an insufficient condition for your project success.

It’s a good idea to come to the conclusion that Scrum fits well at the start of a product development and Kanban — when the product has been already released. What do you think about this statement?

--

--