Pain is temporary, failure lasts forever

Lean, agile living for the running mother of Peter

2008-10-20

Linking tasks in Microsoft Project

In my series on how to use Project as a product owner blessed with Team system, I've come to links!

Everyone that have ever used Microsoft Project soon discovers that you can link task. The first method used for most users is probably dragging the bar of one task to the bar of another task.

What happens when you do so is that the field Predecessor becomes filled in. And for the more advanced users there is also a Successor field.
  • Predecessors
    The ID of tasks which affects the current task
  • Successors
    The ID of tasks which are affected by the current task
When you double click the link between two tasks, the Link Task dialog box becomes visible and in this you can control the link. Let us say we have task A and task B. You can find the ID of A in Predecessors of task B
  • Finish-To-Start
    The finish time of Task A affects the start time of B. This is the default link and can be translated into "The finishing of The foundation of the House controls when we can start the work with The Walls"
  • Start-To-Start
    The start time of Task A affects the start time of B. This can be translated into "We cannot start testing before we've started developing".
  • Finish-To-Finish
    The finish time of Task A affects the finish time of B. This can be translated into "We cannot stop testing before we've stopped developing".
  • Finish-To Start
    The finish time of Task A affects the start time of B. This can be translated into "We cannot stop using the old system before we've started using the new system".
When you changed the link type you can see this in the Predecessors field: 3SF means that a task cannot start until task 3 has finished.

To make it a bit more complicated you can also add a gap. A link with a gap can read 3sf+3d. Observe that if you're using gaps you need to specify link type. Remember that all units possible on Duration is also valid on gaps, including Elapsed. And gaps can also be given in negative numbers (3SF-3d) But just to give you an example on the most common settings:
  • 3FS+3d
    The task cannot start until three working days after 3 has finished.
    "Three working days after delivery, operations can start upgrading."
  • 3SF+3d
    The task cannot finish until three working days after 3 has started.
    "We need to have the old system functual three days after the new system is operational"
  • 3SS+3d
    The task cannot start until three working days after 3 has Started.
    "Three days after we've started developing, we can start planning for new sprint"
  • 3FF+3d
    The task cannot finish until three working days after 3 has finished.
    "Three days after we've finished developing, we can finish testing"
But why not simply drag the tasks in the calendar and not link? I'll get back to that!

Labels: , ,

2008-10-19

Specifying duration in Microsoft Project - working with elapsed time

One of the errors newcomers to Project do is that they do not grasp the difference between Work and Duration. Not so strange, since only the Duration column is visible in the Gantt chart. But Duration is the calendar time between a task starts and the time it finishes. Work is the man hours spent on the task. You could say that work affects the costs of the project and duration the length of the project. On my post on task types you can see how these fields works together. But back to Duration.

Duration is the calendar time and when you set this on a task you type in a number and a unit. The units can be minutes, hours, days, weeks and months. How you print in the unit depends on which cultural version of project you use. For example you can type in t for hours in the Swedish Project but you need to print h in the English. Also, remember that m is minutes and yoy need to type something longer (for example mon in the English project). Be sure to check the metrics used in your version!

If you set the Duration of a task to 7 you can see that there will not be 7 calendar days between start and finish. There will probably be 9. Why? Well, by days Project means working days. If you go to Tools-->Change Working time you can see that Saturdays and Sundays are non working days. This means that the tasks will proceed during these days but no work will take place. If other days are marked as non working days in the calendar, they too will be skipped. And remember that if you mark days as non working for a specific resource, they will be skipped on the tasks where the resource is set.

But then there are tasks which work will commence independant on if it's working time. For example, I want to give a customer 14 days to think something over. Or concrete dries in a specific time. What I can do is that I can add a e in the English project before the metric. For example 14 ed. Remember that the e is dependant on which version of Project you are using: in the Swedish version you type in a t instead. The e stands for Elapsed and means that work will take place 24 hours a day, 7 days a week.

Labels: , ,

Working with part time resources and focus factor in MS Project

I dislike UI and programs which are not working in a predictable way, but then: who doesn't. What I can't stand is when the built in help doesn't help or gives me the wrong information. And Microsoft Project on part time resources is a good example on this. So how do you work with part time resources and focus factors under 100%?

Getting started - setting up the project
First, when you start up a new project file: go to Tools-->Settings and activate the tab which specifies working time. There you can set the number of hours on a day, the number of days in a month and so on. Change these to your likings but make sure your calculations work together: Project will accept settings that does not make any sense together. So, you also need to set the default start time and default end time. This specifies what start time and end time a new task will have when you create it. This is by default set to 8:00 to 17:00. So an example of good settings are:
  • Hours per day: 6
  • Default start time: 09:00
  • Default end time: 16:00
