Practical Project Planning and Tracking Using Microsoft Project v2.7
Practical Project Planning and Tracking Using Microsoft Project v2.7
nd
November 2011
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Contents
1
Introduction ........................................................................................................................3
1.1
Useful information .......................................................................................................3
1.1.1
Using This Guide ................................................................................................3
1.1.2
Microsoft Project Versions ..................................................................................3
1.1.3
Menu Shorthand .................................................................................................4
1.1.4
Copyright and reuse ...........................................................................................4
Starting a new project ........................................................................................................5
2.1
Default working Time ..................................................................................................5
2.2
Project Calendar .........................................................................................................6
2.3
Project Start Date .......................................................................................................9
Adding resources & Availability....................................................................................... 11
3.1
Project Holidays ....................................................................................................... 11
3.2
Adding and setting up resources ............................................................................. 12
3.3
Groups ..................................................................................................................... 14
3.4
Personnel Holidays .................................................................................................. 14
3.5
Block availability ...................................................................................................... 16
Adding Tasks .................................................................................................................. 18
4.1
Enter task blocks ..................................................................................................... 18
4.2
Entering basic tasks................................................................................................. 19
4.3
Enter explicit dependencies as constraints ............................................................. 20
4.4
Assign Resources .................................................................................................... 22
4.5
Level the Plan .......................................................................................................... 25
4.6
Arrange Tasks Using Priority ................................................................................... 28
4.7
Enter Milestones ...................................................................................................... 30
Other Scheduling and Planning ...................................................................................... 34
5.1
External Constraints and Milestones ....................................................................... 34
5.2
Baselining ................................................................................................................ 38
Tracking Against a Plan .................................................................................................. 40
6.1
Tracking by Percentage Complete .......................................................................... 40
6.2
Tracking by Work ..................................................................................................... 41
6.3
Task Start Dates ...................................................................................................... 42
6.4
Putting Tracking into Practise .................................................................................. 43
6.4.1
Gathering and Recording Actuals .................................................................... 43
6.4.2
Moving Unfinshed Tasks ................................................................................. 43
6.4.3
Levelling the Plan ............................................................................................ 46
6.4.4
The Tracking Gantt .......................................................................................... 47
Version 2.7
Page 2 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
1 Introduction
I have been working in the field of Project Management of systems and software delivery for
many year and for many employers. A common theme running through most of that
experience has been the use of Microsoft Project (MS-P) to plan the project before it starts
and to track progress against it during the project.
Most project managers I have met in that time that use MS-P have a love-hate relationship
with the application. At times and in certain circumstances it seems to provide exactly what a
project manager needs to do their job. At other times it seems to conspire against us almost
willfully to make ostensibly the simplest task impossible to complete.
I have seen and experienced myself vital project plans, that took many hours of work to
create and maintain, thrown away in disgust and frustration because the plan got tied into a
knot and the poor project manager was unable to unpick the resulting mess.
Long ago I learnt some practical lessons and easily repeatable techniques on how to use
Microsoft Project to achieve what I needed as a project manager, whilst avoiding the pitfalls
and elephant traps that the application sets for the unwary user. Since then I seem to have
spent many hours and days passing this information on to other project managers in every
organization I have worked for.
Finally I took the obvious step and wrote it down in order to make my life easier in the future. I
do not claim to be an expert in the use of MS-Project, there are many areas of the product
that I dont know how to use. Nor do I claim that these simple techniques are all you need to
know to manage software projects effectively, are some kind of best practice or represent
the pinnacle of Microsoft Project user guide perfection. All I claim is that these techniques
have been honed in the course of real software project management and work for me; I use
them all every day in my real job. I am passing them on in the hope they may provide some
small comfort to a frustrated fellow project manager tearing their hair out because Microsoft
Project has mangled their latest work of creative genius!
Version 2.7
Page 3 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Version 2.7
Page 4 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Ensure the fields match the numbers above, or your own organisations working practises.
Pressing the Set as Default button after completing the fields will means MS-Project will
always use your numbers by default and you will not need to go through this step again.
Version 2.7
Page 5 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
It does not seem to make much difference whether you make a copy of Standard or create a
brand new one.
Enter a name for the Calendar using the project name, for example My New Project and
press ok.
Version 2.7
Page 6 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
You will notice that the calendar default working time does not match the default working time
entered in Section 3.1 above. This seems to be a quirk of MS-Project and I have never been
able to make the default times match.
To remedy this you must set the actual working times and
the best time to do this is when there are no resources or
tasks on the project. The method of setting a new working
time across the entire calendar, like so many things in MSProject, is not very intuitive. First click on the M for MondayThis will highlight all of the Mondays in the current month (it
doesnt matter which month you use for this).
Next drag the cursor, whilst still pressing on the left-hand button, across the days of the week
header until you get to F for Friday. Release the left button. Although it is not obvious, you
have in fact selected all weekdays in the entire calendar at this point!
Version 2.7
Page 7 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
You may now enter the standard daily working times in the From/To fields and you should
enter the same working times you entered in section 2 Starting a new project. Note that you
must tab away from the last field you enter in order to save it- Navigating away from the
screen, by pressing OK, with the cursor still in a field you have changed causes your change
to that field to be lost without warning. In fact it is worth going back into the screen after you
have finished to ensure that all the correct daily times are stored as modifying these after
resources and tasks are applied to the project causes mayhem.
It is entirely possible that resources on a project will not actually work the hours entered heresome may start and finish earlier, others later; some may take their lunch break at a different
time. This is immaterial unless you are working on a project where the actual time of days that
tasks are worked is critical.
The most important feature of entering these times is that the right number of hours per day is
shown as the working time, 7.5 hours is usual though it should match your organisations
working times. This is important because elsewhere in the system a working day is defined at
7.5 hours. This means that if you enter a task with a duration of one day, MS-Project knows
that means 7.5 hours work- If you then allocate it to someone who is working, say, 8 hours a
day according to this calendar, then MS-Project thinks the task will take them less than a day
(i.e. 7.5 hours of their 8-hour day) and begin a new task on the same day. The difference is
Version 2.7
Page 8 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
minimal but adds up over the course of a project to a significant difference between planned
milestone dates and actual achievable milestone dates.
Ensure the start date is set to the correct date (usually today). It will not matter if this is
changed later, though there will be difficulties if you try to make it later and work has already
been done on tasks prior to the new start date.
Version 2.7
Page 9 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
The new project is now ready to enter tasks and resources. Save a copy at this point.
Version 2.7
Page 10 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Ensure that the Calendar you are modifying is the correct calendar for this project. If it is still
showing Standard then you have not completed step 1.3 above.
Version 2.7
Page 11 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
You declare project non-working time by selecting a date, or range of dates and checking the
Nonworking time radio button.
Version 2.7
Page 12 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
The most important thing to remember about the Resource Sheet entries is that you set the
Base Calendar for each resource to be the one you set up in 1.2. This means that personnel
and project holidays will be reflected in each resources availability. It is a common mistake to
forget to do this. If you forget then the problem manifests itself as MS-Project allocating work
to people when they are not available, which gives false milestone and end-point dates.
Do not be tempted to enter new resources using the Assign Resources tool:
It will let you do it, and will add the resource to the Resource Sheet, but it does not give you
the chance to set the Base Calendar for each resource. You can, of course, go back into the
Resource Sheet later and set the base calendar, but using the Assign Resources tool means
you may forget to do so. Using the Resource Sheet to enter new resources is a good habit to
develop.
Version 2.7
Page 13 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
3.3 Groups
A useful feature of MS-Project is the ability to filter displays by Resource Groups. So, for
example, you can filter a Gantt chart to display only the tasks belong to a client, or an internal
resource group such as Developers or BAs. In order to do this you have to set the Group up
in the resource sheet.
Version 2.7
Page 14 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Select the Working Time tab to access the Calendar for this user:
Version 2.7
Page 15 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
You will notice that the Calendar opens with todays date already selected. Set non-working
time for this resource by selecting dates, or date ranges and checking the Nonworking time
radio button.
This is where you would record individuals holidays or other absences from the project.
If a resource is only available to the project for a finite period of time, for example they will
only become available as a resource to the project on a certain date half way through the
project, or can only spend one specific week on the project, do not attempt to use the working
time calendar to show their availability. There is a much easier way- See section 3.5 below.
Version 2.7
Page 16 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Set the resources project availability using the Available From and Available To columns
in the Resource Availability field.
The dates entered can be one of three types:
Available From
NA
Available To
dd/mm/yy
dd/mm/yy
NA
dd/mm/yy
dd/mm/yy
Means
The resource is available from the start of the
project until the date specified, which is their last
working day available to the project
Resource can join the project on the date specified,
which is their first working day available and is
available until the end of the project
Resource can start on the project on the Available
From date and finishes on the Available To date
You can enter any amount of entries in the Resource Availability table to define an
individuals actual availability to the project.
Version 2.7
Page 17 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
4 Adding Tasks
The normal course of events is that a body of project tasks are added at the time the project
is initially created, since you normally know the elements of the plan at that point. A good
sequence of events is:
a.
b.
c.
d.
e.
f.
g.
Like anything within MS-Project, it is possible to do these things in different orders and at
different times. Sticking roughly to the order above is likely to yield a project plan that is easier
to maintain as changes naturally occur through the evolution of a project.
Analysis
Development
System Testing
User Acceptance Testing
However you might be planning a large project, with several phases and several separate
mini-projects within each phase. Try to reflect the broad project hierarchy of work in this
manner using blocks and dont be afraid of nesting them several layers deep in order to get
the arrangement right.
Version 2.7
Page 18 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
If you press Enter at the end of the name, the cursor will drop to the next task, where you
can enter a new Task Name- Though it is easy to overwrite existing task names if you dont
keep an eye on where the cursor is and havent created enough blank tasks!
If you already have the estimated work for the task then you can enter it at the same time.
Instead of pressing Enter at the end of the Task Name, press Tab. The cursor will move to
the Duration column.
It is important to remember that task Duration is NOT the same as the effort. Effort on a task
will remain the same (unless you change it), but the duration will differ depending upon the
amount of resources applied and how much availability those resources can provide.
However, for the purposes of setting up tasks initially you can treat them as identical, because
no resources have yet been applied to the task.
You can mix and match the time units for durations- One task can be estimated in days while
a second task can be estimated in hours- merely use d or h as a suffix when entering the
duration.
Version 2.7
Page 19 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Dont forget to indent tasks that belong to a task block. By default, MS-Project will auto-indent
all tasks to the same level as the task above, which means that when
entering tasks beneath the task block name they will all be indented to the
same level. When you have finished entering the tasks for a block, select
them all and click on the indent button.
Try to complete entering the tasks and durations before attempting to add constraints or
milestones.
Version 2.7
Page 20 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
However if you have two separate items of development that are not linked technically and
you wanted to ensure that one was done before the other, you should NOT use a
predecessor to make that happen in the plan.
This is the single biggest problem that users have with MS-Project for anything but the most
trivial plans.
Use of constraints to order tasks ties the plan in knots and reduces the opportunity for
efficient allocation of resources. Additionally, and perhaps more importantly, in the real world
people rarely completely finish one task before starting another- This means that a plan
based on a constrained sequence of events will elongate artificially to try and ensure that
things are done in a set order. Let tasks float in the plan. This may be a bit of a leap of faith
at the moment- I will return to this in section 6.3 Task Start Dates .
Remember!
Only link a task to a predecessor when there is a real and
explicit reason to do so!
Where there is a real dependency among a group of tasks, for example we can only
commence UAT when System Testing has been signed off. It is far better to put the
dependency between the task groups than between individual tasks.
This means that the broad dependency of one activity on another is retained, but the
individual tasks can change or be moved around without having to update loads of
constraints.
Version 2.7
Page 21 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
You can then select an individual or group of resources on the Assign Resources panel and
assign them to the task by pressing the Assign button.
Remember that once you start adding resources to a task, its duration will change but the
actual effort remains the same. If one person can do a task in four days, two people will be
able to complete it in two days, but it still requires four man-days of effort.
Version 2.7
Page 22 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
If you need an easy way to see the actual underlying effort for tasks in addition to the
duration, then add the Work column to the left-hand panel. Right-click on the Start column
title and select Insert Column from the dropdown menu.
Select the Field name Work in the Column Definition panel and press OK.
You will notice that entries in the Work column are measured in hours by default. If you want
to change this use Tools => Options and select the Schedule tab.
Version 2.7
Page 23 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Alter the Work is entered in: field to reflect the required work units.
Notice that in the example above, even though Code Fcn 3 was entered with a four-day
duration, it has automatically become a two-day duration through the addition of two
resources. However the Work column has remained at four days.
Version 2.7
Page 24 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
In the example above on Thursday and Friday Dev1 is supposedly doing a days work on
three separate tasks at the same time, equalling 22.5 hours work per day! Clearly this will not
reflect what happens in the real world. However the more important effect is that since MSProject is assuming that both tasks can run in parallel, the overall duration of the System 1
task block remains at three days (the duration of the longest tasks within it).
Remember!
An unlevelled project plan will probably have a false enddate
By levelling the plan, MS-Project will sort out all over-allocations. Levelling is an extremely
powerful tool and should be used liberally. Get into the habit of levelling the plan after any
change to tasks or resources.
Version 2.7
Page 25 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Note that it is possible to set Levelling to happen on an automatic basis. I recommend that
you do not do this until you are completely happy with the effects levelling has on your plan. I
find it easiest to make a block of changes to a plan and then level once at the end. Automatic
levelling, if enabled, will be applied after every single change.
Version 2.7
Page 26 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Now, in the example provided, MS-Project has moved and split tasks to ensure that the Dev1
resource is only doing one day of effort per calendar day.
Given the tasks and the resource available, MS-Project has scheduled the tasks to produce
the shortest possible duration. Dev1 has been given a total of seven days work on this plan
and therefore the shortest overall duration of the work requiring his capacity is seven days,
whereas before levelling the overall duration of the Development tasks was three days (not
including the weekend).
It is interesting to note that it has also put a split into the Code Fcn 3 task. It has allowed Dev2
to do as much as allowed on the task (two days) and then the task has to wait for Dev1 to
become free after their first task. At that point, Code Fcn 3 is completed and Dev1 is allowed
to move back to their second task.
Remember!
It is only through very frequent use of Resource Levelling
that you will have an accurate end-date!
Version 2.7
Page 27 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
In spite of this a good use of Task Priority is to ensure certain blocks of work are started
before others by setting all the tasks in one block to a higher priority than other blocks. In the
example below Ms-Project has been allowed to schedule tasks according to its own best-fit.
However suppose it is beneficial for some reason to ensure that all the work for System 2 is
completed first
To achieve this we need to ensure we set the priority of the tasks in the System 2 block
higher than the other items which ensures the task Code Fcn 3 is completed as soon as
possible rather than being completed when Dev1 is free from their first task.
Version 2.7
Page 28 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Unfortunately, MS-Project does not allow you to set a priority at a task block level- you DO
have to go into each item in the block and set the priority. Fortunately, MS-Project allows you
to multi-select a group of tasks and amend them in one operation. Select the tasks, right-click
on the selected group and bring up the Task Information panel.
By setting the priority of the tasks you affect the way they are scheduled (and levelled) by MSProject. In the current example, setting the priority of all of the System 2 tasks to 600
instructs MS-Project to attempt to schedule the completion of all tasks in System 2 before
other lower-priority tasks (all tasks have a default priority of 500 when you enter them in MSProject).
Enter the priority and select ok.
Version 2.7
Page 29 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
To see the effects of the priority changes ensure you level the plan immediately (see section
4.5).
Instead of splitting Code Fcn 3 in order to wait for Dev1s availability, Dev1 is now allocated
to it from the beginning and only when System 2 is complete is Dev1 allowed to begin work
on other tasks. The overall duration has not changed, but the order of task start and
completion has altered.
Use task priorities to ensure tasks are started/completed ahead of other tasks. Use this
technique instead of setting task dependencies between two tasks that are not actually
dependant.
Analysis Complete
Development Complete
System Testing Complete
UAT Commence
UAT Complete
Go-Live
These are all milestones that relate to an entire block. Just make the block a predecessor of
the milestone to link them together.
Version 2.7
Page 30 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Once you have milestones between blocks it is useful to change the constraints so that
subsequent work depends on preceding milestones instead of preceding blocks.
This makes the plan easier to maintain because it is easier to insert tasks or task blocks
before a milestone- All you need to change is one constraint to make the milestone
dependant on inserted blocks and everything else continues to work.
The other beauty of this arrangement comes when you roll up all the task blocks (compress
all the tasks on the plan so that it only shows the higher-level task block item by clicking on
the small minus symbol next to the block)
Now the plan shows key task dates only, plus the milestones that are external to the task
blocks. It hides the complexity of the underlying tasks which is very useful when reporting to
clients.
One nice effect is to include the milestone name and date against the actual milestone on the
plan. This is a Bar Format option.
Version 2.7
Page 31 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Using Format => Bar Styles, bring up the Bar Styles panel and select the Milestone item.
Click on the Text tab to bring up the text settings for the milestone item.
This panel lets you automatically place text around the milestone symbol on the plan. By
default milestones automatically place the Start date to the right of the symbol.
Version 2.7
Page 32 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
You can use the same technique on the Task bar-style to make the plan more readable- You
may possibly want to change the default action of MS-Project of displaying all allocated
Resource names next to the tasks, to perhaps displaying only their Initials.
Version 2.7
Page 33 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
It might be the case that the System Test environment is not available until the following week
and thus the System Testing tasks cannot commence until then. No amount of modification of
the project tasks will force the system testing to commence on Monday 8th March. However
this is one of the occasions where there is a real constraint- the testing cannot start until the
environment is available.
There are several ways this could be shown in the project, including allowing a one-week slip
between the end of Development and the start of System Testing, or setting a Must Start On
constraint on the System Testing block or first task. This kind of problem is an example of an
external constraint- this project cannot make use of an external resource (the testing
environment) until it is available. External constraints are common; you may not be able to
commence some analysis until a third party has sent some documentation, or you may not be
able to process a file until it has been received from another system. The list is endless.
However the best way of showing an external constraint is with a new milestone. In this case
we can set up a milestone to signify when the testing environment will become available.
MS-Project tries to be helpful. Because we inserted the milestone task between two linked
tasks (the Development Complete milestone and the System Testing task block) it has
assumed it is an intermediate step. However that is only partially true- The start of testing
does depend on the Environment Available milestone, but that milestone does not depend on
the end of development, it is entirely external and its actual date will depend on
circumstances outside the control of the project. Therefore we must break the link between
the end of development and the Testing Environment Available milestone.
Double-click on the Testing Environment Available milestone and select the Predecessors
tab.
Version 2.7
Page 34 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Position the cursor in the ID column of the task you want to remove and press the delete key
on the keyboard and the dependency will be removed. Press OK to return to the project plan.
The dependency has been removed, but this had had the effect of putting the Testing
Environment Available milestone at the start of the project together with the rest of the testing
tasks which now start before development has completed!
This is because MS-Project has no information about when this milestone might occur. In this
example we have been told that the testing environment will be available on Monday 8th
March. So we can now apply a Must Start On constraint to the milestone task.
Version 2.7
Page 35 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Version 2.7
Page 36 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Press OK to return to the project plan. The Testing Environment Available milestone has now
moved to its correct date and because it is a predecessor of the system testing, that has
moved to occur after the milestone.
Unfortunately, we have now broken an internal constraint; even though the System Testing
tasks cannot start until the environment is available it also cannot commence until the
development has completed. On the current plan it does not look as if that is a problem since
the development naturally completes well in advance of the new system testing date.
But let us suppose that after the plan is drafted the work to complete Code Fcn1 is reestimated to be 10 days instead of two. This has the effect of delaying the completion of
development.
Version 2.7
Page 37 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Unfortunately, since the system testing was only dependant on the environment becoming
available it looks as if the system testing can commence before the development can
complete. We need to link the start of testing to the completion of development as we did
before the introduction of the external constraint. Using the Predecessors tab of the System
Testing task block, add the Development Complete milestone as a predecessor of System
Testing
The additional constraint has now been added to the project plan and the testing tasks are
moved accordingly.
This kind of handling of external dependencies and milestones helps us track the effect of
delays in those milestones and constraints. According to the plan the system will go-live on
15th April and that is dependant upon the system test environment becoming available as
th
planned on 8 March (albeit with a few days slack, useful to remember) and the development
th
completing on 10 March. If we subsequently hear that the testing environment will not now
be available until 15th March we can easily modify the date of the milestone to the new date
and immediately observe the effect it has on the downstream milestones and go-live slips
th
th
from 15 April to 19 April. This is information the Project Manager needs in order to manage
external constraints and third parties.
5.2 Baselining
When you have completed setting up the project and you are reasonably certain that it
contains all tasks and all internal and external dependencies, in other words the plan is
complete and you are ready to start doing the actual work and tracking against the plan, you
should first baseline it.
A baseline is like a snapshot of the project including all the tasks and all their start and end
dates. It is stored internally within the project. When work gets underway and you are tracking
your actuals (i.e. you are recording the actual start and end dates of tasks and how far
through tasks the project team has gone) things inevitably start to move around on the plan
as tasks get delayed or completed early. Without referencing the original plan it is sometimes
difficult to see the effects of cumulative movements at a glance, so MS-Project provides a
different view of the project, called the Tracking Gantt that includes the baselined information
Version 2.7
Page 38 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
and the current information. It becomes easy to see how tasks are moving against the original
plan and additionally the current Critical Path of the project (more on this later).
You can baseline and re-baseline your project at any time using the Save Baseline screen.
Tools => Tracking => Save Baseline
Though there are many options, the simplest is to leave the settings at default (as shown
above) and press the OK button. The baseline will be saved.
Version 2.7
Page 39 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Its first use is as a plan of how things can be done in the future to deliver the
objectives (e.g. put a new system live). By entering all the tasks, all their estimated
durations and applying all the resource one expects to apply, the plan will deliver to
the Project Manager the start and end dates of all the tasks and milestones in the
plan, including the final delivery milestone (assuming you have put one in the plan!)
Once the plan is underway and the tasks are being worked on, the plan becomes the
way the Project Manager determines whether the project is still on track to deliver
against the original planned dates. This is called tracking against the plan and is
achieved by constantly updating the plan with actuals (i.e. things that really happen,
start and end dates and time spent on the actual work) and letting MS-Project
recalculate the plan and replan the dates of the remaining tasks
The first three sections below discuss the main tracking options available to the Project
Manager before moving on to describing the sequence of events a Project Manager will
exercise frequently in order to track against a plan in section 6.4 Putting Tracking into
Practise. The latter section brings all the techniques together and offers a set method of
working through the complex task of tracking a projects current position against the project
plan.
For all but the most trivial of tasks, especially in the field of software development,
tasks do not always get to 100% complete before the development team starts on the
next task. If the plan is locked into a strict order of tasks, one following the other, the
plan quickly becomes unworkable as a tracking device. Typically Project Managers
then try to rebalance a plan by moving tasks and adding more constraints to continue
to force the plan to reflect reality. Often the plan will eventually become so difficult to
maintain that it is thrown away, which means the end of the Project Managers ability
to determine if their project is still on track
Version 2.7
Page 40 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Sooner or later you will have to get acquainted with the (only slightly) more complicated, but
much more accurate method of tracking actuals, Tracking by Work.
Meaning
The expected current total effort to complete the task
The actual amount of effort that has been expended on the task to-date
The currently expected effort remaining to complete the task
These can (and should) be added to the project columns- In fact we have already added
Work in section 4.4
Version 2.7
Page 41 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
Assign Resources when looking at the difference between Work and Duration. You should
add these to the plan right at the start (though they can be added at any time thereafter) and
enter the answers to the key questions above into the relevant columns in the plan (rather
than by maintaining the Percentage Complete field within each task).
Often something needs to be done ahead of something else and therefore must be
done first, possibly very much earlier than MS-Project chose. However this actually
indicates a technical dependency between two tasks and all technical dependencies
should be modelled in the plan using constraints. If a task can only be started when
another is completed then they should be linked in that way. If this is done properly
then MS-Project will always schedule the more important task first.
The commonest reason for starting a task at a time other than when MS-Project has
placed it on the plan is because the project team may arbitrarily choose to
commence one task over another.
MS-Project does not force you to move a task on a plan just because you happen to have
started at a different time. Even if you set some percentage complete or add values into the
Actual Work field it does not work out that real work has been done ahead of schedule and
move the task start date. So you actually end up completing work on tasks in the future as far
as MS-Project is concerned!
You might not be too worried about this- after all if a task gets marked as complete do we
care whether the plan thinks that is in the future or not? Well unfortunately MS-Project still
tracks the resource usage so if you completed a task today that MS-Project had planned as
taking all next week, then it will still expect the resource to be used up next week and so will
not plan for other tasks in the same period, even though the task was completed ahead of
schedule and therefore the resource is, notionally at any rate, free to do other things.
In section 4.3 (Enter explicit dependencies as constraints), it was advised that you do not
constrain tasks in the plan so that they are forced to follow a set order or appear to start on
the right data unless there was a need to do so because of a real dependency. Tasks
should be left to float around in the plan starting and ending on the dates MS-Project
chooses. But in order to get over the resource allocation problem above it becomes
necessary at some point to ensure the task starts in the plan on the same day as it actually
starts in the real world and it is easy to do without shackling the plan with constraints
At the point that the task actually begins the project manager
must alter the Start Date on the task to indicate to MS-Project
that it has started!
This would typically be done at the point the Project Manager first records Actual Work
against the task. The task moves on the MS-Project plan and work is recorded against it. MSProject will not move it again unless you force it to. Since the task has moved, it may well
have been put in parallel with other tasks and will also have left a hole wherever it was
moved from, which may now be filled with work on other tasks. Simply Level the plan at this
point and MS-Project will shuffle the outstanding tasks around to take these into account.
Version 2.7
Page 42 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
For some reason Dev1 has not made progress on Code Fcn 2. They were scheduled to do
three days work on Monday, Tuesday and Wednesday, but were only able to work on the task
for one day. They are still confident it is, overall, a three day task but the remaining two days
Version 2.7
Page 43 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
must now take place in the future and this will prevent them from starting the next task, Code
Fcn1.
When the Project Manager has updated the actuals of all of the tasks that require it, the next
steps is to move all unfinished tasks into the future. This is achieved using the Update Project
panel.
Tools => Tracking => Update Project
Here the Project Manager tells MS-Project to reschedule all uncompleted work to commence
th
after a certain date. Since, according to our example, the date today is 25 February we want
th
to schedule the work to commence after 24 February. Select the correct date and press the
OK button.
Version 2.7
Page 44 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
MS-Project may, at this point, move all the tasks as required. Alternatively it may find that it
cannot because to do so would break a constraint that has been set (for example it may try to
move the start date on a task that has a Must Start On constraint which is why it is often
better to use Start No Earlier Than to ensure tasks dont start until a certain date) and MSProject will display the following error.
When this happens it can become difficult to determine why MS-Project believes that it cannot
reschedule certain tasks. It can often be helpful to add the column Constraint Type to your
project as this allows you to see at-a-glance which tasks may be the culprits (tasks with the
constraint type As Soon As Possible will almost certainly never be the cause of the
problem). If all else fails you will need to manually update the start dates of tasks that got left
behind in the past and set a constraint on them to Start No Earlier Than tomorrow.
Sometimes MS-Project will give this message for no apparent reason whatsoever, which is
quite infuriating. However after rescheduling the unfinished tasks in the example the project
plan now looks like this:
Note that MS-Project has moved the unfinished part of the Code Fcn2 task to commence
from today. Unfortunately that work now clashes with the task that Dev1 was supposed to
be working on from 25th Feb, Code Fcn1, however this will get sorted out when the plan is
levelled.
Important Tip!
When you are happy that you have moved all unfinished
work into the future, save another copy of the project plan
separate from the original.
At this point do not overwrite the original!
Version 2.7
Page 45 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
We can now see that Code Fcn1 has been moved to start later and allow Code Fcn2 to
complete. This in turn has made the Development Complete milestone move to 12th February.
Fortunately, in this case, there was some slack before testing started caused by the
unavailability of the testing environment and that slack swallowed the overrun of the
development. However it is now very easy for the Project Manager to see that any further
delays in development will affect the start date of system testing.
Levelling the plan after changes to the actuals can sometime produce a project plan that is
not consistent with the requirements of the project. To put it another way, the plan can
sometimes go a little wild at this point! If this happens to you, dont worry, it happens to
everyone and is one of the joys of using MS-Project! It is here that the Project Manager may
want to move tasks around, change priorities to reflect the current position, bring in more
resource or rebalance resources workloads by reallocating. It is at this point you will realise
the benefit of having saved separate copies of the plan and not overwritten the original!
Sometimes it is easier to go back to the original and start again and sometimes MS-Project
can twist a project so badly that your only course of action is to go back to the original and
start again. Make sure you never overwrite the original when doing a tracking cycle until you
are completely happy with the current plan. You have been warned!
Version 2.7
Page 46 of 47
Practical Microsoft Project for Project Planning and Tracking Marvey Mills
This looks similar to the normal Gantt chart but it shows additional information (assuming that
a Baseline has been saved).
Perhaps the most important information it yields is the Critical Path for the project- This is
comprised of all the tasks with red shading. The critical path is the sequence of tasks that
must be completed on schedule for the entire project to be completed on schedule. In other
words if anything on the critical path slips it is unavoidable that the final delivery of the project
will also slip.
On the tracking Gantt all tasks are shown with two horizontal bands instead of one.
The bottom band is the task where it appeared on the baseline project plan. The top task is
where it appears on the current plan. The percentage on the right-hand side of each task is its
Percentage Complete value.
When milestones slip they leave behind a diamond shape on the Tracking Gantt to show
where they appeared on the baseline plan
Version 2.7
Page 47 of 47