Many organizations schedule at different levels of management, which can add another layer of complexity to the process. For example:
- A manufacturer has a production planning department that builds schedules based on a capacity model that describes their capabilities in terms of “pools” of equivalent machines, work stations, and people with common skills. The schedule is handed off to the shop floor where specific machines and people are assigned to the activities that have been scheduled at the higher level.
- A sports league schedules baseball games using fields and teams but initially does not assign umpires to the games. Later–after approval of the game schedule–specific umpires are assigned to each game.
- An event planner books meetings for a hotel based on the availability of rooms and the size of the support staff available. Later, individual employees are given their assignments.
While the separation of the planning problem into two or more management levels of detail may seem like a practical approach, there are obvious drawbacks that arise when changes have to be coordinated. If the detailed schedule is not possible because information wasn’t available to the upper-level, then what happens? You guessed it– MEETINGS!
In most organizations, meetings to resolve conflicts are a standard procedure–maybe even fixed on the daily or weekly calendar. Sound familiar?
While coordination is always necessary, it does make you wonder if some of the iterations are ultimately unnecessary. Why doesn’t the upper level have a better understanding of the capacity details at the lower level? Is it because those details are too complex for the planning tools used by the upper level? Do the limitations of the tools used by the capacity planners create a “guess-and-check” ping-pong game between the two schedulers?
If there are valid reasons to separate the scheduling process into multiple levels, then there are capabilities in some scheduling applications that facilitate the coordination between the levels.
Suppose the top-level production plan has been generated by the planning department. When the shop floor supervisor gets the schedule and wants to make detailed assignments, she should be able to use the same scheduling tool–only with a more detailed set of requirements—like specific machines, people, etc. It should be easy to do the following simple sequence:
- Turn off the aggregated (pool) requirements for all activities;
- Turn on the detailed requirements for all those activities;
- Constrain the earliest start times for the detailed run to be the same as those generated by the aggregated run; and
- Re-run the scheduler to get the detailed assignments.
The same tool is used at both high and low management levels; the same data structures are used except one uses more detail than the other; and any changes made by the lower level are automatically communicated upward to the planning department. A good scheduling application can reduce the coordination efforts needed within an organization, or even within an entire supply chain. Coordination happens by tool sharing and database commonality rather than meetings and email notifications. Sounds nice, doesn’t it?