Project Management optimize

Resource leveling by hand using Microsoft Project 2010

Resource leveling by hand takes longer than using the rule-based engine in Microsoft Project 2010, but Andrew Makar believes it produces a better schedule.

In my last two TechRepublic posts, I reviewed misconceptions about resource leveling and explained the difference between manual and automatic leveling in Microsoft Project 2010 and showed how to use Project's rule-based leveling approach to create a reliable project schedule that provides realistic end dates. In this piece, I share my technique for resource leveling by hand using Microsoft Project 2010's predecessors and filters.

This technique applies a resource predecessor to balance work across the project's resources. A resource predecessor is a task predecessor that considers the assigned resource's workload. During task sequencing, predecessors were assigned based on each phase or task priority. A project is initiated before it is planned and before it is executed; therefore, the initiation task would be a task predecessor to the planning task, while the execution task is the planning task's successor (Figure A). Figure A

Predecessors and successors (Click the image to enlarge.)

Resource leveling by hand applies a resource predecessor approach to examine all the tasks a resource is assigned and assigns predecessors to ensure the same resource isn't overloaded on the same day. This technique may seem tedious at first, but by examining resource overallocations manually and resolving them with a resource predecessor, it provides the project manager with an excellent understanding of the key tasks and constraints on specific resources. Push button resource leveling lacks the knowledge transition that resource leveling by hand provides.

To apply the resource leveling by hand technique, follow these steps:

1. Find the overallocated resources using the Resource Sheet or Resource Usage View.

2. Switch to the Gantt Chart view.

3. Filter on resource name.

4. Select the Resource tab and click the Next Overallocation button in the Level section (Figure B). The first overallocated task will be identified. You can also view the overallocated task by looking for the red person icon in the Indicator field. Figure B

Next Overallocation (Click the image to enlarge.)

5. Use Resource Usage View or Gantt Chart View to identify the overlapping tasks for the time period. On simpler project schedules, finding overlapping dates may be obvious; more complex schedules require multiple views to find the overallocated resource. In Microsoft Project 2010, a resource will appear red even if it is overallocated only by one hour.

6. Determine the first task to be completed and assign a task predecessor to the next task in the resource's schedule.

You need to repeat the above six steps until all of the resources are properly leveled.

In Figure C, Sarah is the first resource overallocated on Task 14 Send Email Notifications task. By filtering on Sarah's name and using the Gantt chart, you will notice Task 24 Find Sponsors for Prizes is scheduled to start on the same day. Task 30 Hire Greeters is also scheduled to start on the same day. Figure C

Identify overallocated resources and tasks (Click the image to enlarge.)

By assigning the resource predecessor 17 to Task 24 Find Sponsors for Prizes, it assumes Sarah will perform the last Advertising task first and then start the Find Sponsors for Prizes task after the Update Website task is finished. Using the predecessor column based on available resources appropriately shifts the dates. If you want the Find Sponsor For Prizes task to start before the Define Menu task, you can make the appropriate adjustment.

This process is repeated for Sarah and the rest of the resource pool until the entire project schedule is appropriately manually leveled and allocated (Figure D). Figure D

Manually resource leveled schedule (Click the image to enlarge.)

Summary

Resource leveling by hand takes a little more time than using the rule-based engine in Microsoft Project 2010, but I'm convinced it produces a better schedule based on the realistic flow. In each of these examples, the duration of the project didn't change, although the cadence of the resource tasks adjusted based on the resource leveling technique. If you don't want to resource level by hand, you can follow the manual resource leveling approach by Id that I reviewed in my previous post.

In the final installment of this four-part series, I'll demonstrate another manual resource leveling technique using the Team Planner view.

About

Dr. Andrew Makar is an IT program manager and is the author of How To Use Microsoft Project and Project Management Interview Questions Made Easy. For more project management advice visit http://www.tacticalprojectmanagement.com.

1 comments
sparent
sparent

If I am going to take the trouble of manually stepping through a resource's tasks to level the work, I am not going to simply add dependencies. The reason is: 1) If your activities are started, then the dependency is not going to help 2) You are assuming that the resource can be utilized up to the assigned unit for the duration of the activity. The reality is that our work is usually in spurts: do work, ask for something, wait for it, do more work. 3) I would rather use priorities than hard-code dependencies. Dependencies can quickly muck up your critical path. Stéphane Parent, PMP, PMI-SP