Scheduling is basically answering the questions, which resources should I use? And when should I use them? The “which” question gives rise to a set of alternatives (that you can read more about here), and the “when” question gives rise to an infinite set of time possibilities. The coupling of these two questions is what makes scheduling challenging.
Nevertheless, there are some environments that have intentionally uncoupled the “which” question from the “when” question. They have chosen a process that builds a schedule based on the assumption that there are sufficient resources of some kinds to support schedules constrained by the scarcity of others kinds. After building a preliminary schedule like this, they subsequently assign specific resources to the scheduled activities without changing their start times.
An example will help here.
A sports league schedules games to occur at specific times without regard to which umpires will be assigned to each game. After that game schedule is built, a second pass is made to assign umpires by name to each game. Here, the assignment problem (or the “which” question) is worked as a secondary process.
We also see this frequently in manufacturing, event planning, field services, and project scheduling. We have all heard the response, “We can do your job but we don’t know yet who will be assigned to do it.” This means that someone has done a capacity assessment and some sequence planning, but has not yet done the assignment (or “which”) part of the scheduling.
So what are the take-away points from this?
A scheduling application must be able to support situations where the resource assignments and the start time decisions are tightly coupled and those where they are not. To do this, the application must:
- Support pools of indistinguishable resources where quantity matters but individual identity does not, (e.g. skill levels, tables and chairs, multiple classrooms);
- Also support groups of resources that are individually identifiable (e.g. Joe, Acme lathe 1, Ballroom A); and
- Be able to generate all combinations of the individual resources and rank each combination.
This third requirement is the essence of the assignment problem (which) and it may or may not be embedded with the start time determination problem (when).
You shouldn’t lock yourself to a scheduling tool that can’t do “which” and “when,” whether or not those questions are coupled or separate!