Friday, October 27, 2017

Takt-based scheduling? Yes, but just not really…

Takt is a German word. It’s used in the music world. A conductor uses a baton primarily to regulate the tempo of the music. So why would we use takt to schedule production? Well… maybe to regulate the tempo of production? I see managers everywhere, trying to regulate the flow of production lines. And we intuitively know that when things flow we get better results as when things get stuck. And then there is a multitude of literature, white papers and theory that suggests many solutions, all geared towards a noise-less, well moving, uninterrupted production program to fulfill customer demand in the most efficient way. Therefore, we try to get things flowing.

…and we do so when working on the design of the production shop floor and assembly lines. Pull systems (Kanban cards) are used, a takt counter provided, scheduling boards (Heijunka boards) pop up everywhere, sirens go off when there’s a problem (in one plant in Juarez, Mexico they play ‘Für Elise’ by Ludwig van Beethoven instead) and the assembly line is organized in a way to support a balanced workload from station to station.

Do you see yourself in that picture? Yes? So what about your ERP system? Does it allow you to schedule for that setup?
Here are a few answers that I get when asking that question (in no particular order):
- We are a lean shop… we don’t need ERP to schedule production
- No, our ERP cannot support a takt-based schedule
- What do you mean…?
- Yes, we developed a great solution into our SAP system. We have a transaction called Z_SCHEDULE that does a great job reshuffling our production orders
- Yes, we have a very good production scheduler who figured this all out… yes, he works with EXCEL spreadsheets but updates everything into SAP on a regular basis so our cost controllers will get everything they need

As you can see there’s not a lot of system support for a takt-based flow line… at least perceptively. In fact, I personally have seen many, many shop floors (especially assembly lines) that are run by takt, but I have not ever seen any of those setups supported by an ERP system (as I primarily work with customers who run SAP, I’d like to limit this observation to SAP-ERP or APO). There is always a work-around (which never works)… or no support at all… when SAP has the perfect support for that… all with standard transactions! (It would be too much for an article like this to elaborate on how to set up takt-based scheduling in SAP. But I am more than happy to elaborate to specific requests – let me just point out here that SAP ERP provides transactions for line balancing, takt calculations and takt-based sequencing. It does so in its repetitive manufacturing module and from early 2018 on for a discrete setup as well by way of an SAP Add-On Tool)

At this point I just would like to point out the difference between truly scheduling takt and what is done much more often: lead time scheduling. In lead time scheduling, the operations are backward scheduled from the requirements date of the product whereas in takt-based scheduling the operations are distributed – without violations – in the provided takt time


This (takt-based scheduling) has the affect that work is evenly distributed across a production line and therefore allows the product to flow. In lead time scheduling this is not the case because WiP builds up in front of a station that has more work to do (longer operation times) than the station before. 

So don’t use lead time scheduling in an ERP system if you truly try to run by takt time. Your ERP system doesn’t work very well if it supports a different animal than the one you own. A very smart man told me recently “if it quakes like a duck, walks like a duck and looks like a duck… chances are: it’s a (f…) duck!” And then you should treat it like it’s a duck.

Sunday, October 22, 2017

A Perspective on Supply Chain Optimization


