Project management methodologies: How Kanban helps to improve the software development process?

What is Kanban? 

First of all, it is a set of several rules that introduce a balance between the expected effects and possible efficiency. They were developed in the middle of the twentieth century in Japan and form an important part of lean management, the method system created by Toyota. Its popularity is confirmed by the 13th annual State of Agile report, where we can learn that Kanban is used by 61% of respondents and Kanban board as a tool for as much as 75%. It also means that Kanban is one of the most commonly used project management methodologies  IT.

Visualization of the work

So what are the most important rules? First of all the Visualization of the work of the whole team. Everyone should be aware of what other team members do. The work waiting in the queue for the execution, the one to be performed, but also the one completed should be noticeable for everyone. Thanks to this approach you achieve a much more transparent situation. The work plan is clear. If problems arise, they are detected much faster, which makes it easier to diagnose the causes of any unwanted work effects. Kanban board makes understanding the current situation and the whole IT project management process much easier.

Limiting “work in progress”

Secondly, limiting work in progress, where all the tasks have been started but not finished is included in here. This crucial principle means that every person has the opportunity to focus on a limited number of tasks at once. A lot of bad practices and their negative consequences are avoided this way. The limits may apply to the entire process as well as to its individual stages. A perfect example is the famous multitasking which, as the latest researches proved is completely counterproductive even though there is a huge need of acquiring this skill. 

However, man is unable to work on several tasks at the same time, therefore attempts to reconcile many things at once result in a waste of time and quality. Such work does not allow to get a high concentration and enter "deeply" into a given issue. Multitasking is a disease of today's work environment. Many tasks, many environments, many conversations, and of course, the excess of social media. Kanban doesn’t let this approach to work happen. 

Pull the system

Another effect of working on too many tasks is hiding the actual capacity by keeping tasks in progress. All this leads to reduced quality. That's why Kanban proposes ‘pull the system’. What is it about? We have three tasks X, Y, and Z. We also have two employees, each responsible for two stages of work, necessary to complete the tasks. Employee number one starts working on task X. When the first stage is finished then employee number two drags the task to his column and starts working on it. Meanwhile, the first person takes the Y task, does his part of the job and waits. Work on the next task Z is paused until the task Y is drawn into the next stage. When the X task is completed, the Y task can go to the second stage and the task Z to the first. That’s a very simple operation, but it changes a lot. In contrast to the push system, where each person pushes their part away, regardless of whether the next person is ready, pull system allows you to perform tasks quietly, which reduces stress, increases concentration and thus increases productivity and quality. Push approach forces to keep the unfinished work and increase pressure on the system.

kanban-process-gif

Maximizing Throughput

The last rule is maximizing throughput. Kanban gives a see-through view of the situation and the work system. The next step is to observe the work and respond to any problems. They can manifest themselves in various ways, it’s important to be aware of them and to develop an appropriate reaction. What types of reactions may be needed? One stage of the process is blocked, so the team should work proactively to eliminate this situation that affects the entire process. Adding another team member who will be responsible for helping with a blocked type of action or removing the cause of the blockage would be a solution. Another example is the comparison of the number of planned tasks and those completed. If the values ​​are not equal, it means that the team takes more or fewer tasks than it is able to do. You have to find out the reason and then try to fix it. Yet another situation mentioned earlier is keeping tasks in the column and not closing them. This hides the ‘Work in progress’ of problematic tasks. The team should explain the reason for stopping this task and resume working on it as soon as possible or remove it from the process.

The indicators play a very important role when it comes to the Kanban method. They provide you a better understanding of the current state of operations, more effective problem solving and prediction of potential work results. When it comes to Kanban  we can point out four main indicators:

  • Work in Progress (WIP)
  • Cycle Time
  • Work Item Age
  • Throughput

How does it look like at Merixstudio?

At Merixstudio, we take advantages of Kanban during working on software projects. One workflow gradually evolved in order to meet the higher expectations of the team. This is a good example of using the principles derived from Kanban. The default workflow we use in the company includes the following states:

  • Todo - a queue of tasks to be done;
  • In progress - tasks during the design and software development process;
  • Dev review - checking the executed code by another developer;
  • Ready for QA in Dev - tasks ready to be tested;
  • QA in Dev - tasks during testing;
  • Done - finished tasks
kanban-project-management-process

The project from the case study I will present required separating an additional stable environment and ability to release what is independent from the work being carried out. That is why the stage ‘environment’ and the second round of tests on it were added.

kanban-project-management-process

Know the limits 

To keep workflow management active it was necessary to add a new column, which would allow to prepare scenarios in accordance with Behavioral Driven development and to build API tests. New limits have been added to the Prepare tests and In progress columns, which have made it possible to better define the limit in work in progress.

kanban-project-management-process

The limit in the tests was removed in the next phase because such a restriction caused a bottleneck in the whole software development process. Also, the name changed from Done in Dev to Ready to merge because it seemed more appropriate at this stage. The last column allows closing recent errors from the environment stage and the final ones  (if they are detected). The last improvement was  the addition of subtasks and sub bugs, which occur in selected areas and allow better visualization of work parts within the team and thus faster task ending.

kanban-project-management-process

Is Kanban worth it?

Kanban firmly rooted in our processes at Merixstudio, it allows us to carry out our projects effectively and motivates us to work even better. You can see this in the example above, where all the important rules of Kanban are used, but this is just one example of many. So, as you can see on our example - it was worth it to implement it. 

Navigate the changing IT landscape

Some highlighted content that we want to draw attention to to link to our other resources. It usually contains a link .