This process focuses on creating a description for how resources will be managed by the project (including where resources come from, how they are assigned to the project, who manages them, what their responsibilities are, etc). It has the following elements:
Inputs
Project charter
Project management plan (Quality management plan, Scope baseline)
Resource allocation focuses on assigning human resource, technical resources (equipment), and other resources (financial, materials, etc) to projects. Resources may be assigned to a single project or multiple, simultaneous projects. Some resources are used up by the project, while others have operational tasks they need to perform. When a resource is needed is determined by the project network, while the use of resources has cost implications for the project.
Keep in mind that:
Project network times are not a schedule until resources have been assigned. This is because CPM ignores resource utilization and availability.
Cost estimates are not a budget until they have been time-phased (meaning we know the resources and when they will be used)
After we have assigned the resources to the tasks, and scheduled the project based on the availability of resources, we are ready to create a time-phased budget baseline: a representation of when cash is used by the project. This will allow us to monitor the progress of the project:
Determine if the project is on, ahead, or behind schedule and over or under its budgeted costs
assess how much work has been accomplished for the allocated money spent—the project cost baseline (planned value, PV)
Why are resources a limiting factor?
Projects compete with each other for resources:
If resource is used but not consumed, a project must wait to use resource
If resource is consumed during use, projects need to procure the resource and wait for replacement
In either case, one project must wait. As such, resource limitations can delay a project or specific activities in a project.
By considering resources when creating a schedule we can:
Leave time for considering reasonable alternatives
Perform cost-time trade-offs and can make sure we have selected a good approach to implement the project
implement changes in priorities
prepare time-phased work package budgets with dates
gauge the impact of unforeseen events
assess how much flexibility over certain resources
Resource Scheduling
To schedule resources:
Create a network diagram
Estimate durations (at this point, you are assuming ideal conditions)
Those doing the work must do estimate (and change sequence if necessary and measure actual performance)
Assign required resources to each task (this is done under ideal conditions based on the duration you selected and effort needed for the activity)
For outsourced activities, team resources are zero though you may need to consider resources available by your contractor
Outsourcing removes your control though so outsourcing the critical path is not recommended
Convert to Gannt chart and add up resources required in each period
Define resources available in each period and compare to your plan
Reschedule activities within float to balance resources required and resources available
Ideally you would like to schedule as if resource is fully dedicated to the task, focuses on one thing at a time. However, in matrix organizations this is not possible.
Resource Allocation Considerations
In selecting who to assign to specific tasks consider:
Minimizing unnecessary tension: the people should complement each other
Experience: veterans team up with new hires so people can learn from each other
Future needs: have people work together early on so that they can become familiar with each other
Don’t give the most difficult tasks always to the best people: They will resent the fact that they always have tod o the hardest tasks, while less experiences team members resent the fact that they are not given the opportunity to expand their knowledge or skills.
Calendar for the particular resource: Is the resource taking time off? Will they be unavailable at specific times? are they working on other projects? Do these interfere with the project calendar?
Effort for the task: This is usually reported as person-days (the work of one person for one day is a person-day) or person-hours. However, if more than one person is working on something, you will need additional effort to coordinate between the people, or for them to build a working relationship and you need to factor that in.
Project Constraints and Scheduling
While considering resources, it is important to consider what constraints are driving the decisions within the project:
Technical or Logical Constraints: Are related to the networked sequence in which project activities must occur
Resource Constraints: Occur when the absence, shortage, or unique interrelationship and interaction characteristics of resources require a particular sequencing of project activities. These may relate to talent, materials or resources.
The project itself will be either:
Time-Constrained: Must be completed by an imposed date. In this case, time (project duration) is fixed, and resources are flexible, and if required, resources can be added to ensure the project is completed by a specific date.
Resource-Constrained: Your organization has limited resources so the level of resources available cannot be exceeded. Resources are fixed and time has to be flexible
Resource Loading and Leveling/Smoothing
Resource loading refers to the amounts of specific resources (capacity, utilization) that are scheduled for use on specific activities or projects at specific time. It is usually presented in the form of a list or table. In most cases, you want a specific resource loading throughout the project (say you want someone to work 40% of their time on your project). Resource availability, needs, etc may fluctuate over time such that resources required and capacity available may not be constant.
After the project plan is developed, the PM confirmed the availability of each resource required resource and obtained schedules for each. It is easy to over utilize a human resource, and this may in fact lead to overtime pay (costing the project) or burnout (low performance for the project). Holidays, vacations, sick days can reduce human resource availability. Moreover, not all required facilities and equipment will be available when needed, there may be changes requested to the project and some risk event may delay tasks. Resource allocation should factor in all these possibilities.
The project manager will then review the resource loading of each resource: the work allocated to a resource should match their availability. If this is not the case, then we would need to change the schedule through resource leveling or smoothing:
Resource Leveling: If you are resource-constrained and there is flexibility in the finish date of the project, we can change the timing of activities to match when resources are available. In most cases this will result in a change in the critical path.
Resource Smoothing: If you are time-constrained, we need the critical path not to change. So we would need to move around, pause activities or change activities with slack to ensure resource loading is acceptable (assuming activities with most slack pose the least risk, and the reduction of flexibility does not increase risk). Overall, the goals of resource smoothing is to reduce the peak of demand for the resources, reduce the number of resources over the life of the project and minimize the fluctuation in resource demand. However, they inevitably result in loss of flexibility (from reducing slack), creating more critical activities and/or near-critical activities.
If none of these approaches work, then there may be a need to change the supply of resource, outsource part of the work or split activities. The same may be true if the project is impacted by disruptions, emergencies, maintenance, personnel issues, or inefficiencies. Most organizations also schedule scarce resources between 85-90% capacity, to keep some capacity for emergencies.
Here is a quick summary of resource smoothing and levelling:
Resource-Smoothing in Practice
In resource-constrained projects, activities are scheduled using heuristics (rules of thumb) by following the priority rules for resource allocation:
Minimum slack (most urgent)
Smallest (least) duration
Most critical followers
Most successors
Most resources first
Lowest activity identification number
The parallel method is used to apply heuristics: start from the beginning of project time and, when the resources needed exceed the resources available, retains activities first by the priority rules.
If scare resource is depleted before all critical activities are assigned, you may need to borrow from another ongoing activity with slack or may even reschedule the activity
If scarce resource is depleted before all non-critical activities are loaded, they go unsupplied. They then become a higher priority in later periods
Another approach is to use optimization methods in your project management software. These finds the one best solutions by considering various adjustments.
KPIs to consider include:
Schedule slippage: amount project or set of projects delayed by application of a leveling rule
Resource utilization/loading: extent to which resources are over or under-worked
In-process inventory: amount of unfinished work in the system
Keep in mind that this smoothing approach:
Reduces slack; reduce flexibility
Increases the number of critical and near-critical activities
Increases scheduling complexity because resource constraints are added to technical constraints
May make the traditional critical path no longer meaningful
Can break the sequence and leave the network with a set of disjointed critical activities
May cause parallel activities to become sequential
Can change activities from critical to noncritical
Here is an example of resource smoothing in practice:
Splitting Activities
Splitting is a scheduling technique used to get a better project schedule and/or to increase resource utilization. It involves interrupting the work and sending the resource to another activity for a period of time and then having the resource resume work on the original activity. It can be useful if the work involved does not include large start-up or shut-down costs/time. Splitting is also considered a major reason why projects fail to meet schedule.
Multi project Resource Scheduling Problems
When allocating scarce resources is extended to where several projects being carried out concurrently, the size and complexity of the problem increases. However, the nature of the underlying problem remains the same
Overall schedule slippage: Shared resources causes a ripple effect—delays in one project create delays for other projects
Inefficient resource utilization: Different schedules and requirements by multiple projects create the peaks and valleys in overall resource demands
Resource bottlenecks: Shortages of critical resources required by multiple projects cause delays and schedule extensions
To address these issues:
Create project offices or departments to oversee the scheduling of resources across multiple projects
Use a project priority queuing system—first come, first served for resources
Treat individual projects as part of one big project and adapt the scheduling heuristics to this “mega project”
Utilize project management software to prioritize resource allocation
Outsource projects to reduce the number of projects managing internally
Hire temporary workers to expedite certain activities that are falling behind schedule
Contract project work during peak periods when there are insufficient internal resources to meet the demands of all project
Use pseudoactivities (have duration but require no resources) to link a set of projects together and use resource loading and leveling
Goldratt’s Critical Chain
There are several common issues faced when implementing a project:
Parkinson’s Law: Work expands to fill the allocated time
Murphy’s Law: If anything can go wrong, it will
Student Syndrome: planned procrastination, where individuals delay starting a task until the last minute
Thoughtless optimism
Capacity should be equal to demand
Multitasking to reduce idle time: There is typically a penalty or cost associated with switching from working on one project to another
Assuming network complexity makes no difference
Management cutting time to “motivate” workers
Goldratt’s took these issues into account, and applied the theory of constraints to the constrained resource scheduling problem. He assumed that problems encountered when managing projects are strongly related to the need to trade off one project objective for another, and the need to make these trade-offs caused by human decisions and practices. The scenario below describes a common chain of events:
Assuming that activity times are known and that the paths are independent leads to underestimating the actual amount of time needed to complete the project.
Because the time needed to complete the project is underestimated, project team members tend to inflate their time estimates.
Inflated time estimates lead to work filling available time, workers not reporting that a task has been completed early, and the ever-present student syndrome.
An important caveat then becomes that safety time is usually visible to project workers and is often misused.
Misused safety time results in missed deadlines and milestones.
Hidden safety time further complicates the task of prioritizing project activities.
The lack of clear priorities likely results in poor multitasking.
Task durations increase as a result of poor multitasking.
Uneven demand on resources—some overloaded and others under-loaded—may also occur as a result of poor multitasking.
In an effort to utilize all resources fully, more projects will be undertaken to make sure that no resources are underutilized.
Adding more projects further increases poor multitasking.
Goldratt suggests that the key to resolving this cycle is to schedule the start of new projects based on the availability of bottleneck resources. Time buffers should be added between the bottleneck resource and the resources that feed it to reduce risks. Moreover, safety time of individual tasks should be limited and, instead, some fraction of the safety time reduced this way should be added back into the system as safety buffer for the entire project.
The critical chain is the sequence of both precedence- and resource-dependent tasks that prevents a project from being completed in a shorter time, given finite resources. When scheduling using this method, you cut down time estimates by 50%, the 50% you cut is left is allocated to buffers:
Project Buffer: At the end, between last week of activities and completion date
Feeding Buffer: Where the uncritical chain meets the critical chain