Resource leveling is certainly not new, and neither are the issues pertaining to the best and practical methods to be used. I was recently browsing through a 1981 P/2 manual (PROJECT/2 from Project Software & Development, Inc.). P/2, then running on IBM mainframes and the DEC VAX, offered powerful resource scheduling options. The user had the choice of four leveling methods, two parallel and two serial modes.
The parallel mode, which is seldom used today, will usually (but not always) produce a shorter-duration, resource-constrained schedule. The parallel method looks at the project by time periods. For each time period, it looks at all the tasks that are scheduled to be worked and assigns resources according to the user preferred ranking criteria. Activities that cannot be scheduled in that time period, due to insufficient resources, are postponed until a later time period. Then the system moves to the next time period and reconsiders the next set of tasks that are ready to be worked.
The serial mode considers the project on an activity by activity basis, and generally takes less time to process. For any particular time period, it starts out as above. However, when it cannot schedule an activity on its earliest start period, it looks for the first available period (resource availability) and immediately schedules that activity at that future time. It is possible, therefore, that when the system gets to a later time period, one or more tasks may already be scheduled, before checking for the best choice or closest support of the ranking criteria. We will find that the serial method of resource leveling is almost universally employed in today's popular products.
With either method, the user is often allowed to identify a set of ranking factors (sometimes called ordering, prioritization, or heuristics). These are conditions that will influence the selection of tasks where some tasks must be delayed. Common factors are date values (ES, EF, LS, LF), float values, task duration, assigned priorities, task IDs, and user sort sequences. During resource leveling, the system first looks at the precedence and imposed date results (the CPM schedule) and then the ranking factors. There is no sure way of telling (in advance) which ranking criteria will produce the shorter or smoother schedule. (Those 30 seemingly random numbers mentioned earlier came from running the same test project on 13 programs. Those programs that allowed the setting of preferred ranking criteria gave several different answers, depending on that setting.) Experimentation, with varied ranking factors, is necessary in order to get close to the best solution. In addition, in the serial method, the ranking criteria are used only when a task is first considered for resource scheduling. The tasks are not reordered during the process.
Even with the multiple options for advanced resource leveling, available in P/2, PSDI, in that 1981 document, advised that the system is not designed to achieve the optimal results. In addition to the demand on computer resources, they suggested that the process needs to be timely and dynamic. Today, two decades later, that reasoning is still valid, and, with the universal use of the serial method, optimization cannot be expected.
We cannot, within this book, hope to resolve all the issues of efficient and effective resource leveling. We will endeavor, however, to make you more aware of the realities of resource leveling, and of the capabilities and limitations of the popular project management software products, with regard to resource leveling. Perhaps as a byproduct, we will keep the heat on ourselves and the software developers to make resource leveling a more useful function than it is today.
Was this article helpful?
What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.