Scheduling by Any Other Name is…

If you looked up “scheduling” in my thesaurus, you might find an interesting list of alternate terms:

  • Resource Allocation
  • Resource Management
  • Capacity Planning
  • Order Management
  • Promise Date Determination
  • Operations Management
  • Materials Resource Planning
  • …and many, many more.

Call it what you will, it’s all the same. In fact, most of these terms have broader meanings than just the mere scheduling of activities: accounting, inventory management, communications and database management are functions that are often embedded in these terms. But all of these functions use information derived from decisions about which resources will be utilized for what purposes at what times. Voila! That’s scheduling!

A slightly more formal definition of scheduling might be:

The process of creating sets of coordinated resource assignments that result in objectives being maximized.

Notice that I have replaced the word “activity” with the phase “coordinated resource assignments.” If your resources are people, then an activity is just a combination of those people working together in some set of time intervals in order to get something done. If your resources are tables and chairs, then some combination of those resources must be assigned together to stage an event. So any activity that is scheduled is just a combination of resources and the intervals of time when those resources are used.

This view of an activity leads directly to the reason why scheduling is hard to do. You might need several resources arranged in a pattern of intervals and those resources are available for different periods of time. Notice that you must choose both resources and assignment times.  The resource choices are usually all or nothing. That is, to accomplish something, you must choose one resource or another, usually not a part of each. But the times these resources are available represent an unlimited number of possibilities. In other words, time is a continuous variable and resources selection is a discrete variable. (See my previous blog about “bucketless” time.)

When scheduling, not only do you have a mixture of discrete and continuous variables to find values for, but you also have to recognize how tightly coupled these two types of decisions are. Imagine for a moment that you use two experts to make scheduling decisions.  One can make only resource selection decisions and the other can make only start time decisions. If the resource selection expert picks some combination of resources, the start time expert must find times when that combination of resources is available before he or she can determine an appropriate start time. But if the start time expert picks a time first, then the resource selection expert is limited in the combinations he or she can select.

For example, if the resources that are selected are Sally and Fred, the times possible to schedule are different than if the resources selected are Sally and Sam.  And if the time selected is when Sam is available, using Sally and Fred may not work.

The two experts better collaborate. And this collaboration is at the heart of all of the tasks in the scheduling thesaurus.