'Kanban' is a Japanese term which means a 'signboard' that signifies 'available capacity (to work)'. Kanban relates to the just-in-time technology, which outlines the scheduling system, that tells us what is to be produced , when and how much to produce it. Somewhere around 1940 and 1950, Toyota considered applying the Kanban logic in their Toyota Production System. The mind behind such an idea was that of an engineer named Taiichi Ohno. He thought of implementing Kanban, in order to standardise the flow of parts in their just-in-time production lines. 'Kanban' is basically an approach inspired from 'supermarket'. The team of engineers observed that the store clerks kept a stock of grocery items by their store's inventory, that is, according to the availability of the grocery items, and not as per their vendor's supply. The store clerks ordered more only when an item was about to sell out.
The grocer's just-in-time process of delivery forced Toyota engineers to think over the methods they used, and gradually their focus shifted to the 'Kanban System'. This method enabled matching of inventory with demand, which in turn assured attainment of higher quality and throughput levels.
The entire software development process can be thought of as a queue or a pipeline. The structure is so because the software development process involves accepting feature requests entering from one end and an improved solution being delivered from the other.
The Kanban method is an approach applied to incremental models, evolutionary process. Simply stated, the Kanban simplifies our task of dealing with the ever changing needs/demands of our clients and to assign priority to each task. Hence Kanban can be understood as a framework applied in the agile environment. Based on our understanding so far, Kanban is an evolutionary process, so let's look into the principles that form the core of Kanban :
What does a client demands, how do we manage their requests, are among the few questions that Kanban caters to in a dynamic environment. This system helps to refine our tasks in a very sorted manner. It has a widespread acceptance due to its simplicity and ease. Therefore Kanban fits perfectly in an agile work environment serving the right purpose.