To do an effective scheduling it is important to take care of two aspects. The first aspect is the processes that need to be followed and the second is how effectively you can use the tools to achieve a good plan and schedule and affectively track it.
Mostly people are conversant of any one of the two. Hence, I preferred to write on the importance of both.
Let us first deal with the first aspect:
SECTION I - PROCESSES
True that project fail mostly because of lack of proper processes. When we talk of processes, what comes to our mind is not only the strict discipline and adherence from the project team, but also complete support from the top management and leadership. Both are equally important but it normally trickles down from top.
Coming to what processes or steps one needs to follow for effective scheduling, I have listed the most fundamental and basic steps/processes. But please note that these need to be tailored based on the situation/ industry and type of the project at hand. Here, I am giving example from an IT perspective for a software development project.
The fundamental high level processes are:
1) Define Activities
2) Sequence Activities
3) Estimate Activity Resources
4) Estimate Activity Durations
5) Develop Schedule
6) Control / Track Schedule.
Let us briefly look at each of these processes:
1) Define Activities mostly deals with decomposing the WBS into activities that can be effectively managed, tracked and accounted for.
a. It can also have Rolling Wave Planning that can help in planning of especially large projects where details are available only for the initial first tasks of the project plan and the future tasks are elaborated at a later stage when more details are available.
b. A standard template across the organisation is useful.
c. This step normally requires expert judgement on the part of the planners to help ensure that the right activities are listed.
2) Sequence Activities is where the activities are sequenced using Precedence diagramming techniques. The dependencies of all activities are decided and leads/lags are applied wherever required. The result is normally a schedule network diagram.
3) Estimate Activity resources is the next step where the activities are loaded with resources with the help of resource calendars.
4) Estimate Activity durations is when estimations using various techniques such as analogous, parametric and three point estimates are used separately or in isolation or together or in combination to arrive at the closest possible estimates for completing the tasks.
5) Develop Schedule is where the schedule is prepared keeping in mind the tasks/resoures and the estimations. This is when Network analysis, Leads/Lags , Critical Path and Chain are applied to come to a realistic schedule. However, owing to the stringent budget/ deadlines, the schedule can be compressed using various scheduling compression techniques such as Schedule crashing (where more resources are put in to complete the tasks sooner – this impacts the project cost) or Fast Tracking (where tasks are done parallel to one another – this impacts the project quality). To arrive at a realistic schedule resource levelling can be done to ensure that none of the resources are over allocated. The output attained is a baselined project schedule that is tracked to closure.
6) Control Schedule is where the project is tracked, monitored and controlled to ensure that it is completed in time, scope and budget using the available resources. The challenge is to manage the constraints of Time, Cost, Scope, Resources, Quality and Risks.
SECTION II - SCHEDULING USING MS PROJECT
Before I start, let me clarify certain assumptions.
The project I considered is a software development project that I took from the MS Project templates and then modified it by changing the timings, constraints, Costs etc to help better visualise the Earned Value concepts.
This article can be used especially by MS Project 2007 beginners or even professionals who don’t get the chance to load resources/costs into their projects due to organisation policies or constraints.
However, this is not an article to explain how to use MS Project; but, if I came across any useful pointers and tips, I have added them as we move along. In the process I have touched along Cost/ Scope or any other constraint that is directly linked to Time/Schedule.
PART I – INITIAL SET-UP – CALENDARS, TASKS AND MILESTONES
Standard Calendar - is of duration from 9 to 6 PM with Monday to Friday as working days. Saturdays and Sundays are holidays. (This can be set-up from Tools – Change Working Time).
Project Calendar - is of duration from 9 to 6 PM with Monday to Friday as working days. Saturday and Sundays are holidays. This has an exception of 5 PM to 6 PM every Friday of non-working hours where all teams are engaged in taking backups and thereby, technical tasks cannot be executed. (This can be easily set-up from the Project Guide Feature or from Tools -> Change Working Time)
Resource Calendar – is based on the Project Calendar for each resource taking into considerations each individual’s timings/holidays etc.
2) TASKS – All Tasks are based on Fixed - Unit – i.e., Task durations are inversely proportional to no. of resources and are resource or effort driven. This can be set-up from the Options dialog, Schedule – Tab as shown below.
However, if an individual task is not effort driven, this can be applied at the individual task level in the Task Information dialog by unselecting the Effort Driven check box as shown below:
However, one can also use Fixed - Duration - Task where the task will take same time irrespective of no. of resources.
3) MILESTONES –
Milestones have been set-up as follows:
Tasks with zero duration OR a task that has been marked as milestones in Task information -Advanced tab
PART II – INITIAL SET-UP – RESOURCES
4 - RESOURCES –
An important area in the initial planning phase is how to allocate resources across the project.
MATERIAL RESOURCES — are items that are consumed while working on a project. Material resources use materials such as gasoline or wood — as opposed to time. When you assign a material resource to a task, you specify the amount of the material resource that you intend to use in units that are appropriate for the material resource.
WORK RESOURCES — are people or equipment that consumes time when working on a task.
GENERIC RESOURCES — resources (as defined by you) that aren't specific people, equipment, or materials, but rather descriptions of the skills that you need for a task when you don't know what specific resources are available
COST RESOURCE - Using a cost resource, you can add a fixed cost to a task without making the cost depend on work performed. If one or more tasks in your project require that you rent a storage unit during part of the project, you can set up the storage unit as a cost resource that you can assign to tasks during the appropriate periods to account for the cost of the storage unit as part of the task. Or, suppose that a resource needs to fly from Salt Lake City to Chicago to complete a task; you can set up the airline tickets as a cost resource and add them to the task.
You also can set-up a budget resource. Budget resources give you the opportunity to specify how work or costs will be allocated during the project. Suppose, for example, that you want to budget for the cost of a storage unit required during the life of your project. You would create a resource for the storage unit, setting its type as Cost, and then check the Budget check box on the General tab of the Resource Information dialog box to make it a budget resource.
If you set up a cost resource as a budget resource, you can use it to budget for your project.
MS Project doesn't allow you to enter any cost information for a budget resource on the Resource Sheet. To assign a value to the budget resource, you first assign it to the project summary task — and Project won't let you assign a value as you assign the budget resource. Then, you supply a value by adding the Budget Cost field to the table in the Task Usage view or the Resource Usage view.
Here, I have set-up 15 PCs for the project team and 2 laptops for the project manager and analyst as budget resources.
FIXED COST - Some tasks are fixed-cost tasks, that is, you know that the cost of a particular task stays the same regardless of the duration of the task or the work performed by any resources on the task.
5) RESOURCE USAGE -
After the plan is complete and the resources loaded, you would normally find that resources would be over allocated primarily due to parallel tasks, or sequential tasks with leads/lags. The first thing to do is to check if resources can be re-allocated, or utilised in a different way. I checked for this and found many situations where certain resources were being used simultaneously in various tasks. The resource usage view gives a convenient way of identifying such situations that are not so easily visible.
Next, check if certain tasks can be completed at a comparatively lesser time. Another option is to check for free slack- i.e., free float existing in each task, then to check if it can be done by relatively giving less duration per day.
However, if the budget and customer deadline is stringent, then one will have to opt for resource over time (to a realistic level).
In this project, I have considered a situation where the project deadline is stringent. And that over allocation of resources was inevitable especially during the development phase.
To achieve this, go to the Tracking Gantt Entry table view. Use Windows Split option and opt for Resource Work view.
As you move from one task to another, you can clearly see the resources allocated along with the time duration. You will get the option to put Ovt. Work (Overtime work). I have attached a sample view below for better clarity.
Resource levelling should be the last option since it will move the project schedule date to the right and cause delay in the project completion date.
PART III – DEALING WITH BASELINES
6) BASELINES -
Some projects, particularly shorter ones that run only a few weeks or even a couple of months, may have one baseline set at the outset and may proceed close enough to your estimates that they can run their course against that single baseline. Other projects, especially longer ones, may require you to set several baselines along the way, particularly if the original estimate is so out of line with what has transpired in the project that the original is no longer useful. You can modify the entire baseline if changes are drastic and occur early in the project, or you can modify the base-line estimates only going forward from a particular point in the project.
When we set a baseline, MS Project automatically baselines the Costs involved as the Baseline Budget i.e., Cost Performance Baseline or Performance Measurement Baseline or also referred as Budget at Completion (BAC).
Note: You can create your own custom views in the Entry View of Tracking Gant like the one I have set above.
Setting interim baselines keeps your projects from varying wildly from your estimates when mitigating circumstances come into play. When you're ready, you can use the Set Baseline dialog box to save up to 11 baselines and 11 interim plans for your project. Each baseline is a picture of your project at the time that you save it, and each baseline that you set includes information about tasks, resources, and assignments. For tasks, Project saves duration, start and finish dates, work, time phased work, cost, and time phased cost. For resources, Project saves work, time phased work, cost, time phased cost, budget work, time phased budget work, budget cost, and time phased budget cost information with the baseline. For assignments, Project saves start and finish dates, work, time phased work, costs, and time phased costs.
When you save interim plans, Project saves a set of task start and finish dates that you can compare with another interim plan or with a baseline plan, thus helping you to keep an eye on progress or slippage. Saving baselines and interim plans can help you compare current information (found in the start and finish fields) with baseline information (found in the baseline fields). The distinction between baselines and interim plans in Project is the amount and type of information that Project saves.
PART IV- TRACKING THE SCHEDULE
7) TRACKING -
Tracking Gantt view helps to show actual progress vs. projections.
You can record actual information for a project by filling in the following fields for each task that tracks the progress of your project:
Actual start date
Actual finish date
Note: The fields mentioned above are one possible set of fields that you can use to record actual information; there are other alternatives. For example, some people focus on updating only Actual Work and Remaining Work.
OPTION I - Set Actual Start Date and Actual Duration
(If Actual Start Date is not set, MS Project will automatically take Actual Start Date as the Baseline Start Date)
This will automatically calculate the % complete, remaining duration, Actual Cost and remaining cost till then for that task.
If you set an actual duration that is greater than the planned duration, Project assumes that the task is finished but that it took longer than expected to complete. Project adjusts the planned duration to match the actual duration and changes the Percent Complete field to 100% and the Remaining Duration field to 0%.As an example, if Actual Duration is filled say, 3d where as total duration is 4d. And say, the work is completed before time. In that case, enter remaining days as zero. The task will be automatically marked as 100% complete. The Actual Finish Date will be one day before. Also, the actual cost involved only for 3 days will be added. Then, the project will be ahead of schedule and under budget.
OPTION II - Set Percent Complete
(If Actual Start Date is not set, MS Project will automatically take Actual Start Date as the Baseline Start Date)
Setting the % complete will automatically calculate the Actual Duration, Remaining duration, Actual Cost and remaining cost till then for that task.
If you set your options to update resources when you update tasks, Project also calculates the Actual Cost and Actual Work values. If you enter 100 in the Percent Complete column, Project assigns the planned finish date to the Actual Finish Date column. If this value is not correct, don't enter a Percent Complete value; instead, enter an Actual Finish Date.
OPTION III - Set Actual Work and Remaining Work
Sometimes, you must schedule tasks based on the availability of certain resources. In these cases, tracking progress on a task is easiest if you update the Actual work completed. Updating this value also updates the work that each resource is performing.
Use the Tracking Table view to enter information into the Act. Work (Actual Work) column, but start in the Task Usage view so that you can enter actual work performed for specific resources. Choose View -> Task Usage, right-click the Select All button, and choose Tracking from the short-cut menu that appears. Then, update the Act. Work column.
This also helps in putting the actual work done by the resource. For example, the Actual duration might be 2 days but actual work completed might be ONLY 4 hrs. By making this more explicit, you can set the remaining Actual Work to 12 hrs. So MS Project knows that the project is running behind schedule and will increase the actual cost. We will look at this kind of scenario and its affect on the EVM later.
PART V - REPORTING
MS Project 2007 has a Visual Report feature to show the progress of the project. In fact, the visual reports can be exported to Excel or Visio. Excel reports have associated Pivot charts. The default charts can be changed as per your convenience by adding/removing any of the fields in pivot OR by modifying the trend lines, look and feel of the charts.
You can show the actual progress made so far day wise, while the tasks yet to start can be shown in a weekly scale and can be expanded as you actually reach there.