Archive for 2009/05/09

Microsoft Project Tutorial Part 19 – How about loosing ALL control over your plan? Why the leveling function is not such a great idea after all

2009/05/09 3 comments

I guess many of you hopeful project managers out there hoped that Microsoft Project would help you with your resource over bookings. Sorry, but Microsoft Project can help you spot this but you’re still into some manual work. I’ve covered how this is done in a previous post so I won’t go into this now. Instead, here is why you shouldn’t just buy into the leveling function without wanting to lose all the control you thought you had.

When I first spotted leveling it sounded great; if there is a over booking Microsoft Project can take care of it and “solve the conflict”. Right. If we only worked with machines and in a human free world this might be true. I guess this would also have worked under Stalin or Hitler, when no one dared speak up against stupid plans without no groundings in the real world. So, just to make things clear; I don’t think you should use this function. The only time I’ve used it was not for planning but for showing a manager how bug the problems with over booking was. Because it looks really cool and I did get my extra resources. But doing so, I felt more like Uri Geller playing one of his tricks than a serious craft man. But here goes.

We have this wonderful plan with four tasks:


Remember, Microsoft Project does not stop us from making this error. What error? Well, I guess it’s not so fun being the guys on this project. They are seriously overbooked, which I can see if I look at the resource sheet:


I guess Linda likes the situation, but for the rest, I guess things could look better.

So, you hawk eyed project managers go find something called Leveling and think this is the solution of the problem.

You find the command under Tools—>Level resources:


This is one of those dialog boxes from hell that you can just enjoy so much in Microsoft Project. What is that? We’ll just leave the goodies of Automatic/Manual for last and move over to Look for over allocations. What this does is that it looks at each resources and search for over allocations. Since a resource can be over allocated if it’s double booked during one minute, leveling can be tedious work. But with this setting you can specify how detailed Microsoft Project should be. Since our over bookings in this case affects so long periods, the settings doesn’t matter too much but it can really take time if you’re working an actual project. So, we’ll stick with Day by Day.

Clear leveling values before leveling is used when you use the command many times. When you level a project, the previous values are kept but since only one historic set can be kept you can here specify if you want to replace your history.

Leveling range is if you just want to level one or two tasks or the whole project.

Leveling order specifies which settings are used to specify which tasks will be affected. I just love the setting “Standard”. What does that mean? Well, it means that Microsoft Project tries to make as little delays on the whole project as it can. This means that tasks that belong to the critical path has preference, for example. In the combo you can change so for example tasks with lower ID has a preference, etc. In our case, this won’t matter so much.

Level only within available slack. I love this setting. It makes absolutely no sense to a standard user of Microsoft Project. Sorry for me being sarcastic, but it’s really sad that we who work with software development cannot make ourselves clearer than this. This setting looks at the value of Total Slack for each task and specifies that a task can only be delayed within that value. Total Slack specifies how much a task can be delayed before it affects the critical path. This means that selecting this value means that you will probably keep some over bookings but the whole project will not be delayed, since the critical path cannot be affected.

Leveling can adjust individual assignments on a task. If you select this setting and you have two assignees, one can work first and the other later. This can sometimes be good but if you have a meeting, this is probably a bad thing.

Leveling can create splits in remaining work. I haven’t addressed the issue of creating splits in tasks but the Microsoft Project definition of a task split is a task where the work is set to 0 on some of the working days of the task and resources. You can see splits by the dotted line in the bars in the Gantt chart.

So, now that I’ve covered the possible and impossible settings, we hit the Level Now button in the dialog box. Just clicking OK won’t do the trick (since we’ve selected Manual) and sit back and enjoy. So, what happened?


Well, something clearly happened because our Gantt chart looks different and if you visit the Resource sheet, all resources are black.

But what happened? The best way to see that is changing the view to Leveling Gantt. This cannot be found in the View menu by default, so you have to select View—>More views—>Leveling Gantt and OK.

And now you can see the magic.


The blue bars show current plan, the green the plan before the leveling. The whole lines shows Slack (on the right of the bars) or how much the tasks were moved (on the left).

If you revisit the Leveling Dialog Box you can hit the Clear Leveling button and your plan is back to what it was before, but remember that only one leveling session is kept.

And here we come to the real cute part. If you select Automatic, you won’t have to go to this dialog box and select Level now. At the same moment Project spot an over booking, the leveling magic gets going. Imagine. How you in a second lose all control over your file.

But isn’t that wonderful, you might say. And I say no. Do you remember the resource named Linda. She is still not assigned. Because the only tool available for the leveling function is delay. It does not look into the options of changing resource, lessening a task or removing it. Hence, I does not only find it useless. I find it dangerous. Since it gives a sense of security. You view the resource sheet and feel good about the lacking red lines.