For a long time there has been a search for the perfect planning system. I have been looking for it too but after many years of trying, I've come to the conclusion that such a thing only exists for very specific situations. What I mean by that is that as we try to generalize, package and roll-out solution to the general market, I have seen nothing but either failed, misrepresented or incomplete solutions.
What I like is flexibility… having options… matching the proper strategy to the respective situation. It is hard to come up with a methodology, theory, package. philosophy or whatever you want to call it, when there is a multitude of industries, production types, inventory requirements and many, many situations. There are products that are expensive, have a long replenishment lead time, are hard to predict, demanded as a commodity, large in size, hard to move and complex to manufacture. Then there are products that go bad in a short period of time, must be refrigerated, are cheap, have consistent demand and consumption, are small in size, need a specific package and are strategic and important to the success of the business… and then there are a million situations in between and left and right of these.
No matter how much some marketers try to convince me that this or that method is superior to everything else… I don't buy it! As an example… deterministic planning (pure MRP) is prone to the bullwhip effect and has very detrimental effects to a supply chain (I've written extensively about the bad behavior of 'plan on demand/forecast driven' myself)… in maybe 97% of all cases. But in some cases it might actually be the best thing you can do. A static safety stock might increase your dead stock, but when the product is a life-saving instrument that might be exactly what you want. My point is… don't just let someone tell you what the solution is… bring up the specific situation and only look for the solution then. Because this is how most - if not all - ERP systems were implemented: make up a template or blueprint that covers most of your situations and then force the solution onto everything that comes in your way. Not a good idea as we all know when we look at how these systems are getting used (or not, when spreadsheet hell takes over the transactional business).
What I am suggesting to the contrary is that instead of buying a "fix-for-all" solution, develop good intuition to understand the dynamics of your supply chain and build a toolbox full of what I call 'Connectors'. Most people will want to sell you an all-encompassing methodology… a theory based on which service levels go up and inventory values go down. I like most of these things, just not as the 'fix for all'. There are many people today that promote buffer planning. Those are awesome solutions that work wonders in many situations because they replenish independently and de-couple themselves from variable demand. But what if the part is of strategic importance and you must know when there is an unexpected rate hike in demand? In a pure buffer you don't see this coming. Time to use an absorber. The absorber swallows little demand variation and alarms you of the big ones… in that it passes it right through - deterministically! MRP (determinism) doesn't always mean bad things… sometimes it’s actually helping you.
I am not promoting any one theory or methodology (I will leave this up to the people selling you new software or projects), I am suggesting that you put together a toolbox of connectors and apply them when the situation calls for it. One thing most thought leaders forget, is how to actually apply the teachings to the real world - in other words: if I tell you that you must use an inventory buffer, a time buffer or a capacity buffer… how do you actually do that in your planning system? A blog post is certainly not the right place to go into a detailed documentation of a system configuration, but I want to put the money where my mouth is and give you at least a few hints so that you can try a few things. I can only speak for SAP though… the following is an incomplete list of tips for SAP-ERP.
For a deterministic connector use MRP Type 'PD' and a static lot size. Every demand signal is transmitted unhindered. This will alarm you of any change - small or big - and also allows the bullwhip effect to do its thing. If you combine the 'PD' with a static safety stock on the left side of the MRP2 screen you get an unmovable block of inventory from which any demand signal is reflected and transmitted. Static safety stock is ignored in the MRP Run's net requirements calculation and taken out of the stock/requirements situation right away. All of MRP plans without static safety stock (there is, however, a way to make some or all of the safety stock available for planning).
To use a buffer in SAP you have a number of options. A buffer, as defined in much of today's literature has minimums, maximums and an ideal zone. You can work with reorder point procedures, min, max settings and the safety stock. My favorite way to define a buffer is with MRP type 'VV' and a Range of Coverage profile on the right side of the MRP2 screen. A buffer connector decouples itself from variable demand and replenishes itself based on historic consumption. The dynamic safety stock (Range of Coverage profile) absorbs the variation from actual consumption and increases with growing demand of the future. However, it only slowly reacts to future rate increases in which case I suggest to use an absorber. The absorber uses MRP Type 'PD' in connection with a dynamic safety stock. That way small variation is absorbed and big changes go right through to give you an exception messages and to generate an extra replenishment proposal.

These are just four tools in the box. You might need a lot more. As I write before… build intuition about what to expect from the dynamics of your specific supply chain and build up your toolbox.

Friday, October 13, 2017

Absorption Based Planning 

