Kanban for software development

Kanban board OKR template

How to organize your software development process with Kanban?

Agile is the king when it comes to software development process methods. Also, Agile can be the opposite of good due to numerous reasons such as misuse, wrong purpose, immature team, low commitment, and many more. Kanban for software development on the other hand is perceived as a lightweight approach, while this is true, it is also misused, having only a kanban board will not mean that you are doing things the Kanban System way. So in this article, we will cover initial benefits and ideas to actual examples of Kanban in software engineering field.

Why use Kanban for software development process?

For many years, software development was an ad-hoc process where teams would follow an approach that seemed to work for them at that particular moment with the resources they had. As a result, many companies had a variety of approaches with little consistency across teams. Kanban can be an excellent way to establish some consistency for your teams. Kanban is a visual representation of how work flows through your process. This visual approach can help your team members understand how work is flowing through the different stages of the team. Kanban can also be a way to help you get your arms around the current state of your process. Kanban can be a way to evaluate your current state and see if there are areas where you need to improve your process. It can often be easier to see the deficiencies of your current state with Kanban than with other approaches. If you are new to Kanban, this can be a good reason to adopt it as an approach to see where your process is not working or where it needs improvement. Read some theory about the Kanban software development life cycle.

Pros and Cons of Kanban in software development

The main advantages of Kanban:

  • Kanban provides regular visibility into the work in progress, work in the process and work that is complete.
  • That visibility allows teams to focus on the work that is most important and not get distracted by less important items.
  • That visibility often leads to more collaborative decision making with less need for top-down management.
  • Teams can also more easily identify areas where they need more resources or skills to get work done.
  • It is also easier for teams to identify when they may be getting behind and can take action to increase their productivity.

Nonetheless, there are several disadvantages to Kanban that you should be aware of:

  • Kanban requires a significant investment in creating the tracking system that is needed to follow the work through the process
  • Kanban works best when the team has some experience to know when a particular item is ready to move to the next stage
  • Teams using Kanban may find themselves becoming more bureaucratic if they do not have the skill and experience to make decisions at the right levels

When to go for Scrum and when for Kanban?

The best approach is always to use what is right for the situation. For example, you may have a team with a high level of skill and experience who is working on a high-visibility project such as an internal application that few people use. In this case, it might make sense to use an approach such as Kanban where the team has more flexibility in how it does work. But if you have a new team that is struggling to complete work, or you have an application that must be deployed into production on a consistent basis, it might make more sense to use an approach such as Scrum where the team has specific and consistent commitments and is following a defined process. You can read further a real-life story of how we moved from Kanban to Scrum and why we did it.

Kanban board example – software development

Let’s take an example of a kanban board for software development where a team is working on a project/product in stages. The team will have one board for each stage. Each stage will be broken down further into smaller steps. Click on each step to see a detailed example of a real-time Kanban board.

  • Support – log all bug reports, requests and inquiries. Level 1 should own this board, while level 2 should be responsible for feedback and MTTR of L2 issues.
  • Roadmap – can be used for transparent sharing with end users what is the vision and product changes in near future. Input to backlog.
  • Backlog – Categorized items which can be taken from roadmap, support and other sources for prioritization.
  • Sprints – actual sprints board where team can work iteratively or use it as an ongoing continuous production line and have only one row for “current scope”

Items can freely travel between stages to ensure scope and the best focus by respective team members. Be aware that this is just one of the examples which we have developed ourselves and have used ourselves throughout the years in different teams. It can be broken down even further to represent preparation steps such as UX/UI work. Conceptualization, refinement, etc. It all depends on the scope of the product and team size. The bigger the team, the more detailed can be the process. Otherwise, you might feel overwhelmed with that many steps.

Our most important advice – each board such have a clear owner, a person(s) who can define the structure of the board, coordinate with adjacent process steps and continuously review the situation on the board to solve blockers or setbacks.

asana kanban alternative

Tips and Best practices for early adopters of Kanban

  1. Be consistent – Make sure that every team member follows the same process every time they work on a card. Look for ways to make the process consistent and easy to follow.
  2. Keep it visual – Make sure that you have a way to track the cards visually on the board. You can pick from best kanban board tools to do that. Just make sure they have all the necessary features.
  3. Find ways to collaborate – Kanban was designed with collaboration in mind. Look for ways to make sure that you are working as a team.
  4. Get feedback – Find ways to get feedback on the process and what needs to change. You can use surveys, interviews, or focus groups.
  5. Be flexible – Don’t get too fixated on the process. Be open to change as you get feedback from team members. Kanban is very easy to adapt.
kanban for software development

Getting started with Kanban

The best way to start is to practice it for a month at least with your team. Then discuss first impressions, educate yourself and improve. Repeat this cycle until satisfied with the results. We suggest watching the following video on how to start with Kanban System using Teamhood.

Summary

In this article, we learned why to use Kanban for software development process and the pros and cons of Kanban in software development. We also looked at when to go for Scrum and when for Kanban and how to create a Kanban board example software development. Finally, we explored tips and best practices for early adopters of Kanban. Now it’s time to get your team on board and start using Kanban to improve your software development process! Just be fearless and do not expect all the things to work from the first day. It is not only about tools, it is mainly about people organizing the way how they work.

Co-Founder / CEO at Teamhood | Website

2019 - Present Co-founder and CEO @ Teamhood.
2015-2019 Head of software engineering department at Danske Bank.
2017-2018 Partner Associate Professor at Vilnius University. Lecturer of Software Architecture course
2011 - 2015 Managed numerous smaller IT teams at Prewise.
Co-founder of RaveIT, Eylean, No Brakes Games

Certified Agile product owner and practitioner. Managed large scale enterprise projects as well as launch of small startup products.
MSc of Software Engineering at Vilnius University.

Hobbies: Racing, MTB cycling, Windsurfing

Liked an article? Share it with your friends.

Teamhood uses cookies, to personalize content, ads and analyze traffic. By continuing to browse or pressing "Accept" you agree to our Cookie Policy.