An over allocation should be discussed and all options should be evaluated. The math in the function is simply too basic to solve the problem.

But as I started the post with; it can be powerful to show someone. In my case, my manager didn’t understand how serious our over bookings were. So, I just did a leveling act on him and he was freaked about the delays. My telling him that the plan was undoable was not as graphic as some colored bars in a Gantt chart. Even if the former was based on a much more complicated calculation.


Microsoft Project Tutorial Part 18 – Ways to mess up your history

I covered this very briefly during one of my posts about Microsoft Project, but I cannot stress this enough: Don’t delete ANYTHING when you’ve started your project. So here goes; an example why deleting is really bad for you.

We start with this simple project. And again, I skip the focus factor. You should never ignore this in an actual project, but for this example it is of no consequence.


When the project starts, we save a Baseline by selecting Tools—>Tracking—>Save/Set Baseline.


What happens when you confirm is that all your values (Duration, Start, Finish, Cost Work, etc) concerning Tasks and Assignments are copied to a column with the same name but with a starting Baseline label. That is; Work is copied to Baseline Work. As in the example below:


You can change the values in the Baseline Columns by yourself since they are editable and the only thing the command does is saving you a lot of hassle copying the information to the right column.

But remember that you don’t save anything. There is no snapshot. All you get is a new value in another column. This is probably why Microsoft changed the command name from Save Baseline to Set Baseline. But people are probably still fooled by this.

Because what happens when you delete a row? I hate to tell you folks this but the baseline is deleted too. Don’t believe me? Well, it is so. Yes, if I look at the project statistics for the whole project and the remaining tasks, I can see the copied values, but I cannot see what made the changes. And now I go ahead and delete task D:


No warnings, no prompting. But I can no where see that there was a task D. Yes, the sums on a project level shows something happened but what was removed has been deleted.

So, never delete a task after you’ve started tracking with a baseline. But you are not safe with not deleting tasks. You must never delete assignments either for the same reason. Here goes an example of this. I’ve split the screen and right clicked the form and selected Resource Work:


And now I go ahead and delete the assignment of Jane. No prompts but afterwards I can compare the individual Baseline values for the remaining assignments and see that the sum for the task does not add up anymore:


So what do you do with those tasks you don’t need anymore or changes assignments. What you can do is remove all dependencies, move them to the bottom row, use a user defined field to specify that the task or the assignment is obsolete.

Here you can see a “removed” assignment, that is I’ve set the number of planned work hours to 0 for Steve. And now I can see that we planned for 40 hours, but this is not the current plan:


Makes a little bit more sense, doesn’t it?

Microsoft Project Tutorial Part 17 – Messing up Work, Duration and Unit

As I explained in a previous post; Work, Duration and Unit are key elements of Microsoft Project. On the surface, it all makes sense. But sensible is not always realistic.

Let us work from this example. Just to simplify, we keep the default settings with a 40 hours week. I know that is not realistic, but that is an issue in itself, and this was covered during lesson 16.

We create the following tasks:


We also create resources Bob and Alice. I’ve also included the field Work so you get the complete picture.

What we first do is that we add Alice as a resource on task A:


Then we add Bob as a resource on the same task:


What happened? Well, the work was split between Bob and Alice, so it took half the time to perform the task. Now look at what happens when I select task B and assign Bob and Alice at the same time:


What happened this time is that there was no division of work. So, if you use the default settings in Microsoft Project, this will be the case. Guess if many fall in this hole. And either abandon Project or just continue doing it wrong.

The answer is knowing your way around task type and Effort driven. Task type affect what happens if you change one assignment (Alice being assigned to Task A) while Effort driven controls what happens when resources are added to a task (Bob is added to Alice as assignee on Task A). You can change these values in the Task Information dialog box.


Task type specifies which value is fixed during the next calculation when you change Work, Duration or Unit.

When I brought this up during a previous post, I mentioned that you should stick to one or two of these types, but that is theory. You need to understand at least Fixed Duration (with Effort driven unselected) and Fixed Work (where effort driven is always selected).

The main problem with Fixed Duration is that a task can never become longer or shorter if you add or remove resources. All that can happen is that people work harder or less during that period. In theory this is applicable to a meeting. A meeting does not become shorter if a participant is removed. But still, isn’t that kind of true? If you’re having a meeting for 3 people or 100 people changes a lot and the latter meeting will probably take longer. For example if all are to say something this meeting will take longer.

