The Kanban approach in the digital enterprise
Digital "agile" companies are ripe for smooth development flows. What they miss is a real kanban system.
Julie's question
Following a recent gemba walk in a production plant, I became interested in the issue of just-in-time. The company has made a lot of effort to implement smooth pull flow throughout the shop floor. However, I remembered what the senseis used to say "flow wherever you can, pull where you can't & level always". On this gemba walk, there was little continuous flow. It looked like it was out of the equation although in some places there was no technical reason to go to pull flow rather than one-piece flow.
So this brings me to my first question: What are the reasons that prevent us from going to continuous flow?
Sandrine Olivencia's answer
Thank you Julie for your question. I think we don't see much continuous flow in companies because we stop too early in our practice of TPS. We forget that lean is a perpetual learning path, with an ideal goal in mind.
We forget that lean is a perpetual learning path, with an ideal in mind: value streams that flow through the entire company and its network of suppliers one piece at a time. They flow in a fluid manner, driven by customer demand. People actively work together to creatively remove obstacles. This remains an ideal because it is difficult to achieve 100%. But the goal is to strive to get closer to this ideal in order to continue to discover new problems and know how to overcome them effectively. This requires endurance and a thirst for learning.
For those of you who are reading this and do not work in a factory, let's remember that a "part" in a continuous flow can be:
- a customer order in a restaurant
- a pay slip in an HR department
- a feature to be developed for a software program
- a test to be launched by a QA department
- a prospect to be turned into a customer in a sales department
- an advertising campaign to be conducted in a marketing agency, etc.
The part is what a company, a team, or a person within that company has to produce in order to satisfy its (external or internal) customers.
In a continuous flow, or one-piece flow, each workstation has only one part to produce at a time, and there are no parts waiting between two stations. This makes it much easier to spot problems and react quickly to avoid passing these problems down the line. When someone knows that they must finish the current task before moving on to the next, they feel obliged to talk to colleagues or team leaders in case of a glitch. On the other hand, if they have the choice, they will put aside the task that is bothering them and move on to something else. This will have the effect of hiding the problems in a pile of parts and tasks. But these parts represent customers who are waiting.
Transforming the work environment so that each person works on only one piece at a time is feasible in almost any context. It works very well in digital businesses. This is as simple as creating a prioritized list of parts to produce at each workstation. Each person knows the order in which they need to work to meet their customers' demands. They have a visible place for them to drop off their finished parts so that the next person at the workstation can come in and help themselves. It also allows to agree on when and who to call for help when they can't finish a task.
This approach (kanban) has the merit of putting people in a position to see problems more easily and solve them with their colleagues more quickly. At the same time, they learn to do things better and better. Implementing a true lean kanban is already a very big step for digital companies that are often built around "agile" activities and rituals. These "agile" activities are more oriented towards process and work organization than problem-solving and knowledge development. Kanban allows the enterprise to experiment with lean without changing their way of working too much.
Indeed, the real difficulty of continuous flow is to synchronize all the items in the value stream in such a way that there are no stagnant parts between the items. This requires:
- setting a "takt time" or a production rhythm based on customer demand
- cutting the work so that all the stations finish producing their part at the same time (at the takt). This is more difficult to implement than a kanban system because it requires rethinking what people do and how they do it in order to balance the workstations.
Another mental block of digital professionals is that variability is an inescapable condition of their job. "We don't make parts of the same size and in a repetitive way like in a factory", I often hear them say. But variability is a problem in all contexts, for customers and employees alike. Neither the customer nor the developer is happy when a developer deploys their code and misses a bug. They'll have to rework it after they already started another task. Let's imagine a team responsible for producing a website. It could
- split the work into small batches of similar size
- then define a takt time according to the customer demand, real or simulated
- balance each workstation to make sure to have the right resources and people at the right place
- then follow the development of these small batches (at the takt) throughout the production chain.
It's even easier to do this these days because producing software is more like assembling components than writing a complete program.
Regardless of the type or size of the company, the path to lean remains the same because the goal of continuous flow is to create a highly collaborative and creative work environment. It is true for a factory that manufactures industrial parts, a service company such as a bank, or a digital startup. This is the basis for developing agile companies where everyone knows how to spot unknown problems quickly, is not afraid to talk about them with colleagues (internal or external), and has the freedom to propose and try their own solutions to solve them quickly.
This story was originally published in French by Sandrine on leblogdulean.