To now, we’ve concentrated on entering data and looking at a project from a variety of ways. We will progress this month with optimising our project to get a better result. This means delving deeper into levelling to help Project Managers plan to meet targets.
To keep things simple, to begin with we’ll consider just one project. For your convenience, you can double click on this link to load up Project afresh with the AircraftA_Jan05.zip modification programme that we worked with last month. Just to remind you, this is one of 3 projects; each one is for a modification program for a different type of aircraft. During the last two months, we consolidated the projects into a Master project – we’ll come back to this next month.
So, open up Aircraft A, and check via Tools/Resource Sharing/Share Resources… that it is using its own resources and NOT sharing resources with the pool. Split the screen, select the Resource Graph in the lower screen, Zoom to weeks, and select the Preparation task to see the graphs. Now we see a peak requirement of 2 Aircraft, 2 Propulsion and 2 Electrical technicians. We can also see that the project begins on 3 Jan 05 and ends on 4 Feb after 25 working days.
Project Management Planning
So, given 2 of each tradesman, we could get started straight away to meet 4 Feb completion date. Oh! that things were so easy! Let’s examine the detail more closely. Right click in the top pane, select Gantt Chart wizard…/Next/Critical Path/Finish/Format It/Exit Wizard to show the critical path.
Examine the Airframe tradesmen’s graph and you will see that a second man is required on 6 days and at odd times.
Similarly, the other trades require a second Propulsion tradesman for 9 contiguous days (a bit easier to man-manage)…
…and Electricians for 11 days.
So, can Project do better than that? Well, to start with let’s see what it can do without extending the end date. Try Tools/ Level Resources… and select Level only within available slack. This setting, as the words imply, will not touch tasks that have zero slack, ie it will leave critical tasks alone and thus the critical path will not change and so the end date will not change. Please take a few seconds to ensure all the other settings are the default as shown here:
Now click the Level Now button. You should get a message saying Project cannot level Airframe on 7 Jan 05. This is because levelling would require the delaying of a critical task, and we have told it not to move critical tasks. I suggest you select to Skip and continue to select Skip for 23 times to see all the messages until it has finished – next time use the Skip All button.
Project does not seem to have helped a great deal, though the extra resources are required at different times and, at least, the extra Propulsion man is required one day less: 8 days instead of 9 (this should save a bit of money!) Nevertheless, it is a worthwhile routine to try first and the results may be better for you than before; eg you might have a second Electrical tradesman available in the third week but not in the second..
Go back to the levelling dialog and remove the check mark from Level only within available slack and then Level Now. There should be no overallocations (resource names should now be black instead of red) and the end date will go out to 21 Feb 05 taking 36 working days.
We have now investigated the extremes of our Project – the earliest date with 2 of each tradesman is 4 Feb (25 days) and the latest using 1 of each tradesman is 21 Feb (36 days). I suggest if you do actually have 2 of each tradesman that you set the Max. Units to 200% in the Resource Sheet view, as then the resources will not show as being overallocated.
Now it is not for me to tell you, the project manager, which is best; that’s what you’re getting paid for! Either might be acceptable in the circumstances.
In Lesson #5 - Working With Resources, I introduced the subject of levelling and explained that levelling delayed tasks where there were overallocated resources. In Project, levelling means resolving resource conflicts or overallocations by delaying tasks. Levelling requires delaying tasks until resources are available, thus enabling the project to be finished, though often resulting at a later date. Selecting Level Only Within Available Slack produces a time-limited levelling, ie limited by the Critical Path, but is unlikely to resolve all resource overallocations. Whereas de-selecting Level Only Within Available Slack gives a resource-limited levelling ie limited to using the resources you actually have, and will almost certainly extend the project beyond the time of the critical path. I must re-iterate here that levelling does not optimise the usage of resources, it does not produce the best plan, the shortest, the quickest, the cheapest or any other superlative you care to use. It just produces A plan which you are free to accept, reject or edit to meet your requirements. A time limited levelling will tell you how many of each resource you actually need (and when) to meet the end date based on the critical path. There are many project managers that won’t use levelling as they have no control of what Project does. My view is simply to have a go first and if it does not meet your requirements, then you can level by hand.
So what other options are there? [I suggest at this stage you might like to create 3 macros to Level with the default settings, Level_critical with the Level only within available slack set, and Clear_Levelling and put each one on a tool button. See Oct 04 article #16 – Macros.] Try 200% airframe, leaving the others at 100%, and see what can be done within the critical path (choose Skip All in the overallocation dialog). My PC reduces the need for an extra Propulsion tradesman to 6 days rather than 9, though the Electricians don’t change. Is that acceptable? What about 2 Propulsion, 1 Airframe and 1 Electrical? Then 1 Airframe, 1 Propulsion and 2 Electrical?
Crashing the Project
Now suppose, instead of looking at what Project gives us, we impose finish dates. In this instance, let’s assume the aircraft is needed for a flying display and the latest we can be allowed to finish is 29 Jan 05 (20 working days). How can we manage that? We can see that we need to Crash our project meaning shorten it to meet an end date. To do this, we must revise the estimated durations of our plan, remove any less than essential tasks or throw more money at it in terms of getting more resources from somewhere (this will inevitably cost more as hiring-in rates for short term resources are generally greater than owned resources). Here an understanding of what critical means is crucial, as assigning more resources to non-critical task will not change the critical path and thus will not achieve our objective (if you are not sure, see Lesson #1-Introduction). So we must be able to see the critical path. Firstly, clear any levelling and this will reveal the critical path. (Note that for convenience, I have made every task Effort Driven and Fixed Work.)
Task number 11 - Mod 337 is the longest critical task, so assign an extra Propulsion and an Electrical tradesman to that task. You must assign both types of tradesman as the other will become the driving resource and not achieve any reduction in duration (see Lesson #10 for driving resources). This should move the end date back to 2 Feb, but not enough.
The critical path has now changed and we can continue by shortening, say, task3 – Mod326, which should move the end date to 1 Feb. Now try, say, task 8 - Mod 332, moving the end date to 31 Jan, finally Task 10 - Mod 334 produces an end date of 28 Jan, meeting our deadline! Examination of the resource graphs shows a requirement for 3 of each of the Tradesmen. Thus the cost of achieving the imposed end date is the cost of 3 extra men, though you can change the dates when they are required through time critical resource levelling – try it. You will also notice that only one task is now not critical and thus the project will need careful monitoring to maintain the deadline.
We haven’t finished yet! If you examine the Airframe Graph…
…you will notice that the extra man is required only on one day. How about making the other two work 4 hours overtime each – perhaps on Saturday morning? The overtime cost for the two men might be considerably cheaper than hiring one extra man for one day (and may be impossible anyway!).
We’ve tried levelling within the critical path giving us Time-Limited levelling, and ignoring slack to give us Resource-Limited levelling. This gave us the extremes of what levelling can produce. Levelling only delays tasks – nothing more – and gives one solution to the plan and not the solution. Within those extremes, we’ve seen, by crashing the project, that there is plenty of scope for tweaking the plan to get the results that are acceptable to all.
In the next issue we’ll look into other ways of crashing the project and see how levelling can work across multiple projects. Please do not be too concerned if the results you get on your PC are not identical to those in this article. Project uses an algorithm to decide which tasks are delayed and that could give different results depending on how you build the plan. I will cover this next month.