The main problem with Fixed Work is that the resources are seen as interchangeable units. If you add another resource, things take shorter to accomplish. Well, if you believe in cloning this can be true, but this is not the case in real life. And this scenario can be a killer during the project. Let’s say that you’re running late in the last sprint of a long project. You are given the question that if you add a resource or two; won’t things take shorter time?

If you ask Microsoft Project, the answer will be yes. The simple formula says that the more resources, the shorter will it take. It does not take into consideration that new resources have to be trained, newbies make mistakes because they don’t know the code, etc.

So, what am I saying? I say that Microsoft Project is not a project manager or a resource planner. It’s a tool which you need to understand in detail if you’re going to use it to do your project management or your resource planning. The problem is that the simplicity of the formula can trick you into thinking that project management is easy and simple. You might not see your own errors.

Is Microsoft Project the best tool? I couldn’t say. Microsoft Excel is no better and I guess other applications for project management struggle with the same problems.

What you can do is stop hiding behind these formulas, bring some common sense into your project management and if you need to; use some tool to help you visualize your Project.

Microsoft Project Tutorial Part 16 – Being fooled by a Gantt chart

One of my biggest problems with Microsoft Project is that almost everyone can fool others (and themselves) by showing a Gantt chart, which is not thought through. It looks so valid!

As I explained in previous posts, one of my main reasons for giving these classes is to educate people about how hard it is to use Microsoft Project and how much effort you need to put into a Project file to make it the tool you want in your project. And sometimes Microsoft Project does not help you with what you want. For example, Microsoft Project will not help you solve resource conflicts. Yes, it can help you spot them  but the automatic tools are too automatic to be of any use to a real project.

In this post, I will point at some real time problems which most users falls into. I will probably get back to this subject, but I guess this post will show the graveness of the problems.

Here is the first example. Take a look at this wonderful Gantt Chart. Great isn’t it:


When I view the Resource Sheet I can see that there are no over allocations. So, things are great, aren’t they?

Well, the answer is probably no.

I’ve been using the default settings, which will mean that this project will most definitely fail. And what does this say about a project when the default settings makes the project a failure.

The first problem is that the plan says that poor Bob will work 8h a working day with this project. Yes, he probably works full time, but does this mean that he will add 100% value and effort into these tasks? Probably not. We all know that it doesn’t work like that. Just to give you an example, you can see what happens when I add the Work column. I can now see how much work we expect Bob to put into the project:


A lot of work, wouldn’t you say? But if we made this more realistic, perhaps Bob has a focus factor of 5 hours per working day. To enable this, we need to change the Project settings and the calendar.



When I do this, the plan tells another story. If I keep the 80 work per task scenario, each task will be prolonged with 6 days:


That is a delay of 30 WORKING days. So, instead of the project finishing on July 17th, it ends on August 28th. And this is not due to any delays, changes in scope or plan. Just that Microsoft Project tricked us into believing in a non working plan. Scary, isn’t it. But another scenario can be that we stick to the original deadline. What happens then is that either do we cut the work, which result in the following scenario:


Now, we cut 30 hours of work from the original plan. And that is per task. 150 hours of work in total. That is a lot of hours we were counting on but cannot be performed. We could also play the evil project manager card and force poor Bob make those hours before the deadline:


Poor Bob. Working 160% is not what you want, is it. And people wonder why there are so many delays and burnt out people in the business. A project manager uses the default settings in a standard program. But let’s get back to to the first scenario. Let’s say that we take the delay, so we are back at our delayed project. We are done by August 28th, aren’t we?

Well, if your guys love spending all summer at the office. I guess Bob hasn’t counted on a vacation in Florida this summer. There are no holidays added and no vacations. So, you have to add this yourself. Now, the effects of this differs from country to country but even if you’re American and perhaps just have a two week vacation, the effects are visible. And do remember that this is a project with just one participant. What if they are more and they are off on different times. Will the project work with the same pace anyway? But even if we use just a simple one project and two weeks off we are now moving into September.


OK. But now, we’re OK. Aren’t we? Well, no. Have you ever been in a situation where you ended one task and the next second, you started with the next? well, this is what the plan says. The exact minute when one task has stopped, you can start with the next. What is reasonable? Well, it depends on the project and it depends on the task. But let’s say that you need to deploy, make some changes in your settings, etc etc. We’ll be reasonable and say that we will perhaps miss two working days between each task.

The effects are not huge, but they are there:


We are slowly moving nearer October. And let me just remind you that we have still not made any changes to our plans.

And this is just one example. I will soon get back to other, fundamental problems with using Microsoft Project in our planning process but I hope you will be more skeptical next time you see a Gantt chart.