Friday, June 20, 2014

introducing flow into production

Did you know that SAP-ERP offers excellent functions and tools to implement flow? These functions are well hidden (I really don't know why) and not documented too elaborately. So let me take a shot here to introduce you to that kind of functionality and maybe you find it useful for the scheduling of your production line. It's probably taking me a couple of blog posts before I get the entire process together, so here is part 1:

Flow is usually desired on production lines which manufacture products in a sequential fashion. There may be feeder lines for components and these, more often than not, make products available for final assembly or, as in process manufacturing, the packaging lines. So, very often you have a value stream that look something like this...

In this example, two feeder lines flow into the main line and the finished product is held in a Kanban super market. As you can see, the processing times at the various work stations are all different, and therefore WiP will build up in front of some stations and other stations will starve... if the line is fed jobs without WiP control. 

And here I'd like to point out a few things:

First: A push system is defined by the fact that the Throughput is controlled (scheduled) and WiP is measured. On the other hand, in a pull system WiP is controlled and Throughput is measured. This is a fundamental statement (from the people at Factory Physics) to describe the difference between push and pull.

Second: A Kanban control cycle does not guarantee pull. The disadvantage of a Kanban system is that when the container is empty, Kanban simply says "make me", and does not tell us when or in what sequence to make the product. So you'll end up with a bunch of jobs at the beginning of the line and no one knows in what sequence and at what time to introduce the jobs into the line.

So back to push or pull... if you do what many companies do, you collect the Kanban cards at the beginning of the line and tell the people who introduce the jobs into the line to start that job first that is furthest behind (often Kanban cards are stacked into a board where each product has its own column. If a products Kanban cards pile up to push these above a red line, then that is taken as a signal for highest priority). As a result, the jobs are introduced according to what's needed at the supermarket and not according to what's flowing the line.

Look what happens in the line when you keep starting jobs...
... WiP builds up in front of the station with the longer processing time. The WiP corresponds to the difference in processing time and it increases with every new job introduced...

...and grows without bounds!

Meanwhile other stations are starving because their processing times are shorter and the previous station can't feed them fast enough. As a result, if you look on the shop floor, there is WiP everywhere, therefore it takes long until the finished product shows up at the supermarket (Mark Spearman from Factory Physics calls WiP 'visible cycle time'), and t looks like you never get what you need.

So what can you do to flow the line? You need to control the WiP and make sure that you only introduce another job into the line if there is room in the line to let it flow! The way I recommend doing this in SAp is the following:

1. Figure out a future forecast for the Kanban supermarket. Based on the forecast you can calculate the Kanban quantities for each product. You are also using that forecast to create a sequence for your product mix, but before you do so...
2. Balance the line (SAP transaction LDD1) and create a product mix with rates that exactly meet the forecasted demand. In LDD1 you can use the forecast to calculate a needed product mix and bottleneck rate that stays below the maximum rate the production line can take.
3. Based on this production rate we can now figure the takt time (the inverse of the production rate) by which we need to introduce the jobs into the line - this is the time we need to wait before we let another job into the line. If we do that, the jobs can flow through the line without getting stuck, because we gave each station a work content that allows for the line to flow (if nothing unforeseen happens in the line)
4. Now we put together the planned sequence of the jobs (with SAP transactions MF50 or LAS2). This can be done using setup optimization, heijunka or a FIFO lane.

What's important here is that we use this planned sequence ONLY to procure raw materials for the schedule and to reserve capacity on the line (yes, this is capacity planning... ). We are not executing - or introducing jobs into the line - by the plan, but rather wait for the Kanban signal. Therefore...

5. Use a replenishment strategy in the control cycle that does NOT create an order, but rather looks for an order on the Sequence and attaches itself to it.

Now we have a system that is controlling WiP - because we only introduce a job into the line when one comes out - adheres to a planned sequence that guarantees material availability and enough capacity, and  is demand driven to avoid the waste of overproduction.

Sounds too simple to be true? I try to get into more detail in follow up blogs... but it works! with standard SAP!

Tuesday, June 10, 2014

moving my Harley Davidson from Las Vegas to Denver!

Last fall I had my bike serviced in Las Vegas and got so busy, that I wasn't able to move her around. Last Friday the opportunity arose from a gig in Portland, OR and I was able to free up 5 gorgeous days to move her to Denver.

Here are some impressions from the trip from Las Vegas to Denver. Sophie will stay in Denver for the summer, so I can come back and enjoy some trekking before heading her south for the winter...