My friend Tom poses an interesting question to production managers:
“If I ask you to produce different quantities and types of products every day, what quantity of people, materials, machines, and space do you need?”
Of course the answer is usually, at best, inarticulate and, at worst, a blank stare. There isn’t any way to know. Add to this the well-established research of the “bullwhip effect” which amplifies the magnitude of these fluctuations as you move up the supply chain, and it is easy to see the suppliers are really set up to fail.
Then he asks another question:
“If I ask you to produce the same quantities and types of products every day, or every hour, could you then answer the question?”
And, of course, the answer is that this is a “no brainer.” It would be very easy.
So the rhetorical question to ask is: Why does Toyota place such emphasis on heijunka?”
But my question is “Why don’t we all do it?”
Heijunka is a process of dampening variation from the production schedule. In English it is called “production leveling.” It comes in two steps:
- Leveling the daily workload – smoothing out variations in the overall takt time.
- Leveling the product mix within the daily work load – smoothing out variations in the demand from upstream processes.
Production leveling, however, is difficult, and the management has to have the fortitude to do it. Honestly, most don’t. They don’t like to deliberately set the necessary inventory and backlog buffers into place. So I’d like to explore some of the consequences of not doing it and then ask if these costs are worth it.
Consider this analogy.
Take a look at what modifications are necessary for a vehicle to traverse a rough, irregular road. The suspension must be beefed up, more power is required, the drive train is far more complex for 4×4. The road itself is unmarked, so the driver does not know where he is or where he is going without sophisticated navigation equipment.
Most of this additional hardware is actually unnecessary most of the time. But it might be needed, so it has to be there… just in case.
The driver of this vehicle is primarily concerned with what is right in front of the vehicle, and far less concerned about what is a mile (or even a few dozen meters) up the road. He will deal with that problem when he comes to it. Driving in this environment requires skill, training, experience, and continuous vigilance. People do this for recreation just for these reasons.
Now smooth out the road. Straighten out the hard curves. Give it some pavement. Put in signs so it is possible to navigate as you go. The same speed can be maintained by a vehicle which is lighter, has less power, a simpler drive system, a simpler suspension. Even though the engine is smaller, it is more efficient because it can run at a constant power output, the sudden accelerations are not necessary. Everything is easier.
The vehicle is much less expensive and much more efficient. The driver’s task is far simpler.
When you allow outside-induced variation to work its way through your system, you are putting potholes in the road. You are introducing sudden turns, sudden changes. Sometimes you are washing out entire bridges. People must be more and more vigilant and they simply miss more things. Their mental planning horizon shrinks to what they are working on right now, and maybe the next job. They certainly aren’t checking what they need tomorrow. They will worry about that in the morning.
The Effect on Materials
Even in the worst managed operations, people generally want to be able to provide what they are supposed to. They are motivated to be “good suppliers.” They also intrinsically understand that if they are idle (not producing) this is not good. Even if they are not provided with the tools and resources to do so, they will do the best they can to succeed – even if those things hurt the overall organization.
(I should note that most “management by measurement” systems actually encourage people to do things that hurt the overall organization, but that is another article.)
When these well meaning people encounter problems, they try to mitigate the effects of those problems with the resources they have available.
- If their upstream suppliers do not deliver reliably they will add inventory so they have what they need.
- Likewise, if their upstream suppliers do not deliver good quality, they will add some more inventory to make sure they have enough good material.
- If there is quality fallout within their own process, they will add inventory and up production to cover that. By the way, that increase of production also increases the demand on the upstream suppliers, sometimes in unpredictable ways.
- If their customers have irregular demand patterns, they will add inventory so the customers can have what they need, when they need it.
- If there is batch transportation either upstream or downstream from them, they have to accumulate inventory for shipping.
- If there are on a different shift schedule from either their customer or supplier, inventory accumulates to accommodate the mismatch.
Do you notice a theme here? The key point is: Without the system level view from their leadership, and without the problem solving support, all they can do is add inventory to cope.
Without leveling, any variation in demand will propagate upstream. At each step, two things happen:
- Processes that accumulate and batch orders progressively add to the amplitude of the variation.
- Irregularities within each process are added to the variation that comes from the customer.
By the time this hits your supply base, it is a tsunami. First the beach goes dry as it looks like the order base has dried up. (This is why you need to constantly reassure your suppliers with a forecast – because they can’t see regularity in your orders.) Then all of that water comes rushing in at once – and your suppliers can’t cope. Worse, they may have allocated the capacity elsewhere because they were tired of waiting on you. Lead times go up, things get ugly.
But even internally, all of this self-protection just adds more and more noise to the system.
So they add more and more inventory.
For a management team that is reluctant to deliberately add some inventory or backlog buffer to contain sources of variation and protect the rest of the system here is some news: Your people are already doing it, and in aggregate, they are adding FAR more inventory than would be needed with a systematic approach. They can only see the local problems, and each is just trying to be reliable – even if their efforts work in the opposite direction and actually introduce more variation into the system.
The Effect on People
I live in the Pacific Northwest of the USA. A fact of life living here is that, occasionally, the earth literally moves under our feet. I can tell you from experience that this is psychologically unsettling.
In our factories we do the same thing to people when the schedule changes every day. In the name of flexibility we shift requirements up and down. Add to that chasing shortages and hot list jobs around, and the daily work place is chaos. People are not sure if they are succeeding. Or, at best, they declare victory because they were not buried today.
Daily kaizen? That is just not going to happen in this environment. When you start talking about introducing flow, you threaten the self-protecting inventory buffers, and I can assure you that you will have a fight on your hands. Why? Because your people believe they need these buffers to get the job done – the job you want them to do. Now you are taking that away? Are you insane?
This is why it is critical to establish a basic takt as early as possible, then immediately start aligning the expectation to just meeting that takt.
Anything that keeps people from meeting takt becomes a problem and must be addressed. This is jidoka. Heijunka is a block in the foundation of the TPS “house” for a reason. Unless people are standing on solid ground, they can’t even consider anything like “just in time” or “stop and respond to problems” because they are spending all of their mental bandwidth just trying to figure out what is going on hour by hour.
When I was a military officer, we were trained in tactics designed to present our opponent with a constantly changing picture of what was happening. We wanted to inject as much confusion and uncertainty as possible. The mechanics of defeat on the battlefield are simple: The force subjected to this first shifts from action to reaction. They lose initiative, and therefore lose psychological control. Next the horizontal control linkages start breaking down. Each sub-unit starts to feel isolated from the others. They feel less a team and more on their own. Then, as more and more of their attention is shifted to self-preservation, the vertical chain of command breaks down. Each sub-unit is now mentally isolated and can be defeated in detail.
Ironically many factories are managed such that the workers on the shop floor are subjected to exactly these same conditions – and we wonder why they have a cynical view. We are defeating ourselves.
31 Replies to “The Importance of Heijunka”
Your logic is brilliant Mark. This reminds me of a joke I once heard:
A pessimist believes the glass is half empty.
An optimist believes the glass is half full.
An engineer would tell us the glass is twice as big as it needs to be.
Mark, how would you apply heijunka in a transactional environment, or a custom job shop environment? I have observed this repeatedly in non-manufacturing environments, where the inventory is hours of people’s time, or bandwidth to take on tasks. Often this involves salaried workers.
How would you go about introducing this in an environment with numerous takt times, depending on the project, customer, etc.?
At the risk of being trite, the answer is “it depends on the situation.” I have first-hand experience with classic heijunka box systems being used for administrative processes such as customer order entry. There is another application described in the “Administrative Flow” section of the “Mura, Muri, Muda in Health Care” post a few down from this one.
Ultimately, though, it comes back to the core purpose. The *objective* of heijunka is to meter work into the system at the same rate you expect it to actually get processed.
In the graphics and printing industry (I took the liberty of looking up your URL), you probably do at least a cursory job of estimating how long a job will take. If you were to set up some kind of time slotting system, and have each job occupy the estimated amount of time, then you would be able to apply the CHECK of PDCA to your process. You could tell if actual work was running ahead or behind your estimate, and intervene / adjust as necessary.
If you continuously compare actual time with estimated time and use that to improve your estimating process, then you get better and better at predicting.
Even complex jobs often break down into assemblies and sequences of routine tasks. Where each total job may be unique, the underlying tasks are things you know and understand. This is why your team is expert at doing these things.
For truly complex tasks – requiring a project plan – I highly recommend Goldratt’s “Critical Chain” methodology. Google it, you will turn up a lot of material.
the purpose of heijunka is to level the shop floor, right? most manufactures are more and more becoming a big job shop with product options to the moon.
TPS is a time based system and if time is level your floor will be level. Inventory is used to buffer either as raw or FG’s. The less the better.
If your through-put time is less than your customer L.T. leveling is easier, and MTO should be the goal.
But how do you level a factory that has varying C.T’s because of different options offered on its product. Some say develop seperate lines to dedicate different SKU’s, this works if the volume mix (pattern) can be maintained.
What I have done is level by time not by volume and smoothed my processes. the work content in time is the same. this only works if the through-put time is less than the customer L.T.
It is about leveling, first, the workload experienced by the main line. Sometimes you have to get creative and introduce time-based units of work that don’t necessarily correspond 1:1 with units of production.
IF you can manage to also level the mix – that is introduce at least the options that impact cycle time in a level manner, then you can have an easier time on the main line PLUS, you allow upstream feeding processes to see a more level signal as well.
THANKS for the comment! As I said to someone else, it is nice to know people actually read this stuff. 🙂
Heijunka works fine for assembly, even with variations.
But what happens when you meet monuments like punch plate utilisation, where runtime per part is less than takt, hence inventory.
Or a Paint process where the monument is running batches of colours due to change over, again inventory.
I look forward to you answer, so far no one seems to have resolved this.
Yes, assembly is always the most flexible operation. The reason to level assembly is to level the demand on the upstream operations like fabrication and paint. Once the demand on them is leveled, then any batching, etc. that they do can be understood as caused by unsolved issues in that operation vs. irregular demand from outside.
The automobile industry, of course, has all of the operations – stamping, painting – that are inherently batch. Once they had a level demand from assembly, they started progressively attacking the reasons for running batches.
In stamping, it was mainly to attack changeovers for dies – SMED – so that they can run progressively smaller batches. In paint, for a long time, they batched colors, then re-sequenced the bodies through the assembly line – recognizing that the inventory between paint and assembly was because of unsolved problems.
Recently they developed a cartridge based paint technology that allows them to switch colors on a unit-by-unit basis, so that is gone… but that isn’t the point. The point is that they did not use assembly batching as a “reason” why they could not level paint.
As for utilization, it is a very poor measurement as, typically, optimizing utilization at any operations results in larger batches and more overproduction, higher usage of working capital, more vulnerability to damage, more storage space, greater need to schedule, track, count, re-sequence, etc. I’ll work up a piece about optimizing batch sizes in the cases where the single-part run time is small vs. the takt and vs. the changeover.
I am struggling wth how I might apply heijunka in my environment? We produce highly perishable items so inventory is not an option. And we produce products that are sold in supermarkets where the daily demand fluctuates. Customers may buy more on Sat. then on Mon or they may buy more of item when it is on sale (no matter what the day). We can’t produce Mondays order until Sunday (one day before, 2 days maximum) and we can’t produce the same quantity on Sunday that will be required on Friday (for Saturdays sales) or the product will spoil in the store while waiting to be purchased. Perhaps heijunka is not useful in this type of environment? Any help you could provide would be greatly appreciated.
I replied back to you directly with some thoughts.
In general, where there is a lot of demand fluctuation, and no room to maneuver with either backlog or inventory, then something to try is to look at the value stream(s) and try to tease out whatever underlying portion of the demand is stable, isolate that from the variation (either physically or with scheduling), and work to optimize that with heavy, continuous kaizen.
Doing so will eventually reduce the resources required for the stable part of the load, giving more time and capacity for the true variable component; and it will give the leadership more mental bandwidth to better manage the variation that is left.
If anyone else reading this has thoughts or suggestions, feel free to post them here!
I read very carefully all you wrote about the leveling principle, and as far as I’m concerned, the main advantage of it is reducing the daily firefighting to find and assign people to all the assembly lines one might have…
One question is still in the void…how can I dimension my inventory? A normal supermarket logic does not work here (depending on replenishment lead-times), I must introduce some variable depending on the amount of variation my demand has. Another point: is this system compatible with an kanban system? What is the point of using kanbans for your finished goods inventory if you don’t produce ‘exactly’ what your costumer asks? In fact..should I even call Pull to a Leveled Output System?
Thanks a lot!
With regards to comment #10, that’s a very good point. You don’t have a finished goods kanban in a leveling system. It’s an either/or situation. The finished goods inventory buffer is sized around a time horizon within which you want your production rate and or product mix to remain level.
For example, if you have a 4 week horizon you would have a 4 week finished goods inventory that would absorb fluctuations in daily demand and product mix. The customers would get what they want on a daily basis but the production line will produce a mixed model fixed sequence that over a 4 month period would replenish what was consumed from the inventory. Before the 4 weeks is up you would evaluate the latest trends or projections and recalculate your finished goods level, your daily level production rate, and your mixed model fixed sequence.
Ideally, and this is very sophisticated in practice, the fixed sequence at the top level would be in some proportion equal to the average consumption rates that the component level kanbans were sized for. What this does is maximize the efficiency of the kanban replenishment system by regulating your re-ordering process. If this propagates backward through your supply chain, every stage of production and distribution will be leveled, which will enable efficiencies to be gained and costs to be reduced from beginning to end.
The flip side of this is if your finished goods kanban is actually a kanban from a customer, you should work with them to make sure their production is levelled. If they are lean enough to set up kanbans they should be enlightened enough to work collaboratively on this.
Some lean companies, like mine, keep almost no finished goods inventory. The only way to do that is to be very aware of your capacities and have a way to keep track of your current cell loading. Then you slot in the orders as they come in with the first available date and get agreement with the customer before the order is even entered into the system. Then the kanban signal will fit into a level production model.
Other companies, who find that their fluctuation problems come from a “bullwhip effect” can use the opposite of the first method. Instead of building inventory to level upstream production, they work collaboratively with their customers in evaluating downstream data all the way through the point of sale as a reality check against bad ordering practices. Demand at the end user level is often far more smooth to begin with than from your immediate customer.
over a 4 month period would replenish what was consumed from the inventory
should say “over a 4 week period”
By the way…the reason the author made such a strong case for the importance of heijunka and explained the ramifications of variability in such detail is that raising finished goods inventory is a financial investment that has to be justified, and using the second method of slotting in orders based on a planned level output rate requires some diplomatic push-back against some customers who order at the last minute and “want it yesterday”. Sales and order entry will often buckle under to avoid confrontation or lose business on the front end only to have a larger problem later when promises are broken. That’s why articles like these, with easy to understand analogies, are so valuable. Heijunka is a discipline as much as a set of tools.
Excellent information regarding heijunka; I’ve implemented heijunka in a Build to stock environment (much easier to do it…); what’s your suggestion about how to apply heijunka in a high mix, high volume, Customized orders operation?; in my new job, we handle up to 16,000 different product types, our daily avg. demand is 5K units and a minimal change of components between orders impacts forecast big time.
Keep in mind that the purpose of heijunka is to level the workload. As you point out the easiest way to do this is by leveling the product mix. If I can’t do that with end-items, then I start looking at the characteristics of the product(s) themselves, and looking for common parts, processes, etc – I look for things that make them the same (or similar) rather than the things that make them different.
With that perspective, I often find opportunities to level a great deal of the process, and isolate the truly parts of the flow so they do not disrupt the main line.
First class, absolutely nailed it.
can you explain how heijunka increases the order fill rate of the company
If the challenge you are facing is “order fill rate” then before suggesting ANY specific countermeasure such as heijunka, we would first need to dig in and understand cause-and-effect within your specific process that results in unfilled orders. There could be lots of reasons, some of them might be dealt with by leveling, but there are plenty where this might not be the next step to solving the underlying issue.
Bottom line – if I ask “Why are you having problems filling orders?” what we (at least on this venue) can answer is “We don’t know yet.”
A caveat is that leveling (heijunka) may make it easier to see the underlying issues, so it could be an appropriate next step if necessary to clear out the noise and really see what is going on.
I want to incorporate some sort of heijunka box into a weld shop area. We have a high volume of different parts and no Kanban system. Any suggestions
Hi Brandon –
It’s hard to give you specific suggestions.
In general, what you want to do is set your box up with equal time intervals, then slot equal amounts of *work* in each one.
Your weld jobs likely vary, but if you (for example) set up a box with 15 minute time slots, then a 1 hour job would occupy four of those slots, etc.
That would give you a start to see (1) how well you were estimating the times; (2) if major disruptions were happening (and when); (3) knowing when you were behind so you could respond more quickly; (4) a baseline of what “should be happening” so you have something to improve toward.