Archive

Posts Tagged ‘Resource planning’

How some piece of software started a very bad habit

2009/06/30 4 comments

I’ve never been a person who’d been late for meetings. I think I was late once to school and is the kind of person who really makes sure that I’m on time. We’re always first arrivals at parties.

But when I started working for my current employer, I started missing meetings and becoming late at occasions. I even have double booked meetings in my calendar. After having worked for nearly 15 years, one cannot help wondering what started this bad habit.

And it boils down to software which does not help me in the most fundamental way. When I’m invited to a meeting it is crucial to know if I’m already booked. I guess that this is just not me; most people have a problem being at two places at the same time. So, a calendar for professional use should probably warn me directly if I’m invited to a meeting when I’m already booked in my calendar.

Also, if I make a booking, it’s good to know if the participants are available or not during the time in question. And again, this is hopefully not just me but a universal need for everyone.

So, what happened was that I started using the calendar in Lotus Notes, and who ever is responsible for this system does not find this to be a fundamental need: I need to do some clicking before I learn if I’m already booked or if I try to make a booking when people are already busy. And if I accept or suggest a double booking, I’m not prompted or warned. I guess the product owner at Lotus Notes is a super hero with the power to be at several places at the same time, so I guess that is why he haven’t seen this need as a universal, fundamental need for the booking process.

So, what has sneaked into my habits during the months past is that I’m always double booked for meetings. Since I can accept or book meetings without this being flashed in my face, I’ve started to see it as less of a problem. But it is a problem and a bad habit.

But the lesson is more important than so. If we just imagine the product owner of Lotus Notes being that super hero who can be at many meetings at the same time, he can either realize that his reality is a bit different from others, why a need that he doesn’t have is really important. But one cannot wonder how often you just disregard a crucial need just because your reality is a bit different from everyone else.

Advertisements

Microsoft Project Tutorial Part 28 The resource graph

Wouldn’t you say that it’s hard to be Sarah in this example:

ResourceGraph1

When you view the Resource Graph (View—>Resource Graph), it can look something like this.

On the left side you have a resource. If you scroll the left scroll bar, you select resource. And on the right side you have the graph, showing some kind of information. But what are you look at?

Well, if you look at the text just over the left horizontal scroll bar you can see that it reads “Pek Units”. This means that Sarah has assigned AT THE MOST 200% during Q2 2009.

If you change view to Gantt chart, you can see that she’s not so very booked after all:

ResourceGraph2

She’s actually booked 200%, but just during 1 minute. So, don’t take the resource graph too seriously.

But the resource graph can be used. If we switch back you can see that you can right click the diagram part and choose metric. And here Work probably says more that Peak Work:

image

And if we use a better project, it actually says something. When I changed to a real project, changed metrics to Work and customized the timescale (double click timescale) to show months and weeks, I can see the work load for each resource per week:

image

Compare this with the same view but with Peak Units selected instead;

image

Customize fields in Microsoft Project

2009/05/23 1 comment

There are so many fields in Microsoft Project, so why should you want to customize some new ones? Well, there are many reasons. Here are some examples of how you can use customized fields.

There are quite a few fields which you can customize:

  • Text 1-20
  • Finish 1-10
  • Start 1-10
  • Number 1-20
  • Flag 1-20
  • Date 1-10
  • Cost 1-10

CsutomizeField5

The simplest way to use these fields is just showing them like the image above and start printing in information, but below you can see how they can be used:

image

  • In the Text1 field, the user can enter values from a list (High, Medium and Low) and depending on the value, different flags are displayed.
  • Start1 and Finish1 are used to specify during which times the tasks can be tested. This is also displayed as bars in the Gantt chart.

    CsutomizeField6

  • Work B2-B1 and Cost B2-B1 are calculations which compares the values in Baseline 2 with Baseline 1.
  • Flag1 is used to specify if the specification of the task is completed. If the user enters the value Yes, this task is flagged by a green lamp. Otherwise, the lamp is red.

And here is how you customize fields.

First you insert the field by right clicking one of the present columns and select Insert field. You can then right click the field and select Customize field.

CsutomizeField1

On the top of the dialog box you can see that you can customize fields in task views (like Gantt chart) and resource views (like Resource sheet). You can here also select which field type you want to customize in the dropdown. This means that you can customize all fields at the same time, but for me; I prefer looking at my field when I’m done.

If you click the button Rename, you can enter the new name and confirm.

