You run one of the most complex production systems on the planet - a high-mix, low volume job shop that does custom fabrication. Things change constantly. Staying on top of production planning and execution requires experience, expertise, and precision.
This post is about improving precision with finished good delivery dates.
Just-in-time manufacturing goes hand-in-hand with just-in-time delivery. We don't want to manufacture too late in the process, without adequate buffers, and run the risk of delivering late. We also don't want to manufacture too early in the process and incur unnecessary inventory costs or occupy machines and resources that could otherwise be used for more profitable work. The opportunity costs are invisible, but high.
Accurately setting delivery dates is paramount to utilizing your shop's capacity efficiently and in a cost-effective manner. Furthermore, it sets you and your customers up for repeat business, better predictability, and less revenue volatility.
Problems with common practices
What process does your shop use to set delivery dates? Do you use average lead time as a data point to deviate from? Do you have sales people, beholden to quotas and commission checks, saying "yes" to more than they should? Or do you have one of your senior, most experienced machinists just take a look at the RFQ and give you his best estimate?
All of the above are methods that leave room for scheduling improvement. Promising delivery dates based on average lead time does not take into account changing customer demands or shop floor capacity that can fluctuate on a daily basis.
When customers request a quote, they are interested in two things: the quote amount and the delivery date. Your shop's sales team, eager to please customers and hit revenue goals, may agree on aggressively early delivery dates that don't take into account current work and/or constraints. What other choice do they have? Setting a delivery date too far in the future could cause that customer to seek an RFQ from competitors.
Overly aggressive delivery dates have a compounding effect. Not only are those jobs at high risk of being delivered late but they will undoubtedly cause existing jobs to be late as well. Not to mention the cost spikes due to unplanned overtime, queuing, etc.
That is, unless the stars align and the winds are in your favor and everything runs perfectly, which it rarely does.
Consider all constraints for accurate capacity
Lead times are a product of your shop's capacity and the current orders that have been scheduled and will eat into that capacity. Like Mr. T used to say:
Okay, fine. Maybe Mr. T never said this and I just made it with a meme generator. But I'm sure he'd agree.
Machine capacity is at the heart of your shop's capacity but is by no means the only factor. Additional capacity constraints include tooling, space, materials, and personnel. Accounting for all of these factors allows a more accurate model of your shop's capacity so you can gauge the load on that capacity.
Jobs should be scheduled according to user-defined priority. This priority pushes jobs forward or back in the production schedule, depending on specific priorities and, in some cases, extenuating circumstances.
Combination production scheduling
Forward scheduling involves starting at the current day and scheduling jobs/operations out into the future. The downside of forward scheduling is the tendency to complete jobs significantly earlier than needed, incurring inventory or opportunity costs.
Backward scheduling is the reverse, starting at the delivery date and scheduling backwards. The downside of this approach is the possibility of having to schedule operations earlier than the current day, indicating the need to deviate from normal operations, such as incur labor overtime costs, to hit the due date.
Forward/backward combination scheduling, usually executed with a scheduling software tool, eliminates the downsides from the above approaches. Jobs aren't scheduled before the current day and without completion too early. Gaps are purposefully scheduled that can be used as buffers, delivery date promises to customers, or as standby capacity for high-margin rush orders.
Fit scheduling for rush orders
As mentioned above, combination scheduling purposefully schedules gaps between orders that can be used for a variety of purposes. One of these is accommodating rush orders that are usually higher-margin to make up for the rushed delivery. Production operations are scheduled backward from the due date, and existing orders are pushed earlier.
Some software programs will give you a risk-based readout of how these possible changes to the schedule affect existing due dates. For example, if accepting a rush order X pushes the risk of late delivery on jobs A, B, and C past a certain threshold, you could use this data to decline the rush order or negotiate a later due date.
Model different scenarios
This is, perhaps, the most important thing you can do for your shop's scheduling. You can simulate different rush orders and the effect they would have on outcomes for existing jobs. You're able to remove variables as well, such as removing a machine from the schedule to simulate it breaking down, to see if your shop's capacity can handle this unplanned event.
Resource utilization visualizations are an excellent tool for scenario analysis.
Plans are only as good as your ability to deviate from them. Stress-testing your production schedule ensures, no matter the circumstance, you'll hit your finished good delivery dates and keep everyone happy.
If there's one takeaway from this post it's to make realistic estimates of your shop's ability to hit delivery dates. This involves treating the production environment for what it is - something dynamic and constantly changing that benefits from accurate estimates of capacity, constraints, and an emphasis on robust scenario analysis.