As I will speak on this subject at ASUG / SAPPHIRE 2013 in Orlando in May (on Wednesday the 15th), I’d figured it be worthwhile to solicitate some feedback from you on my ideas and findings.
First off: in my opinion one size does NOT fit all. When you have fabrication, processing, assembly and packaging or other steps, all in one manufacturing plant, you can employ more than one strategy. Who says it all has to be discrete production orders? If, as an example, a bottling line starts out with a blending process, then fills bottles and eventually packs the bottles into cartons, you can schedule the batch process orders for blending with a Product Wheel (I refer to Peter King’s book on ‘Lean for the Process Industry), run the bottling line with takt-based scheduling of a model mix and pull the finished (packed) product with a Kanban Control Cycle (which is also a scheduling method!) into the distribution center.
So what kind of scheduling methods are there in SAP-ERP? Probably more than you think. But before we list some of them, let’s discuss what ‘production scheduling’ actually is. As is depicted on the following slide, a typical internal supply chain goes through the cycle of planning, scheduling and execution. Scheduling then, is the process of pooling the planned orders, leveling those to take out variability and noise, and eventually sequencing the orders within the available capacity.
Once that has been done, we have a feasible (or finite) schedule. So the question in my mind is: what method do we employ to take orders out of the pool, level them for even distribution and place them in a sequence so that they can be executed on time within the available capacity?
Therefore the art of scheduling lies in the ability to effectively utilize free resources to empty the pool and fulfill the demand. Like channeling a waterfall of requirements onto value streams without having them overflow.
(…by the way… we should also pay close attention to those containers collecting the product that comes off the line… they have a maximum capacity too and cost a lot of money in form of finished product stock holdings)
So what do we have available for production scheduling in SAP-ERP? There is the traditional capacity scheduling of discrete orders with transactions CM21, CM22, CM25 and CM29. Within it, you may schedule using various strategies like setup optimization where you put orders with similar setup requirements together. Or you can use heijunka to evenly distribute and make Every Product Every Interval. Another option is to simply line up one order after another as long as there is available capacity. Good practice is to not schedule up to 100% of capacity (or even above, as many do) so that you can buffer variability (see my blogs on Factory Physics…) and that kind of thing can also be provided in the strategy.
Then there are the tools of repetitive manufacturing which provide excellent methods which allow you to adhere to lean and agile principles. When using RepMan, the MRP run generates executable Run Schedules (planned orders that you don’t have to convert). That opens up a number of opportunities like takt-based scheduling which guarantees ‘flow’, if done right (and if you periodically balance the line)
RepMan can also combine a planned sequence with Kanban. In that case the actual Kanban withdrawals (those are actual demand) replace a planned order that was sequenced and capacity leveled.
Kanban is a scheduling method too! It is an autonomous one… and here I would like to talk about the difference between central planning and autonomous planning:
Most of us plan centrally. When the S&OP is handed over (the transfer of demand to MRP), we usually go ahead and kick off the planning, scheduling and then the exccution phases. That is central planning. And that is how the former “Deutsche Demokratische Republik” (DDR or East Germany) has done it.
The DDRs central committee (their S&OP I guess) put a plan together for anything from clothing, cars and living spaces to sausage, vegetables and flour. And sometimes there was plenty, but mostly you had long lines of hungry people in front of the butcher. This kind of thing is not really a big problem for iPhones (we still have those long lines), but when it comes to basic stuff that we need everyday, we want some insurance that we can buy that any time of the day. That’s where the Keynes’s market forces came in handy for us Westerners. We let our butchers decide, based on their business sense and experience, what they wanted to put on the shelves. And that, for reasons I really don’t need to get into here, worked out pretty nicely.
So it is with production scheduling. Sometimes you just want to let the crew down at the work station make the decision what job they release into the cell at what time and in what sequence. They see variability first hand, timely and with their own eyes. Give them a workload for the week and have them deliver by Friday (or give them orders for a day… or for a months).
I am not saying that you should do that for your entire factory (remember… one size does NOT fit all), but there are situations and instances that are run much better if you just let it go. Others require careful central planning to be successful. The art, again…, lies in finding the right solution for the right problem.
And don’t go crazy trying to find the perfect sequence! It is impossible to do, because if you only had to schedule 3 jobs on one work center, there would be 6 possibilities for a sequence (3 times 2 times 1 = 3! factotum). If you have 25 jobs to schedule a sequence for on one work center, you get 25! factotum possibilities; and that is a number if expressed in pennies it would cover the state of Texas… 6 miles high! Not even the best APO heuristics can come up with the perfect result in a plant with 5 lines and thousands of jobs.
Sometimes you just need to use common sense and be willing to try something new. Have faith in the scheduling options ERP offers and try to learn as much as you can about each strategy… And! use repetitive manufacturing! unless you make every one of your products only once and never again…