Under the custom attributes, you can select None, Lookup or Formula. None is used if you want the user to enter values normally. Lookup is used if the user is to select values in a dropdown (like Risk level in the example). Formula is used if the user is not to enter values manually but if project is to calculate the values (like the comparisons between baselines).

CsutomizeField2

If you enter formulas, the result can look something like this. Please observe that the fields are entered by you clicking Field and selecting the correct field in the dropdown:

CsutomizeField3

If we return to the dialog box for Customize fields you can see that you can specify how Heading rows are handled. Depending on your other selections, the options here will differ but remember to take care of this section as well. The same goes for assignment rows. This is applicable if you view Resource Usage or Task Usage. In the chart part you can insert assignment fields.

Finally we move on to the graphical indicators. If you make no changes here, the entered values will be displayed but if you click here you can in the grid specify which images are to be displayed under which conditions. Please observe that on top of the dialog box can you specify how graphical indicators are used on summery rows and the project summery row (which is displayed if you specify this in the Tools—>Options—>View dialog box).

CsutomizeField4

Microsoft Project Tutorial Part 24 – Exploring the toolbars

There are lots of nice commands in the toolbars . So here are some suggestions on commands to use:

CopyPicture Copy Picture – enables you to save a picture to Computer clipping. When you chose this command, a dialog box is displayed and you can select what to copy. If you chose clipboard, you can next open for example word and select CTRL+P to paste the picture in your document.

CustomForms  Toolbar for custom forms. Displayed by selecting Tools—>Customize—>Custom forms. You can now select a task in Gantt chart and click one of the butcon. You can now update your tasks easily concerning costs, work status, etc.

GotoOverallocation Excellent butcon if you use Resource Usage or Task Usage views. If you select a cell, clicking this butcon will mark the next over allocated cell.

GotoSelectedTask Mark a task in the table of your favorite view and the chart will show the selected task.

ResourceTracking Toolbar for tracking progress. Is displayed when you select View—>Toolbars—>Tracking. Observe the butcons with the %:s. These are used to quickly set % Complete. The second, third and forth butcon requires some extra explaining, which I’ll perhaps discuss in upcoming posts. As for now: don’t use them if you don’t understand what they do.

Microsoft Project Tutorial Part 22 – Planning an agile project

2009/05/11 14 comments

Yes, I wasn’t supposed to do this just yet, but since the number 1 request after the last post was just how I use project during an agile Project, here goes.

1. Fix the settings

Tools—>Options is the first place to go. I start with the calendar settings setting a focus factor. In the example below, I use a 25 hour working week:

Agile1

I then move on to the Schedule tab and change assignment unit to Decimal and Duration to Weeks. Default task type should be Fixed duration (without effort driven) or Fixed Work, depending of what you like but here I use Fixed Duration.

I move on to the Calculation tab and deselect Updating task status updates resource status:

Agile3

I confirm with OK and move to Tools—>Change Working time.

Agile5

This dialog box works differently in different versions of Microsoft Project. In one of my previous posts, I described it as it works in version up until 2003. In version 2007 you select the Work Weeks tab and click Details.

Select all working days, Set day(s) to these specific working times: and the time you specified in Tools—>Options.

Agile6

