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.


Microsoft Project Tutorial Part 28 The resource graph

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


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:


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:


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:


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


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


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:


  • 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.


  • 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.


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).


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:


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).


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:


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:


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


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.


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:


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


And the Bottom Tier:


Click OK.

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


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


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


Confirm with OK.

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


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


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.


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:


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.


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


Or the resource usage view:


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:


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:


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:


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


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:


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:


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


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.


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:


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:


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:


The result will look something like this:


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.


Now things should look like this:


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


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:


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.

Assigning the business people

Yesterday, we took yet another step in our slow transition towards a more agile software development. As I’ve explained earlier, we use Team Foundation Server‘s work item tracking with the Scrum for Team System work item template and the Scrum Dashboard from EPIServer for daily updates. But with us I mean the developers, not the business people and not the acceptance testers.

But the other day, one of the business responsible started asking questions concerning who’s, and what’s and when’s in a project where I’m not exactly involved but where I function as an agile coach. First, I started looking myself, and then realized what I was doing. So, instead, I asked him to look for himself. Now, you agile warriors might argue that if we’d been using post-its he could have gone and looked for himself. But he works in Norway, so that is easier said than done when our developers are in Sweden.

I gave him a crash course in how he could use the scrum dashboard (read only rights) and he was very happy to see that he could now look for himself.

It was less than an hour when another person approached me, asking about the same question. This guy is both an orderer and a supplier of material. Since he’s our interaction responsible, developers are often dependent on him supplying them with sketches and suggestions. First I considered just giving him the same read-only rights but then I realized that he should also be considered part of the team. One of our team members had registered an impediment which stated that he was waiting for material from this guy. So, I gave him some read and write rights instead and told the guys that from now on they should assign him on tasks and impediments like they do with each other. This became a step towards integrating the business people into the development teams and processes.

Microsoft Project Tutorial – Part 11 – Linking projects, using resource pools, sharing resources and dividing projects into sub projects

2009/05/03 3 comments

Microsoft Project Server is the enterprise solution for this problem, but if you don’t have that and just want to divide your projects into separate files and see which resources are over allocated, this can be accomplished during the ordinary Microsoft Project application. But it’s a solution if you’re a single project manager: if you are many project managers you will probably need Project Server. The reason is that only one person can have write privileges to a Microsoft Project file at the time and if you’re using a Resource Pool in the standard version, all Project files will be locked if someone is editing his project.

But if you just want to work on your own, here is what you do.

You start by creating the Resource pool. This is the file where you add all your resources and where you make edits to calendars. A resource pool is just an ordinary Microsoft Project file but you might want to give it a good name like Resource pool.


Then you add all the resources and change the default calendar and all the resources’s calendars. This is covered in earlier parts of this tutorial, but you can find the resource list in View—>Resource Sheet.


Be sure to save. And now you have a resource pool!

When you want to use the resource pool, you create a new project file and save it. You should make all the changes to the settings you normally do on project files: the only thing you don’t have to do is add the resources.

Before you start assigning resources, you need to open the Resource pool file. Then you make sure that the new project is active and then you select Tools—>Share resources. Select Use Resources and the Resource pool in the combo. Confirm by clicking OK.


If you view the Resource sheet in your new project, you can now see the resources from the resource pool, and you can start assigning resources, for example.


