The Scrum vs Kanban discussion is quite a debate with many different viewpoints including the viewpoint that it is a pointless debate. I personally think that something useful can be extracted. In order to do so we need to look inside the Scrum box and inside the Kanban box, and analyze the underlying models of organizing work. By analyzing the underlying models of work we can start thinking outside the box and think up novel ways of organizing knowledge work.
Our starting point of analysis is work organization in lean manufacturing (and the Toyota Production System in particular). It is a good starting point because it is a point of reference for many people. Note however that we will not stop here as our ultimate goal is work organization of knowledge work.
The Toyota Production System (TPS) has two distinct ways of organizing work: continuous flow (implemented in work cells) and level pull (implemented with kanban and demand leveling). Both ways of organizing work complement each other. A critical concept to tie both ways of working together is the pacemaker. Let’s review each of these concepts. (Because of space limitation our review will be very compact. I recommend the excellent book of Taiichi Ohno, Toyota Production System, for a more in-depth explanation.)
In its ideal state, continuous flow (sometimes also referred to as single-piece-flow) means that items are processed and moved directly from one processing step to the next processing step, one work item at a time. Each processing step produces a work item just before the next processing step is ready with processing the previous item. Continuous flow is implemented in work cells (or cells in short). A cell is an arrangement of processing steps next to each other through which parts are processed in continuous flow. Cells may be operated by multi-skilled workers as different machines are operated by a single operator.
Ideally, product flows continuously all the way from the raw material to the customer. In reality however, for any manufacturing process of reasonable complexity, upstream processes that feed activities downstream may be disconnected. The extent of continuous flow may be limited for several reasons such as: unreliable equipment, equipment that cannot cycle fast enough, equipment that is designed for batch. From a flow perspective this means that you need a place to focus. That place is the ‘pacemaker‘, the most important segment of your value stream. It is the process (or segment) where the product takes it final shape for the external customer. For the upstream processes the pacemaker sets the pace in line with the rate of customer demand. While the pacemaker process is organized as continuous flow, material is pulled from upstream processes making use of a kanban system. To avoid uneven demand for the upstream processes, demand leveling is performed. Without demand leveling, upstream processes would suffer really uneven demand.
Despite the fact that the work organization around continuous flow/work cells and level pull/kanban comes from manufacturing it is a point of reference for many in the lean agile community. Knowledge work is different from manufacturing. In terms of work organization, there is one particular difference that is of interest to us. It is the (obvious) fact that knowledge work is cognitive work (or at least mostly cognitive). More specifically, knowledge work is situated in the realm of socially distributed cognition where depending on their organization, groups may have cognitive properties that differ considerably from the properties of individuals (btw. Edwin Hutchins, Cognition in the Wild is a source of inspiration in this context). An important point to remember.
Also for knowledge work we can analyze the different ways of organizing work. Again, we identify two types of settings. The first is one where work takes place in a carefully organized task setting. The task setting provides a context in which to perform the work. The task setting might include a mix of tasks that are sequentially constrained (sequential control of activity) and tasks that are sequentially unconstrained. Groups that work in a carefully organized work setting are often called crews – like the crew of an airplane, or the crew on board of a army vessel. Another typical example of a carefully organized task setting is work that is organized around a workflow; or closer to the world of software development, a group that is organized around a knowledge discovery process as described by David Anderson.
The second way of organizing knowledge work is one where a task setting is absent. It is the case where the constraints between tasks are yet unknown. It typically entails a group of people with multiple skills that continuously need to co-ordinate their actions to meet a challenge or solve a problem. A good example is a group of people that swarm on a problem as exemplified in this Apollo 13 movie clip.
The above analysis of organizing knowledge work might seem both different and similar to the analysis of how work is organized in the Toyota Production System. Let’s examine the difference/similarities as they are of most interest to us.
For work that takes place in an organized task setting the principles of pull can be applied (similar to the TPS concept of pull). Work items flow between activities within the constraints imposed by the task setting (e.g. sequential constraints). Work in progress can be limited on an activity basis creating pull between activities. As the understanding of the work and the task setting evolves the work can be incrementally improved and adapted to changing circumstances. A perfect match for applying Kanban for knowledge work (which is similar but also different from the TPS concept of kanban).
What about work where the task setting is absent? In agile teams, swarming is a familiar example of work where the task setting is absent. Another interesting example is given by James Shore and Arlo Belshee in a presentation on Single Piece Flow where a multi-skilled group of people act as a work cell processing one work item at a time (similar to the TPS concept of single piece flow in a work cell). The work cell swarms each work item and only proceeds to the next work item when the previous one is done, really done. The absence of the task setting is exemplified by the “detective blackboard” in the presentation. The detective blackboard acts as a shared workspace between the group members. In knowledge work, cells need a shared representation of their understanding of the problem they are solving and the co-ordination needed to solve the problem (so cells in knowledge work are similar but also different from TPS cells).
A cell that is exploring a new demand acts as a pacemaker in knowledge work. The pacemaker is driven by external customer feedback: Are there customers for the product? Is the product solving a customer problem? Etc. The cell’s purpose is to produce hypotheses of customers and demand and to validate these hypotheses (accidentally this is exactly what is covered by discovery kanban). As demand is being established and the product is becoming more feature rich, the pacemaker can pull in work from upstream groups that provide e.g. development or maintenance services. Just like in TPS the pacemaker ties the concepts of cells and pull together.
I am convinced that I have only scratched the surface here. Different questions remain. The concept of pacemaker and how to level demand for upstream development teams, still needs deeper explanation. Still, I hope that I have convinced the reader that thinking in terms of underlying models of organizing work (e.g. cells, swarming, pull, pacemaker) opens up new pathways for organizing knowledge work. Personally the more I am working with the underlying models of organizing work, the less I feel the need to think in terms of Scrum or Kanban “boxes”. I am really looking forward to feedback and discussion.