Back to Top

Making Sense of Kanban

kanban

Just like Scrum, Kanban is a methodology which helps members of the development team work together efficiently. Kanban uses four basic principles:

1. Start with what you do now

Don't disrupt what's working now! Some things may need to be changed, but don't throw the baby out with the bathwater. Kanban is very versatile, so it can be introduced gradually, without causing a company culture shock.

2. Agree to pursue incremental, evolutionary change

Kanban was designed with the goal of creating minimal resistance. Since changes are incremental, people who tend to resist change due to fear and uncertainty will not oppose it.

3. Respect the current processes, roles, responsibilities and titles

There may be value in them, and Kanban recognizes that. Some processes and roles may work fine as they are now, so they can (and should) be preserved.

4. Encourage acts of leadership at all levels

The newest Kanban principle states that you can be an informal leader by simply investing in yourself, and then using that knowledge to help the team overcome a certain challenge.

If we compare Kanban with Scrum, we see that the former's approach doesn't involve any pre-defined roles in the team. While Scrum relies on sprints, Kanban assumes continuous delivery, which may not work that well for some projects/customers.

So, my recommendation is to use Scrum if the project can be split into tasks that can be prioritized. In environments where there is a higher degree of change, the Kanban methodology will work better.

Kanban begins with visualizing the workflow that takes the project from an idea to a deliverable product. Most teams use a board with cards and columns, which are often labeled "To Do", "In progress" and "Done". As the team starts working at a new item, they move it from the "To Do" column to the "In progress" column. Then, when the item is completed, it will be moved to the "Done" column.

This approach helps team members stay motivated, as they see the various backlog items being turned from ideas into fully working code. It's also one of the best ways to identify bottlenecks, and then find ways to fix the problems.

Kanban is all about smooth flow; the items should move through the development stages as quickly as possible. By applying this methodology, the focus changes from managing people to managing work processes. Of course, to make this work, each process must be clearly defined and known by the team members.

Regular meetings that are held in front of the Kanban board help create positive feedback loops. Each team member will tell the others what he/she did in the previous day, as well as what he/she will do today. A system that involves constant feedback works smoothly, creating more value, and thus keeping the customers and the development team happy.

As a conclusion, let's summarize the benefits of Kanban:

- It's got short cycle times. This means that customers can receive new product versions much faster;

- The development team can respond almost instantly to new requirements;

- It is the ideal methodology if priorities tend to change frequently;

- Product development will always reflect the customer's top priorities;

- Since Kanban has been designed with incremental change in mind, the team doesn't have to make too many adjustments before getting started with the project;

- Feedback is almost instant, so the team can stay motivated because it doesn't waste time implementing unneeded features.