Add other holidays and free time. In Project 2007 you add a new exception, specify dates and click Details. There you can specify that these times are non working. (I think the new dialog box in 2007 is really confusing so make sure that the days are really off. It should look something like this before you click OK:

Agile7

Then I double click the time scale and set the Middle Tier:

Agile8

And the Bottom Tier:

Agile9

Click OK.

Then I select Format—>Grid lines and set Gantt rows and Bottom Tier column as dotted:

Agile10

I insert the column Work and now I have a Gantt chart which looks something like this:

Agile11

I set the Project Start under Project—>Project Information:

ProjectInformation

Confirm with OK.

If I just want to make a simple plan, I just enter the sprints and add the sprint length in Duration:

Agile12

I then link the sprints to each other (for example by dragging the bars to the next sprint:

Agile13

You then move on to the Resource sheet which you can find under the View menu.

Here you enter your resources and now you see why you changed the metric for units: instead of talking percentage you specify how many guys you have of each type. Of course you can enter names here instead. I do so when different resources are available during different parts of the project.

Agile14

I can now for each sprint plan how many resources are working on each sprint by returning to the Gantt chart. I click AssignResources , select a sprint and enter how many resources are available during that sprint:

Agile15

The result looks something like this. As you can see I can see how many man hours we can count on during each sprint and this gives you an idea of how velocity might fluctuate due to resource changes.

Agile16

Now I can update status, take out reports, etc on a project level. For example using the Task Usage view:

Agile17

Or the resource usage view:

Agile18

Observe that you can right click the chart part of these views and add Baseline values and Actual values if you wish to view or update this.

But during the sprints then? Well, I use other tools then in the form of TFS and the Scrum dashboard based on Conchango Work item template. I have no need to track this double, so I don’t use the Project integration. Project is good for planning and follow up plans, not for keeping requirements or priorities,

If I’d used Project during the sprints, I would create a new project file for each sprint and insert hyperlinks between the files. Just so I focus on that sprint and don’t mix up the metrics.

And this is the full extent of my using Project in an agile project. The usage of the calendar functions makes it easy to calculate how much man hours we have available and since I use the Gantt chart form, it is easier to show the stuff for managers.

Yes, you still have the risk that “add a new resource late in the project” looks great in the calculations, but that is up to me to debate with the stakeholders. To make them understand the logic and the effects.

Microsoft Project Tutorial Part 21 – Splitting tasks

Sometimes you realize during a project that you need to split a task. So how do you go about that? Well, like with everything i Microsoft Project, it depends. So, I’m going to show you two alternatives.

We start with the following Project:

SplitTask1

We have two tasks, of which one was added after we saved baseline.

If we view the Resource Usage view, we can see the planned work:

SplitTask2

OK! Let’s do some splitting. We return to the Gantt Chart view and hit the Split task butcon: SplitTask

We move the cursor to one of the tasks in the Gantt chart and voilâ, we get some help with our splitting:

SplitTask3

Click where you want the split to begin. The result will be something like this:

SplitTask4

You can now drag the right part of the task bar to specify how big gap you want. But what did really happen? Well, to see that we move back to the resource usage view:

SplitTask5

Can you see what happened? 8h work was moved from that Thursday to the Monday about a week later.

So, what is keeping you from doing this manually in the Resource view? Well, actually nothing but when you do this manually, you need to have a look at the total sum in the Work column. But below I create a split in task B by moving some hours from Thursday and Friday to the coming week:

SplitTask6

When we return to the Gantt chart we can see that it looks exactly the same (besides me creating a longer gap manually:

SplitTask7

How do you remove a split in a task? Well, one method is to take the right bar and drag it to the left. Or you can start adding some numbers to the dates with 0:s in the Resource Usage view.

But now we move on the other, fundamentally different method of creating splits.

The previous method only works when you want to stop the work between two specific dates but it does not help you if you want to add a task in the gap and that the gap depends on the length of that task. So, here goes.

First, I add two new tasks between task A and B. The easiest way to do this is to select a field on row two and hit the INSERT button. I call the new tasks A1 and A2. The next thing I do is that I make the specifications for these two new parts. That is, I specify length and add resources.

SplitTask8

Next thing I do is that I set the Units of Bobs assignment on Task A as 0%. The reason for me not removing the assignment is that I have a baseline value, and I don’t want to lose this history (a previous blog post discusses deletion specific)

I then select tasks A1 and A2 and click Indent . Your plan should right now look something like this:

SplitTask9

And now you can go ahead and start linking. I Link task A1 to B and B to A2. The result will look something like this:

SplitTask10

In other words, you have created a split and you can now select to hide the sub tasks. But if you do so, you will not see the split in Task A. To accomplish this you select Tasks A1 and A2 and click the TaskInformation butcon.

Make sure not to change anything else but that Roll up Gantt bar to Summery is selected:

RollUp 

The result will look something like this:

SplitTask11

Well, now you can see the split, but that black bar doesn’t look nice. So we double click Task A and select Hide Task Bar. Observe that Show rolled up Gantt bars is what makes the sub tasks visible on this row so if you have a problems when sub tasks are visible or not visible on a summery task this can be a good place to look.

HideTaskBar

Now things should look like this:

SplitTask12

But it really looks best if you hide the sub tasks for Task A:

SplitTask13

This ends another series on how to use Microsoft Project and I’ll wait for a while before adding more posts on the subject but if you have a favorite topic which you want me to cover, please get back to me. Otherwise, I’m considering how I use Project when planning for scrum projects.

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:

Leveling1

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:

Leveling2

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:

ToolsLevelResources

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?

Leveling3

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.

Leveling4

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.