If you only change the hours per day setting to 6, you will see that linked tasks will start behaving strange. Since a task consisting of one days work leaves 2 hours every day the next task will start the same day as the previous. Believe me: change hours per day and default time.

After the changes have been confirmed, it's time for a visit at Tools-->Working time. Here you should select the headings for Monday-->Friday and change the settings to the same settings you set on default start time and default end time. Why? Well this settings is when the resources CAN work, the default start time and default end time was how the tasks where created.

So, now you've specified the default focus factor of the resources and your project. Now it's time for the separate resources.

Setting the focus factor of the resources - part time resources
When you view the resource list in Microsoft Project, there is a field called Max Unit, and when you read sloppy documentation on Project, they state that this can be used for setting if a resource work part time. Well, not part time as I know it. Here's how it works:
When you choose Tools-->Working time, you can use a drop down and select your resources calendars. All resources have their own calendars and this specifies their working time.
What the max unit settings under Resource list specifies is the max value of unit on tasks (see my post on task type for info on unit) on a specific moment a resource can have before he becomes over allocated. This is when his post in the resource list becomes red. For example, we have two concurrent tasks with the same resource allocated:
  1. Unit: 50%
  2. Unit: 50%

This means that you have two concurrent tasks which the resource spends 50% each on. If the Max Unit of the resource is 100%, this will not be an over allocated resource, but if the Max Unit is 99% he will be over allocated.

This far, it seems like a good solution for part time resources but the problem is that Microsoft Project does not care if the tasks are 5 minutes long or a month. In other words, if you have a resource with max units 50%, he can only participate in a 1 hour meeting with a focus factor of 50%.

So, what do you do with part time resources? Well, you need to change their working time using their calendar. For example, you can set that they only work afternoons if they're working 50%. And you keep Max units as it is since Max Units sets percentage of the resource's calendar. If it becomes hard to visualize which resources work part time, you could take the time creating calendar templates for part time resources and setting those on the resource.

So, how do you use Max Unit? Well, if you have a resource group with interchangeable competence. For example if you have a group of three testers. You are not interested in assigning them to specific tasks, then you can create a resource called Testers and set Max Unit to 300. By doing so, you can say that we can assign three individuals at one specific moment.

Labels: , ,

2008-10-18

Task type and Effort driven in Microsoft Project

I usually do not do Microsoft Project any more, but since there is a Project integration in TFS, I sometimes get some questions. And since people use MS Project, they fall into the task type hell.

When you work in the task views like Gantt Chart you work with the task table in the project database. In this database you have three, connected, fields, namely Work, Duration and Unit. Connected by a formula. Namely:
Work=Duration *Unit
Work is most of the cases have the metric Hours, Duration have the metric Days and Unit % (even if these are settings found in the wonderful Settings dialog box under the Tools menu). So one example can be:
80[h]=10[d]*1
Which means that if one person works full time during ten days this results in 80 hours work. So the definitions of the fields are:
  • Work = man hours to be spent
  • Duration = number of working days between the start of the work and the finishing of the work
  • Unit= Percentage of time spent on the task

If you question my using the 8 hours a day, this is the default setting in Project. And yes, you can change this too.

If you want to try all of this stuff, you need to show all the fields in the view: the easiest way is right clicking a column name and inserting a new column. Select Unit and Work (you need to do this one column at the time) and since Duration is visible by default, you now get the complete picture.

So, now you can start playing around with the figures. (One tip though, never add Work before you set a resource on a task, then you're in for a real challenge. And also, never set a resource on a task with sub tasks. But now, back on track).

When you start changing the values in one of the columns, you can see that the other values change. But how do you know which one? Well, on the task table there is also a field called Task type and this value specifies which column should not change when you change the other values. This means that if you set this column to Work, the Work column will not change if you change Unit or Duration. Get the picture? If not, e-mail me.

What you also can remember is that there is another column: Effort driven: if you set this column to Yes, adding new resources will divide the current work on the task between all the new and current resources. But is that not always true, you think? Well, imagining creating a task for a meeting. If this task has Effort driven set to yes, adding new participants decreases the length of the meeting...

So, what should you choose? Well, you choose depending on task:
  • Work
    When you know how much work will be spent. Often used for development tasks when you have an estimation in hours (this will take me 40 hours to program)
  • Duration
    When you know how much calendar time a task will take. All meetings for example. And tasks where the estimations are in the terms "it will take us three weeks to be ready". Should always be set without Effort Driven
  • Unit
    When the focus factor of the participants cannot change. When you have a resource on 40% and this will under no circumstances change.
When creating a project file, be sure to have these columns visible so you know what you're doing. And if you know that you will only use one setting, please free to visit Tools-->Options to set which setting all new tasks will have.

Labels: , ,