Performance & Load Testing

Resources Center

Core principles and properties in KANBAN explained!

by Swaraj Gupta

Kanban derive its name from the Toyota principles of Lean and JIT production process. Some of Toyota’s key principles made it one of the market leaders in low cost production and helped them become industry leader in setting up many practices that others in the industry tried to follow. Kanban as in software development methodology is an approach of Agile product development in which an end product is developed following just in time principles and incremental development approach. As per Wikipedia, it can mean a visual process management system that can mean what to develop, when to develop it and how much to develop?

Kanban software development approach is based on some key principles and properties and those are explained here –

Principles

Kanban is a Japanese word for ‘signboard’. Its core idea is to bring about continuous improvement through innovation and collaboration. It is based on 4 key principles and these are –

  • Start now with what you are doing: There are no standard set of roles, processes, etc. Kanban prescribes to start with whatever the team has and start producing and improving from that point. It prescribes
  • Target incremental change: Toyota’s method of improving the process incrementally is world recognized and lot of firms in different business domains have in some form or another incorporated this concept. KANBAN also very strongly propagates the concept of incremental change. ‘Change is never constant’ is something everyone believes, but in KANBAN there are meetings setup in a timely manner just to discuss the ideas to improve the team’s operations of getting to the desired output.
  • Current processes, people, roles & titles: KANBAN doesn’t advocate drastic changes. KANBAN practitioners believe that the existing processes and systems in the team could also have been because of a strong business reasons, some of which the change managers may not be clearly aware of; drastically changing everything could lead to significant impact. Also change is driven by people and any significant changes in team structure or roles may create a sense of fear and inhibit innovative thinking within the team. KANBAN also believes in empowering every team member. It hence becomes all the more important to respect the existing structure of the team and bring gradual improvements to it as and when desired.
  • Every team member is a leader: This is one of the newest principles in KANBAN. Practitioners observed that imbibing the sense of responsibility within the team members churn out great results. Also making every team member a leader and change manger help them to bring innovative ideas to the table and improve operations and the quality of the deliverable. They hence have adopted the idea of inculcating leadership attribute within everyone and thus further empowering the team.

Core Properties

  • Limit work in progress: This also comes from efficient manufacturing ideas. Basically KANBAN advocates minimizing the work in progress at every step of the manufacturing phase. This demands quick issue resolution, quick and effective improvement and low wastage. Over the years it has been observed that this also inculcates a sense of innovation and improvement within the team members and instigates their thinking.
  • Visualize the workflow: To bring a change in a system it is extremely important to understand the system thoroughly from requirements till delivery. Without understanding the nitty-gritties, it doesn’t really make sense to aspire for improvement / change. Team work hence becomes extremely important in KANBAN projects. Many teams follow a practice of taking a big dashboard (or white screen) and laying down each component of the system on it to the granular most level they can. This helps them get more clarity on the existing system and provides them an opportunity the existence of different steps in the process (their importance). Such discussions in most cases drive ideas and thus change.
  • Improve continuously and collaboratively: As discussed earlier, in large projects different activities are handled by different set of people and it hence becomes extremely important to work in collaboration, discuss exhaustively and bring improvements and changes out of those discussions.
  • Process to be explicit to every team member: Like how we discussed in the workflow point above. It is difficult for team members to actually suggest changes and bring improvements if they know only a component of the system and not the complete system. It is thus essential for the team to get atleast a high level understanding of the entire process, importance of each component and integration of one with another while working in KANBAN project. This allows them to understand problem, think for solution, find one (or many) and implement them in the system.

Thus here are some key principles and properties in KANBAN process and to adopt KANBAN, giving emphasis on each of them is essential. In the next article, I will speak about some more methodologies in AGILE and the advantages – disadvantages in each.

This post is also available in: French


About Swaraj Gupta

Swaraj is a performance, automation and functional test expert who has worked on variety of desktop and mobile applications. The major areas that he focuses on are - functionality, usability, performance and consistency of application behavior. He manages the entire performance testing cycle of the projects that he is responsible for and works on multiple such engagements simultaneously. He has worked in variety of different business domains that include - Hi tech consulting, Financial services, management consulting, auditing services, e commerce, e learning, etcT

Learn more about QTest
AgileLoad.com
Agile Software Security


More Blog