Why Your Production Schedule Is Obsolete by Lunch (and How to Fix It)

    A production schedule is obsolete by lunch because it was calculated once, from an ERP snapshot, usually with infinite capacity and no model of who can actually run each machine. Skody AI fixes that on top of the ERP you keep (ProShop, Fulcrum or JobBOSS²), recomputing a finite plan in under a minute, from $1,500/month on the Shop plan, with operators and skills added on the Plant & Enterprise plan. From the first hour, run times overrun, operators are out, material slips, machines stop and rush orders land, and nothing recalculates the plan. The fix is a governed frozen window for the next few hours, plus a finite-capacity schedule that recomputes machines and people whenever the floor changes. More meetings or a stricter morning stand-up won't fix it.

    Written by Alex Lebedev, Co-Founder, Skody AI · Last reviewed: October 2026

    With customer input from: Zach Yeager (President, Yeager Manufacturing) · Zimmer Design & Manufacturing · Three Sigma Manufacturing

    What "obsolete by lunch" actually means

    A schedule is published at the start of the shift: printed, posted to a dispatch screen, or read out in the morning meeting. Within a few hours, enough of its assumptions have failed that following it literally would produce a worse day than ignoring it. Supervisors know this before anyone says it. They stop looking at the sheet and start sequencing from memory, the whiteboard, and whichever customer called last.

    The same problem shows up under three names:

    • "Obsolete by lunch" / "wrong by 9 a.m.": the plan is overtaken by events within hours.
    • "The ERP schedule doesn't match the floor": the system still shows the morning plan while the floor runs a different one.
    • "The schedule keeps changing": the opposite symptom, where the plan is regenerated so often nobody can stage work against it.

    All three come from one mechanism: the plan and the floor are updated by different processes at different speeds.

    Definition: schedule decay. Schedule decay is the rate at which a published plan stops matching reality after it is issued. You measure it by comparing the sequence planned at the start of the shift with the sequence that actually ran, and recording how many operations moved, how far, and at which work centers.

    Definition: schedule nervousness. Schedule nervousness is the opposite failure. The published plan changes so often, or so much, that the floor can't stage fixtures, kit material or assign people against it. A shop can have both: a plan that decays in the morning and gets thrashed by an afternoon regeneration.

    A typical morning in a high-mix shop

    The morning below is an illustration of a common pattern, not data from a specific shop.

    TimeWhat happens on the floorWhat the published schedule shows
    Start of shiftSchedule released from last night's ERP run.The plan.
    First hourA second-op setup on the 5-axis runs long. The first-article inspector is on another part.Unchanged.
    Early morningThe one operator certified on the horizontal is out sick. Two queued jobs have nobody to run them.Still shows both jobs on the horizontal.
    Mid-morningBar stock for a hot job arrives short.Job still sequenced for later that morning.
    Around 9 a.m.A customer calls and a sales rep promises an expedite. The supervisor moves it up verbally.No record of the change.
    Late morningThe lathe alarms out and waits on maintenance.Operations still queued on it through end of shift.
    LunchThe floor runs a sequence that exists only in the supervisor's head.The morning plan, now describing a factory that doesn't exist.

    None of these events is unusual. What makes the plan obsolete is that every one of them is resolved outside the system, by a person, without seeing which downstream jobs they just made late.

    Why the ERP plan is wrong before the shift even starts

    Most ERP and MRP scheduling schedules backward from due dates with infinite capacity. It stacks operations onto work centers without checking whether the machine is already loaded, whether a qualified operator is on shift, or whether material and tooling are ready. The ERP will accept twice as many hours of released work as a machine can run in a week. The system doesn't decide what gives. The floor does, informally.

    So the "obsolete by lunch" plan often wasn't feasible at the start of the shift either. It just took a few hours for the floor to prove it.

    Some systems offer a finite-capacity option (JobBOSS², for example, lets users choose finite or infinite scheduling). In most mid-market setups it caps load per work center. It usually doesn't model individual operator skills, sequence-dependent setups, shared fixtures or outside-processing queues. Check your own system. Run a realistic week of work orders through its finite mode and ask your lead supervisor whether they would actually follow the result.

    The six causes, and what to check first

    CauseWhat the floor seesWhat to check first
    Static ERP/MRP schedule (snapshot)The plan never changes after the morning, whatever happensHow the plan gets updated between ERP runs. If the honest answer is "a person, from memory," that's the root cause.
    Infinite capacityQueues that never clear at the constraint. A full day's work planned into half a shift.Planned hours vs. available hours at the constraint for the next two weeks.
    No people or skill constraintsMachines idle with work waiting because the one qualified operator is elsewhereWhether the schedule models individual operators and certifications, or only machine hours. If machines only, idle staffed machines are expected.
    Rush orders and informal priority changesEverything reshuffled mid-morning. Setups broken out of family.Expedites accepted per week and who authorized them. If nobody owns that number, whoever calls rewrites the schedule.
    Machine downtimeOperations still queued on a machine that's downHow long it takes for a breakdown to show up in the plan, and whether anything reroutes the queued work to alternates.
    Material shortages and outside-processing slipsJobs sequenced that can't start. Heat-treat or plating returns later than the fixed offset.Whether material readiness gates release, and whether outside processing is a fixed lead-time offset or a tracked return date.

    Two data issues make every cause worse: run and setup standards that don't match actuals, and completions keyed hours late. If actual hours differ from standards by a wide, inconsistent margin, or completions are entered the next morning, fix that first. No scheduler can recompute accurately from information that's wrong or a day old.

    The causes feed each other. Optimistic standards build queues. Queues make every date fragile. Fragile dates make expediting feel necessary. Expediting breaks setup sequences and pushes actuals further from standard. That loop is why fixing one thing at a time often disappoints.

    How to fix it: stable near-term, recomputed everywhere else

    The fix has two halves, and you need both. Governance alone stabilizes a plan that's still wrong. Recompute alone produces a plan that changes too often to follow.

    1. Set a shop-floor frozen window (hours, not weeks)

    An MRP time fence and a shop-floor frozen window are different tools:

    • MRP time fences (frozen, slushy, open) protect the material and master schedule over weeks, so purchasing isn't whipsawed by demand noise.
    • A shop-floor frozen window protects the operation sequence over the next few hours, so setups in progress, staged material and assigned operators aren't thrown away.

    For the floor:

    • Anchor it on the constraint. Freeze the bottleneck first, not every work center equally.
    • Pick a time, job-count or hybrid rule. For example, "the current shift", "the next few jobs on the constraint", or whichever is shorter.
    • Start short. A rule that gets followed beats a long one that gets ignored. Adjust it after reviewing a month of changes.
    • Gate entry on readiness. Don't freeze jobs whose material, program, tooling, fixture or outside processing isn't confirmed. Freezing a job that can't start is fake stability.

    2. Write the expedite rule before the next phone call

    Decide who may accept a rush order, what they must see before saying yes (which jobs it pushes late, and by how much), and where the decision is recorded. A simple class system helps:

    • Class 1: breaks the frozen window. Requires named approval.
    • Class 2: goes into the first open slot after the frozen window.
    • Class 3: no schedule break. Quote it properly.

    Record a reason code on every change inside the window: machine down, material, quality hold, approved expedite, operator absence, planning error, supervisor override. The pattern tells you whether you have a scheduling problem or a readiness problem.

    3. Shorten the feedback loop from the floor

    A schedule can't respond to events it doesn't know about. If completions reach the system the next morning, the best possible plan is a day behind. Operator terminals, machine monitoring, or a disciplined reporting cadence at the constraint all shorten the loop, and each can be done independently of any scheduling engine.

    4. Recompute finite capacity as the floor changes, for machines and people

    Beyond the frozen window, recalculate the sequence against the constraints that actually apply:

    • machine calendars, alternates and downtime
    • individual operators, their skills and certifications, and shift attendance
    • sequence-dependent setups and setup families
    • material readiness and outside-processing return dates
    • routing precedence and due dates

    A planner can do this for one work center. Nobody can do it for a whole shop, several times a day, while also answering the phone. That's the job of a finite-capacity scheduler: recompute a feasible order of work after something changes, and show which orders are now at risk. A prettier chart doesn't solve that.

    Events that should trigger a recompute:

    • A long operation posts materially early or late
    • A machine goes down or comes back up
    • An operator absence or skill gap becomes known
    • Material arrives or slips
    • An outside-processing return moves
    • A Class 1 or Class 2 expedite is accepted
    • A quality hold is placed or released

    Recompute without thrashing. Lock jobs in setup or in process, respect planner locks and the frozen window, and only change the sequence when the benefit is measurable. Show the floor what changed and why, not a brand-new plan every cycle.

    5. Measure planned vs. actual drift

    Keep the plan as issued and compare it with what ran. Decay rate per work center tells you where to intervene. It's also the honest test of any scheduling purchase: if decay at the constraint hasn't fallen, the system hasn't done its job yet.

    Order of operations: fix feedback speed first, governance second, the scheduling engine third. A fast engine fed stale completions produces confident, wrong answers.

    How to tell which problem you have

    Go in order and stop at the first honest "no."

    1. Are routings and standard times trustworthy? If not, fix the data. No scheduler repairs routings nobody believes.
    2. Do completions reach the system within an hour or two? If not, that delay caps your schedule accuracy.
    3. Is the load within the shop's real capacity? If the constraint is booked beyond what it can physically run, this is a capacity and order-acceptance problem. Software will describe it accurately and change nothing.
    4. Does anyone own the sequence after mid-morning? If not, start with the frozen window, the expedite rule and a defined shift handover.
    5. All of the above hold, and the plan still decays? Then the problem is computational: too many interacting constraints changing too often to resequence by hand. That's the case finite-capacity recompute is built for.

    Fulcrum, JobBOSS² and the planner in the middle

    Many high-mix shops already run Fulcrum or JobBOSS². Both are capable job-shop systems of record, and both include scheduling:

    • Fulcrum markets an automatic scheduler ("Autoschedule") that factors in shifts, equipment and operations, adjusts as new orders arrive and priorities shift, and allows drag-and-drop changes inside a near-term freeze window.
    • JobBOSS² markets a drag-and-drop Planning Board and a Whiteboard Scheduler, a choice of finite or infinite scheduling, and what-if scenarios.

    The difference shows up after 9 a.m., not in the demo. When a machine goes down, a qualified operator calls out, or an expedite lands, someone has to decide what the rest of the shop does now. In both systems, that someone is still the planner:

    • The planner has to judge whether the regenerated or current schedule is actually runnable. Is the right person on that machine? Is the material there? Did a setup family just get broken?
    • The planner then re-sequences the near-term work by hand. Drag-and-drop inside a freeze window exists for exactly this: it's where the person steps in to fix what the scheduler didn't account for.
    • Each move is judged from experience, one conflict at a time, while the downstream effect across other routings, shared operators and due dates stays mostly in the planner's head.

    That's the man-in-the-middle loop. It's manageable in a small shop. It breaks down when one disruption ripples through dozens of jobs and a handful of people who are each qualified on different machines.

    Skody takes the planner out of that loop without taking away control. After a disruption, Skody recomputes a finite plan across machines and individual people, their skills, setups, material and outside processing. It does this in under a minute, then proposes the decision: which jobs move, which machine and which person run them, and which due dates are now at risk. The planner reviews, accepts or overrides. Skody also has drag-and-drop and a manual mode, but they're for exceptions, not the everyday way the plan gets repaired. This is the main reason shops running Fulcrum are moving their scheduling to Skody.

    Skody runs on top of Fulcrum and JobBOSS². It reads jobs and routings from them, so the shop keeps its system of record for quoting, jobs, purchasing and accounting, and hands the scheduling decision to Skody.

    Whatever you're evaluating, ask each vendor to show you, on your own data:

    1. Does it model individual operators and skills, or only work-center hours?
    2. Does it handle sequence-dependent setups and setup families?
    3. After a mid-shift breakdown, does the system recompute a feasible sequence for the rest of the shop, or does a person resequence by hand?
    4. Does it gate operations on material readiness and outside-processing returns?
    5. How long does a full recompute take on your volume of open operations?

    When your schedule is supposed to change

    A high-mix schedule that never moves is also wrong. If Monday's sequence is still Friday's sequence in a shop with unique routings and variable run times, one of three things is true: the plan isn't being followed and nobody updates it, the buffers are so large the plan doesn't constrain anything, or the shop is less high-mix than it thinks.

    The goal isn't a stable schedule. It's a current schedule, stable where stability matters: inside the frozen window, at setups already underway, and in dates promised to customers. Change beyond that horizon means the system is working.

    Where Skody fits

    Skody is the production decision layer on top of the ERP a shop already runs. The ERP stays the system of record. Skody reads orders, routings, materials, production state and related ERP data. It models machines, skills, shifts, pallets, setups and outside processing, and resolves conflicts automatically. The resulting schedule is optimized first for due dates and then for throughput. When conditions change, Skody recomputes the whole shop in under a minute: on demand, on a significant ERP change, or continuously where it's wired that way. Jobs in setup or in process are preserved, and planners see what changed. Skody is not an ERP.

    • Integrations: ProShop, Acumatica, Fulcrum, SYSPRO and JobBOSS².
    • Security and hosting: ITAR-ready Gov Cloud and SOC 2 Type II. All plans include hosting.
    • Pricing: plans start at $1,500 per month for the Shop plan (month-to-month). The Plant & Enterprise plan, for workforce and skills, multi-site and advanced environments, has custom pricing. See pricing.
    • Implementation: most customers begin seeing value within weeks, not months.

    Good fit:

    Less likely fit:

    • Simple, repetitive production with little constraint interaction
    • You're primarily shopping for a new ERP
    • You need a broad enterprise MES/MOM replacement

    Shop size. Most small shops are well served by Excel or a whiteboard. Some small shops still have real complexity, such as pallets, fixtures and setups, shared operators, or outside processing, and benefit from finite scheduling. What matters is how many constraints interact, not the machine count.

    Skody also inherits the quality of the data it reads. Shops whose routings aren't trusted, or whose completions are keyed a day late, get more from fixing that first.

    Published customer results

    From Skody's published case studies. These shops kept the ERP they already had.

    • Yeager Manufacturing (Winter Park, FL; precision manufacturing; ProShop ERP) uses live what-if scenarios in Skody to test labor, capacity and material changes before they become delivery problems. Zach Yeager, President:
      We used to look at reports and guess where our bottlenecks were, but we wouldn't see the results for a couple of weeks. Now in scheduling we run numerous scenarios in real time… Did our delivery date actually improve? If yes, wonderful but if no then we look at where the bottleneck is now and go solve that one.
      Read the Yeager Manufacturing case study.
    • Three Sigma Manufacturing (Kent, WA; aerospace and defense; ProShop ERP) reports the following as customer-reported results:
      • 47 machine work centers scheduled
      • planning horizon extended from one week to one year
      • a 15% reduction in production delays
      • scheduling time from days to seconds
      • the planner accepting the computed baseline about 99% of days rather than rebuilding it
    • Zimmer Manufacturing (Leander, TX; CNC machining; ProShop ERP) runs Skody dashboards on shop-floor monitors, with an OTD dashboard updated every 15 minutes. That turned delivery review from a monthly meeting into something the team can react to within the hour.

    Frequently asked questions

    Why is my production schedule obsolete by lunch?

    Because it was calculated once, from a snapshot of ERP data, and the shop started diverging from it immediately. Operations overrun standard times, an operator is absent, material arrives late, a machine stops, or a rush order lands. None of those events updates the published plan, so by midday it describes a factory that no longer exists.

    Why is my schedule already wrong by 9 a.m.?

    Usually because it was never feasible to begin with. Most ERP and MRP scheduling works backward from due dates with infinite capacity, so it loads machines past what they can run and ignores which operators are on shift. The first few hours of the shift simply expose that, and the first disruption finishes it off.

    Why doesn't my ERP schedule match what's happening on the shop floor?

    The ERP plan and the floor are updated by different processes at different speeds. The ERP recalculates on a batch run, and completions are often keyed hours late. The floor changes every few minutes, and supervisors resequence verbally. Until floor events feed a schedule that recomputes, the two will diverge every shift.

    How often should a production schedule be recalculated?

    As often as the inputs change enough to alter what should run next. In a stable repetitive plant that may be once a day. In a high-mix job shop it's typically several times a shift, triggered by long operations posting, machine downtime, operator absences, material arriving or slipping, and accepted expedites. Hold a short frozen window at the front so the floor isn't thrashed.

    What is a frozen window, and how long should it be?

    A frozen window is a short period at the front of the shop-floor schedule, often the current shift or the next few jobs on the constraint, where the sequence only changes through a defined exception process. It's different from an MRP time fence, which protects the material plan over weeks. Start short, only freeze jobs that are ready to run, and adjust after reviewing a month of changes.

    Doesn't Fulcrum's automatic scheduler already fix this?

    Fulcrum markets an automatic scheduler plus drag-and-drop inside a freeze window, and JobBOSS² offers drag-and-drop planning boards. After a disruption, though, the planner still has to judge whether the schedule is runnable and re-sequence the near term by hand, so the planner stays the man in the middle. Skody recomputes a finite plan across machines and individual people in under a minute and proposes the decision for the planner to approve. Skody runs on top of Fulcrum and JobBOSS², reading jobs and routings from them.

    Do I need to replace my ERP to fix schedules that go stale?

    No. The ERP is a good system of record for orders, inventory and costing. Stale schedules come from how the plan is calculated and updated. Skody runs on top of ERPs including ProShop, Acumatica, Fulcrum, SYSPRO and JobBOSS², reads their orders and routings, and recomputes the schedule, so the ERP stays in place.

    Should I fix my data before buying a scheduler?

    Often, yes. If routings and standard times aren't trusted, or completions reach the system the next morning, no scheduler can recompute accurately. The order is feedback speed first, governance (frozen window, expedite rule) second, and the scheduling engine third. A fast engine fed stale completions produces confident, wrong answers.

    Which events should trigger a schedule recompute?

    A long operation posting materially early or late; a machine going down or coming back; an operator absence or skill gap becoming known; material arriving or slipping; an outside-processing return moving; a Class 1 or Class 2 expedite being accepted; a quality hold being placed or released.

    How do I recompute without thrashing the floor?

    Lock jobs that are in setup or in process, respect planner locks and the frozen window, and only change the sequence when the benefit is measurable. Show the floor what changed and why instead of publishing a brand-new plan every cycle.

    How do I know whether a scheduling fix is working?

    Keep the plan as issued and compare it with what actually ran. The decay rate per work center shows where to intervene. If decay at the constraint hasn't fallen, the system hasn't done its job yet.

    Sources and verification

    Vendor capabilities on this page come from each vendor's own public product pages, checked September 2026: Fulcrum production scheduling (fulcrumpro.com) and JobBOSS² scheduling (ecisolutions.com). Skody publishes this page and says so plainly. No vendor paid for inclusion. Product functionality changes, so confirm critical requirements directly with each vendor.

    See your schedule recomputed on your own data