There is – and actually has been for a long time – a lot of talk about buffers, safety stocks and de-coupling points in supply chain planning. Let me add another term to this: shock absorbers. “Oh my”… you might cry out “Not another buzz term or theory!” I’m with you… too much confusion and buzz around this subject. But please allow me to take a shot on simplification and order in this area.
From experience we know that supply chains are exposed to variability in supply, demand, in process and sometimes we even inflict it ourselves. We also know that when variability is present things do not work out as planned. We might end up with stock-outs, too much inventory, late deliveries, backlogs, exception message galore or general chaos. That is why we should plan with variability in mind.
None of this is new or of any revelatory kind. We all know this. The question is what we can do about it. And there are many schools of thought and also some schools of not-so—much-thought-through thought. My approach is one of segmentation with subsequent policy setting. That is also not new but just recently I had a little bit of an epiphany (far from earth shattering) with what I call absorbers. Allow me to elaborate:
Most planning systems I come across are set up with rigid connections. I call these deterministic. In it network nodes and Bills of Materials are strictly dependent on each other and any changes in demand or supply will cause a “rattling” of the entire structure. There is immense noise and nervousness in such a system and it often produces superfluous inventory, vast amounts of stock-outs and exception messages with no end to it.

Planners are usually very aware of this nervousness and being forced to work “in” the system (as opposed to be allowed to work “on” the system) trying to facilitate the issues with expediting and fire-fighting. When the situation starts to look like an unsurmountable mountain of orders, materials and requests, the static safety stock looks like a plausible solution. That is when things completely fall apart and for some reason no one can explain why inventories grow further and stock-outs happen more frequently (delays, my friends, delays is the problem).
So what can be done? I am not claiming that I know the all encompassing solution to the problem but let me make a couple of suggestions:
First, assess your network and bills of Materials and look for spots where you can de-couple the rigid structure. What I mean by that is that you free up the deterministic planning process of dependent requirements and dependent supply. De-coupling, however, is not limited to only inventory buffers (and that is my little epiphany here), it may also act like a shock absorber.
The problem with an inventory buffer is that you can only use it if your past consumption is somewhat consistent, that part is not too expensive and the replenishment lead time is relatively short. Some of those thought schools might not agree but how do you calculate a reasonable buffer that doesn’t become real expensive when you don’t know anything about the future demand, one part costs $1,000 and it takes 3 months to replenish?
Don’t get me wrong… I love replenishment buffers to de-couple rigid supply chains but sometimes they just don’t work. I have used these buffers extensively in our optimizations but often the planner rightfully asks “what if I get unusual demand? Where is my signal? How do I make sure I don’t miss it?”. My belief is that you must ignore the little signals but still see and react to the big signals. And that can be achieved by way of a shock absorber.
So what is a shock absorber? It is NOT inventory! Let’s think about safety stock in a planning environment (static or dynamic. Counter to most beliefs it is not inventory as long as it is in the future plan and it is acting as a buffer (there is a minimum and a target level of your safety stock). If you have such a buffer, then a replenishment element is only generated when the buffer is exceeded with demand. Any demand changes that are within the buffer between a minimum and a target level are simply absorbed.
Let’s further explore how this can work when your planning operations run on SAP software. The absorber I am talking about may be set up with a Range of Coverage profile (dynamic safety stock). SAP‘s RoC has a minimum and a target range of coverage. If, let’s say, you have a minimum of 1 day and a target of 5 days and your average future daily requirement comes out to 10 pieces, then you absorb incoming variability of 40 pieces. Note that this is not actual inventory you hold in your warehouse. It is a quantity you are holding in a plan. Any changes (in forecast or customer orders) not exceeding 40 pieces are simply absorbed in the profile and do not cause noise. However, if there‘s a BIG change the signal transmits right through to the next level (use MRP type PD together with a RoC).
And this is the desired outcome for materials that can’t be replenished with a consumption based method.
Sounds too trivial and simple? Good! Because that’s what we need in this overly complicated supply chain world (sometimes it seems to me that it is made complicated on - some calculated - purpose).
In summary here is my suggestion:
1. visualize your supply chain dynamics (a value stream map)
2. run a segmentation (ABC, XYC, EFG, UVW)
3. find places where you can decouple with inventory buffers (MRP type VV or V2 with a coverage profile)
4. find places where you need to decouple with absorbers (MRP type PD with a coverage profile)
5. replenish (accordingly), rinse and repeat (periodically)
You will find yourself working „on“ the system now and the system starts working for you (instead of you working for the system).
In the end it does not take a new revolutionary approach, theory, culture or methodology. Common sense is good too. Use it.