So this is a topic I have been struggling with, implementing a Kanban type system into the product design cycle, similar to what is being used on the manufacturing line. I believe there are some parallels in some facets of the design cycle, but like most skeptics I can come up with 100 reasons that Kanban would not work for assigning tasks. I am going to explore this publicly and ask for feedback.
What is Kanban? My interpretation is that a Kanban system is like a bulletin board on the manufacturing like which is filled with little cards that describe a task. A worker on a manufacturing line would pull a Kanban card from the ‘inventory’ bulletin board and perform the task on the card, and the card stays with the good. This is WIP. When the worker completed the card he would place the card and good in the finished goods bin, which would act as the inventory point for the next workstation. There are only a finite amount of cards floating around in the system, which would indicate overall system capacity. At the end of the whole system the Kanban card is returned to the initial inventory point. The point of this whole thing is to create demand for inventory in the system by ‘pulling’, or grabbing an item in inventory, which is setting the pace of the system. The opposite of a Kanban system would be a push system, where large levels on inventory are ‘guessed’ up front and dumped on the system, so the work is pushed through in batches or the inventory level is high to eliminate downtime.
An example of a Kanban system that I am familiar with is a bin system on our manufacturing line with an outside supplier. There are 4 bins in this system, one in our inventory point, one in the WIP point, one in transit between the our inventory point at the supplier, and one bin at the supplier. In this system the overall inventory is capped to what will fit into 3 bins at any one time, with one bin floating between our inventory point and the supplier to trigger a refill.
How does this apply to the Product Design Cycle? I’m not exactly sure, but what I can say is that we have a measurable amount of engineering supply, and we have a measurable amount of work in inventory. Currently the team leads look at the inventory and priority of design tasks that enter our group and assign them out to engineers as they have capacity. I see 2 problems with this, first the team lead might not know the actual open capacity of the engineer being assigned, second the engineers are blind to the amount of work being pushed to them, leading to uncertainty in their long-term view. This is the classic ‘push’ of inventory to the processors, which relies on a good deal of manual manipulation of task assignments to ensure there are no gaps or overloads.
Turn this around, why not create a Kanban board with a number of cards that reflect the amount of capacity in the design system? Would it work for the team leads to assign tasks to these Kanban card and allow the engineers to ‘pull’ these cards when ‘they’ know they have capacity, or have an opening for concurrent work? The scary part of this from a team lead perspective is a loss of control over who is doing what, but isn’t that also the point of contemporary leadership as well? Put the people in place and trust them to be honest and reward accordingly, building relationships?
I see a couple benefits, this would reduce the guessing on engineer capacity by pushing the capacity decision right to the person with the most timely information. Another benefit would be the ability to real-time measure performance and make adjustments almost real time. This may mean that if the Kanban cards start to pile-up on the finished goods side, we have open capacity. Likewise, if the cards pile up on the inventory side, we have too much inventory and not enough processing. All of this can be measured real-time, not in chunks over a period of time.
As I am writing, I am thinking about the honesty of people to work to their potential. I am also thinking about how to segregate tasks into difficulty level to minimize task miss-match with employees. I am going to sit on this to clear my head of the ‘why nots’, and revisit again soon.
What are your thoughts? Am I crazy?