Microsoft Project Lessons

Here are some tips for using MS Project in particular and project management in general that I picked up, which have either proven useful or which sound reasonable and which I plan to try out in the future. Feel free to add yours in the comments.

Leave Buffers

Since no project ever goes according to plan, it’s sensible to plan ahead by inserting buffers which can eat up some of the delay. Buffers shouldn’t be added to every task, but at the end of project phases or before milestones. A buffer of 15% of the phase duration was recommended in [1]. A buffer can be added by

  • inserting a dedicated buffer task between project phases, or
  • using positive Lag between tasks (phases) that are dependent on another (see below), or
  • creating a manually scheduled summary task for the project phase to which the buffer is added. In this case MS Project separately keeps track of the subtasks’ duration whose progress bar turns red when it exceeds the summary task’s set duration.

Beware of Slack

Don’t calculate with 100% productive-towards-the-project resources (people). Nobody works without distractions. This can be accounted for by

  • setting Max Units of the resources to less than 100% (Resource sheet, Max Units cell), or
  • using shorter workdays in the project (Project OptionsSchedule)

The first option is more flexible and more visible.
If you also schedule equipment resources, you can probably leave Max Units at 100%. Don’t use the second option in this case.

Use Hyperlinks

If you have documents describing a task / work package in detail, link the tasks in Project to these documents by choosing Hyperlink in the context menu of relevant tasks.

Understand Task Types

When you make changes to a task’s duration, resource units or work, Project will calculate the other two quantities automatically according to these rules:

Task Type User Changes Program Adjusts
Fixed Units Duration Work, based on Units
Units Duration, based on Work
Work Duration, based on Units
Fixed Duration Duration Work, based on Units
Units Work, based on Duration
Work Units, based on Duration
Fixed Work Duration Units, based on Work
Units Duration, based on Work
Work Duration, based on Units

It’s a good idea to change the task type only while you are making changes to a task, and afterwards resetting it to the standard Fixed Units type, in order to avoid unexpected behavior and confusion in the future.

Equipment is a Work Resource

This may sound counter-intuitive, but material resources are consumables that are planned by quantity, not by availability. If you have two pieces of some particular equipment, set Max Units to 200%, and analogous for more. Equipment resources likely don’t need slack adjustment to their Max Units (see above).

Use Task Dependencies and Lag

When you use Automatic Scheduling (and you should), make use of the different task dependency options. These are

  • Finish-to-Start (FS): Successor task starts when Predecessor task has finished. Most common option. Positive Lag creates a delay between tasks, negative Lag leads to overlap.
  • Start-to-Start (SS): Successor task starts when Predecessor task starts. Positive Lag delays the start time of the Successor, negative Lag advances it.
  • Finish-to-Finish (FF): Successor task finishes when Predecessor has finished. Positive Lag delays the finish time of the Successor, negative Lag advances it.
  • Start-to-Finish (SF): Successor task finishes when Predecessor task starts. Positive Lag leads to overlap, negative Lag creates a delay between tasks.

Successor and Predecessor merely describe the dependency (which task controls the other), not the temporal order of the tasks, which can certainly cause confusion in the SF case.
Lag can also be entered as a percentage of the duration of Predecessor, which can be useful for creating buffers (see above).

Finish-to-Start dependency without lag (top) and with 50% lag (bottom).

Start-to-Start dependency without lag (top) and with 50% lag (bottom).

Finish-to-Finish dependency without lag (top) and with 50% lag (bottom).

Start-to-Finish dependency without lag (top) and with 50% lag (bottom).

Use Summary Tasks

Summary tasks are a helpful visual aid when the project is divided into different phases, each with its own set of tasks. With a single click all subtasks can be hidden from view when a particular phase is no longer relevant or when the structure of subtasks is of no current interest, e.g. individual acquisition tasks before the start of assembly.
Also, changing a summary task to Manually Scheduled in Project adds a duration indicator for the contained subtasks as part of the task bar. Should the duration of the subtasks exceed the duration of the summary task, e.g. because of unforeseen delays, this duration indicator turns red, warning about the problem. Manual scheduling also allows for inserting some buffer time as described above by making following tasks depend on the finish of the summary task instead of a particular subtask.

Automatically scheduled summary task (top), manually scheduled summary task with remaining buffer (middle) and with exceeded buffer (bottom).

Save your Favorite Views

If you find yourself using similar views over and over again, save your setting as custom view(s) and make it available to your other projects.
To show e.g. a Gantt / Entry Table with custom columns and bar styles, and with the Task Details Form in a second pane below the chart, follow these steps:

  • In the View ribbon, select the Gantt Chart view.
  • In the View ribbon, select DataTablesEntry (or your favorite table) and use the Format ribbon’s Columns section to format the table to your liking. Often, less (columns) is more and you can also get e.g. Start and Finish data by hovering the mouse over the task bars in the Gantt chart or in the Task Details Form that we’ll setup later.
  • In the Format ribbon use the Bar Styles section to format the task bars to your liking.
  • Go to FileInfoOrganizer, select the Tables tab, select the appropriate table on the right side and click << Copy. In the pop-up warning box, click Rename... and give the table a new name in the global template (do not first rename and then copy). Do the same with the view in the Views tab of the Organizer (as the table to use is saved in the custom view).

  • In any of the drop-downs in the View ribbon, Task Views section, select More Views...
  • In the dialog box, click on New... and select Combination View.
  • Give the view a new name and select your custom view for the Primary View and e.g. the Task Details Form for the Details Pane.
  • Go back to the Organizer and copy your combination view to the global template to make it available in your other projects.


[1] Bonnie Biafore, Microsoft Project 2010: The Missing Manual, O’Reilly Media, 2010.

No Comments

Post a Comment

Your email is never shared.