Resources constraints are one of the three elements a project manager should consider during planning, together with technical and physical constraints. Resources are personnel, equipment, materials, and financials. Hence, the task of a manager is to evaluate the resource demand, among other things, based on the projects that have to be completed and make a decision regarding efficient resource allocation, which is why some common heuristics are used in the process of planning.
The degree to which a specific resource is necessary and its availability are the two key measures used in these heuristics to make decisions. Pinto notes that it is a common mistake to develop plans with an assumption of having unlimited resources for project completion, which then leads to issues with bottlenecks and inability to finish the projects on time because of the resources needed for one project are utilised by the other.
Typically, projects are complex and involve a wide range of uncertainty, which is paired with a person’s limited capability of processing information and making a decision. Heuristics, in general, are decisions based on experience rather than best practice, which help resolve a problem but are not guaranteed to be the optimal solution. By using a heuristic, a project manager receives an easy-to-implement solution, although, in some cases, this can be a complex mathematical model or program-based heuristic, which are more complex and difficult to use.
For example, resource levelling is used to visually represent the resources needed for different projects and the timeline for each project to identify when the demand for the resources is high or low and level out the use of them, which is one of the approaches used for the resource allocation. In many cases, heuristics must address the challenge of working on two levels for multidimensional projects.
The priority heuristic allows the manager to examine the demand for resources to enable resource smoothing. Here, one should identify the activities that can be modified to smooth out resource use. Next, the priority heuristic allows determining which activities are crucial and which are not, and the activities with the slackest time are modified. An example is project A, which requires a manager, developer and support representative and project B with the same request for resources, but project B has more slack time. In this case, the latter can be modified to ensure that project A receives all the necessary resources, and after that, they are allocated to project B.
This is a simple technique, which is its main advantage since it does not require any complex calculations and prioritises a project that has an emergency demand for resources. In this case, other projects do not suffer from a lack of resources because they have some time available for completion. The disadvantage is that with this method, overlaps in resource use are not considered, and it is unclear how to allocate resources to projects when the demand for a specific resource arises for two projects at the same time.
The first in line method prioritises the project based on when they entered the queue, with the ones that did so earlier receiving the resources first. The advantage of this technique is the ease that allows focusing on other tasks because the issue of resource allocation is resolved quickly. However, one disadvantage if this approach fails to account for the many other factors, such as emergencies or other priorities. Hence, even if a project is more important for a business, it will not receive the resources because the first in line strategy does not account for these factors. Hence, projects that have high potential may be overlooked by the manager.
The example is projects A, B and C, where project C was authorised first, following B and A. Based on the first in line approach, C gets the resources first, then project B and project A. As demonstrated by this example, it is unclear what the finish dates and slack for each of the three projects are, as well as the resource use since project C may only need programmers, while B may need analysts and network specialists as well, meaning that the two categories of employees will have to wait until project B begins because they cannot begin their work without programmers. Therefore, this is not the most efficient way to distribute resources, although it may be useful if there is not much difference in resource utilisation across different projects.
Greatest resource demand is another option that implies providing resources to the projects that will have the highest demand for them. Hence, the priority here is on the highest demand, and the manager consistently reexamines the pool of projects, selects the next one that has a great demand, allocates resources to it and repeats the process. The idea behind this approach is the need to minimise bottlenecks, which are likely to occur from unexpected spikes in resource demand, which are going to happen because some projects are more resource-intensive. The advantage is that the bottleneck, where the firm does not have resources for all of its projects, does not occur. However, the disadvantage is that some projects that are important but not resource-intensive will have to wait until the company allocates resources to the others.
In this case, for projects A, B and C, where project B requires two programmers and one analyst, while others require one programmer and one analyst, project B has the greatest demand for resources and should receive them first, regardless of other factors such as rate of return. Greatest resource utilisation is similar to the previous strategy. However, the approach to identifying a project that will be prioritised differs. Mainly, the manager allocates resources to the project that will use all of them, which is especially important for projects where human resources are involved since, in that case, all or the majority of the specialists will be engaged in work, which is an advantage.
The disadvantage is the fact that this approach fails to recognise that some projects may be of higher priority because they will benefit the company more. An example of using the greatest resource utilisation would be projected A and B, where developers, networking specialists and analysts are required, but project A does not need all the analysts available while project B needs all three types of human resources. In this case, project B should be prioritised and receive the resources first and once it is completed, project A can have the resource it needs.
Minimal lane finish time, here, the most important factor is when the project must be finished. Hence, the priority is placed on the projects that have the least time to be finished, which allows avoiding missing the deadlines. However, again, the prioritisation fails to consider the importance of each project for the business. Additionally, bottlenecks due to the high demand for resources from some projects are possible as well. For projects A, B and C, where C has to be finished within two weeks, while A and B should be completed in a month, C should receive the resources first.
Mathematical programming is perhaps the most complex way of allocating the resources, although its benefit is the diversity – it can be used both in multi-project environments and for single projects likewise. According to Pinto, the main goals of mathematical programming are to total development time, resource use and lateness across all projects. Hence, this heuristic is useful because it attempts to address all three concepts that arise in a multi-project environment with limited resources.
The steps of using mathematical programming include assessing the available resources, the relationship between different activities within a project, due dates for each activity and project, active splitting opportunities, concurrent and nonconcurrent activities and substitution of resources. An example of this approach for projects A, B and C is collecting these variables and utilising calculations to develop several options for efficient resource use. The main weakness is that it is complex, and a lot of time is required to minimise the number of available options to the optimal number of choices.
Additionally, mathematic programming utilises a large number of variables for the calculations, which means that the process of collecting, sorting and using the information for computations is complex. Thus, the application of it is limited by these factors and requires time and effort to complete all steps, meaning that this approach cannot be applied in cases when a quick decision should be made.
The example would be to collect data discussed above for projects A, B and C to create a pull of variables and use calculations to determine the most suitable approach for resource allocation. With this strategy, several options will arise, and a manager should use their judgement to use the most suitable one. To conclude, common heuristics for allocating resources are used to avoid bottlenecks in the form of high demand for resources where they cannot be allocated to all projects that need them and low-demand periods when they are not required.