This can be done again for multiple projects and in this example, I’ve created yet another project file with the tasks and assignments below (observe that I used the resource pool for both Project files.


If you make any saves when you’re using a resource pool, the dialog box will look slightly different. You will be prompted to save all connected files. And if you have two files connected to a resource pool, you will have opened all three files, which mean that saving affects all three projects. Now you can imagine the problem if you are two project managers…


If you activate the Resource pool, for example using the Window menu, you can see that eventual over allocations are visible in Resource list:


But if you open the Gantt chart, the task list is empty. Most of the time, you want to see all the projects in the Resource pool, so what you do is that you select Insert—>Project:


Select the Project file and confirm with OK.

Now you can see the Project in the Task list and if you expand the Project you can see the individual tasks:



Take a look at the ID column: there are two ID 1. The reason is that the first 1 is row nr 1 in the Resource pool and the second 1 is the first row in the Project file Project1. Confusing…. There is a column for Project so you can see to which project a task belong. And this is important if you have many inserted projects.

Before you add another project, be sure to collapse the current projects, otherwise there is a risk that you insert the new project in the already inserted project…



When you’ve inserted a number of projects, you can start working the file like you were just using a single project. You can insert or edit task, change assignment, etc. You can even make links between tasks in different projects:


If you close everything and then try opening one of the files, you are prompted to specify which files you wish to open. Depending on if you’re opening the resource pool or one of the other projects, the texts might differ, but the important thing is to be able to save changes, you need to open all files.


In this case you should select the second option and confirm.

When you’re using links between tasks in different projects, you can see linked tasks from other projects. They have grey bars in the Gantt chart and if you open the Task Information dialog box, there are some other attributes.


If you work with multiple project files, remember that this means that you should not have the same task names in different files. If you for example have the task Project end in four projects, which one does an external task refer to? Yes, you can view the Project column, but it’s much easier to select better task names.

Microsoft Project Tutorial – Part 10 – Exploring some interesting views for resource planning

If you’ve followed the tutorial and understood the previous exercises, I hope you’re starting to feel like you’re getting the tools you need to create a project plan using Microsoft Project. We’ll get into costs and what happens during the project later, but you should be able to use Project for your planning now. So, get cracking. It takes about five project plans before you’re really secure about what you’re doing so be prepared that it will feel hard in the beginning. But hang in there and get back to me if you run into problems!

But, I’m going to cover some really nice tools which are available for you to help during your planning (and also during later stages of your project). We start with the Gantt chart. If you select Window—>Split you can see a form on the bottom part of the screen.


This can be used to change the values on the top selected row. Just select the row you wish to edit, make your changes and confirm by clicking OK. As you can see, this form has a huge advantage over the Assign Resources Dialog box: you can specify the number of hours per resource! So, now you can really play with Duration, Work and Unit. You can also edit the links to predecessors in the right column.

If you right click on the grey area you can change form using the contextual menu. You can for example choose Predecessors and Successors:


This is excellent if you have many tasks with complicated dependencies: you can directly see all connected tasks to the selected task.

Observe that the forms are actually views and besides from seeing the form in the bottom part: you can select the blue line at the absolute left and select another view in the View menu. This can be really confusing for the beginner, so skip that right now and be sure to select Window—>Remove split before leaving the Gantt chart view.

One other view that is really interesting when you’re working with resource planning is the Resource usage view, selectable from the View menu:


Here you can see all the resources on the left. Under each resource you can see which tasks they’ve been assigned to and how many hours are planned. On the right side you can see when these hours are to be spent. Observe that this is a time line so if you double click the dates on the top you can change the scale:


You can also hide the assignments (the tasks under each resource) and get something like this:


Doesn’t that look very much like a weekly schedule? Yes it does… Also, observe that all the white cells are editable, so you can change the assignments on a specific date or week. But remember that if you change a 20 to a 10, you remove 10 hours from that task and you’ll have to add that on some other date if this is applicable.

If a number is red on this list it simply means that on at least one minute of the period, the resource is over allocated. But you shouldn’t stare yourself blind on the color. Look at the numbers instead.

You can also double click rows on the left side. If you double click the row of a resource, you can edit the resource details:


If you instead click one of the assignment rows, you can edit the assignment details instead:


(Yes, we’ll get back to costs later…)

Resource usage view is one of the most useful views, so get to know it. But if you look at the View menu, you can also see that there is a Task Usage view. Let’s take a look on that:


You might have guessed correctly: it’s the same as resource usage view, the only difference is that the grouping is per task instead of resource. Otherwise, it works exactly like Resource Usage.

So, when do you use which View:

  • Use Resource Usage when you want to see when the resources are booked or available.
  • Use Task Usage when you want to see when we plan to work on specific tasks and when stuff are planned to be finished.