Microsoft Project Baselining Best Practices

Once you have the complete WBS built out, assigned resources, entered the effort estimates, built your dependency network and added your deadlines and constraints, it is time to set the project baseline.  The baseline reflects the schedule agreed upon at the start of the project as well as any approved changes along the way.  It is also a powerful tool to help identify variance since progress on tasks are measured against the baseline to identify ‘Finish Variance’, ‘Work Variance’, ‘Cost Variance’, etc.

Think of the baseline feature in Microsoft Project as an old-fashioned Polaroid camera, where you take a snapshot of a point in time and you instantly have a picture of what things looked like on a certain date.  You can then hold that picture up against your current schedule to see if and how things are different.  Baselining and variance reporting is also what allows for more visual reporting, such as ‘traffic light’ indicators.

By following a few simple best practices, the baseline feature can be a tremendous help to any project manager and provide a heads-up on variance where we need to take corrective action to avoid delays or cost overruns. Watch the video and follow the detailed steps below to set and maintain your own baseline.

Setting the ‘Original’ Baseline

The ‘Original’ baseline represents the schedule as it was first approved, before project execution starts.  Typically, this is the only time we save the baseline for the ‘Entire Project’.  After this point, we should avoid “re-baselining” since that would overwrite the actuals-to-date, but rather ‘add to’ or ‘maintain’ the baseline.  To set the ‘Original’ baseline, follow these steps:

  1. Select Project > Set Baseline > Set Baseline
  2. Choose Entire Project
  3. Press OK
Baselining Best Practices

Figure: ‘Set Baseline’ options for Original Baseline

 

You now have the baseline set with a complete copy of the ‘Budget Cost’, ‘Budget Work’, ‘Cost’, ‘Deliverable Finish’, ‘Deliverable Start’, ‘Duration’, ‘Finish’, ‘Start’ and ‘Work’ values.  In other words, everything you would want to report against throughout the project.  In the screenshot below, you will notice that the ‘Work’ and ‘Finish’ values have been copied into their respective baseline fields and the Tracking Gantt shows the baseline underneath the current schedule bars.

Baselining Best Practices

Figure: ‘Original Baseline’ copies values for the entire project into the Baseline fields

 

Note: If you are doing rolling wave planning, you can use the ‘Selected tasks’ option to add one phase of the project schedule at a time to the baseline.  In this case, you would use the same principle of ‘Maintaining the Baseline’ as per below to add phases after the detailed scope has been defined and scheduled.

Saving a History of Baselines

Since the baseline can change throughout the project, it is important to save a history each time the baseline is updated.  This helps us revert back, if necessary, and allows for comparison between baselines.  To save the baseline into history, follow these steps:

  1. Select Project > Set Baseline > Set Baseline
  2. Choose Set Interim Plan
    1. Copy: Baseline
    2. Into: Baseline10 (or whichever number your organization has decided is the ‘Original’)
  3. Press OK
Baselining Best Practices

Figure: ‘Set Baseline’ options for saving a history of baselines

 

Having saved a history is like having a backup of your baseline plan.  If subsequent changes are made and then rejected, you can always revert back to the original baseline by copying from ‘Baseline10’ to ‘Baseline’.  In addition to ‘Baseline’ (which always represents the most recent version of the approved schedule), there are 10 baselines that can be used to save copies of baselines (Baseline 1 through Baseline10).  We always recommend that you use Baseline10 only once to copy the ‘Original’ baseline and then cycle through Baseline1 through Baseline9 for other approved changes on your project.  Each baseline is stamped with a date, but it is also a good idea to keep a log on the side to describe what each baseline represents.

Maintaining the Baseline

As major changes occur on the project, it is important to add any new, approved scope to the schedule and maintain the baseline.  In addition to adding the new scope of work to the baseline, we can also add any tasks that are affected by the added scope.  Imagine your sponsor asks to add a task to ‘Interview Customer’, which will impact your subsequent tasks and the project completion.  In that case, you would need to include not only the ‘Interview Customer’ task, but also the impacted tasks to reflect the new agreed upon schedule.  This approach helps to ensure that we keep the history of actuals-to-date, but capture the changes for upcoming work.

In our scenario, we have completed the first task “Review Process Documentation”, where we went over the baseline work estimate by 4 hours.  As a result, the ‘Work Health’ indicator has turned yellow and the ‘Cost Health’ indicator has turned red.  The ‘Schedule Health’ indicator for the subsequent tasks are now red because they have been delayed.

Baselining Best Practices

Figure: Variances are highlighted in the columns as well as the Tracking Gantt

Now, Imagine your sponsor asks to add a task to ‘Interview Customer’ (20 hours of work), which will impact your subsequent tasks and the project completion.  In that case, you would need to add the ‘Interview Customer’ task to the baseline as well as the impacted tasks to reflect the new agreed upon schedule.  This approach helps to ensure that we keep the history of variances-to-date AND capture the changes for upcoming work.

To maintain the baseline on the project that is now in execution, follow these steps:

  1. Add the task (or tasks) that represent the new scope of work, then add the effort estimate, assign resources and include the tasks in the dependency network.
  2. Select all the new tasks at the same time and press Tasks > Inactivate, which will act much the same as ‘Track Changes’ in Word, where it deletes the changes, but let’s you see what you deleted.  This way, we are viewing the current schedule, but with the new scope of work ready to be activated.
  3. With the new tasks still selected, press Tasks > Inactivate again to activate the tasks that represent the new scope of work.  Now, Change Highlighting will indicate which detailed tasks are affected by the new scope of work.
      1. In the example below, task 4 represents the new scope of work and tasks 5 and 6 are impacted by the new scope of work.  As a result, all 3 tasks can be added to the updated baseline.
      2. We can now tell the sponsor that the proposed change will change the overall finish date of the project by 3 days, cost 20 hours of work and $1,000.
    Baselining Best Practices

    Figure: ‘Inactivate’ new tasks to see the impact on existing work when they are activated again.

    Note: It can be difficult to determine which tasks are impacted by the new scope of work, so we use the Inactivate/Activate technique to help us find them.  In a complex schedule, we also frequently highlight new tasks with one color and then highlight impacted tasks with a different color.  A screenshot of this schedule can be included with the change request for sponsor approval.

     

    Baselining Best Practices

    Figure: Change Highlighting shows the impact of new tasks when they are activated.

     

  4. Select the tasks that represent the new scope of work as well as any tasks affected by the added scope.Baselining Best Practices
  5. Select Project > Set Baseline > Set Baseline
  6. Choose Selected Tasks
  7. Select to Roll up baselines: To all summary tasks
  8. Press OK and select Yes to the confirmation message

steiness100713_8

 

The ‘Baseline’ now represents the ‘Original’ schedule as well as the first approved change from the sponsor.  You will notice that we didn’t overwrite the variance on task 2, where we went over the baseline work estimate and ran 0.5 days late.  With this method, we preserve overages that have already occurred, but incorporate approved dates for new and existing tasks.

Baselining Best Practices

 

At this point, you will want to repeat the steps in ‘Saving a History of Baselines’ above, but choose Baseline9 (or Baseline1 if you prefer) this time as we want to always preserve Baseline10.

If the sponsor changes her mind on this new scope of work, we can simply delete the added tasks and copy Baseline10 into Baseline to return the schedule to the previous state.

It goes without saying that baselines should only be updated with proper authorization.  We typically see baseline changes for these reasons:

  1. Formal Change Requests
    • As demonstrated above, any formal request for new scope on the project is a valid reason for updating the baseline.
  2. Customer directed reschedule
    • When a customer delays the schedule for any reason, I typically use the ‘Update Project’ feature to push all remaining work out and show the customer the new schedule that resulted from their delay.  I then add all affected tasks to the baseline.  While the customer may not formally have ‘approved’ a change to the project, they did so indirectly by forcing the schedule.  We can still track target dates through the deadline date.
  3. Reporting on new variance
    • If a project falls far enough behind that all remaining work shows up with red indicators, it may be time to ask the sponsor for approval to update the baseline to allow the team to track new variance.  By this point, we have bigger problems than baseline perfection and it may be valuable to see where we are hitting additional delays on the remaining work.  You will still have a backup of the other baselines to revert back to for final reporting.

Conclusion

As you can see from the above, the baseline functionality in Microsoft Project is very powerful and allows for effective reporting.  It also does not adversely impact your project schedule in any way, it simply saves your data for comparison.  There’s no harm in trying, so go ahead and baseline your schedule today and start maintaining it.

 

About Sensei Project Solutions
Sensei Project Solutions is a Microsoft Partner specializing in Project and Portfolio Management (PPM) deployments with Microsoft Project and Project Server on the SharePoint platform. With extensive experience on hundreds of PPM deployments and with thousands of users trained, Sensei Project Solutions brings a process-focused approach; and support for industry standards and best practices to all engagements. We offer a complete set of services to help an organization make their Microsoft PPM deployment successful, including full implementation and support services, training, as well as pre-configured solutions and report packs.  info@senseiprojectsolutions.com

 


Related Content

Quick Video Tips:
Baselining with Microsoft Project
Microsoft Project Do’s & Don’ts: Inadequate Baselining

Articles:
5 Things to Know about Microsoft Project Baselines
Using Protected Baselines


Share This Post
Avatar photo
Written by Kenneth Steiness
Kenneth Steiness, PMP, PMI-SP, MCP, MCT, is an industry expert on Microsoft Project and Project Online. Kenneth has worked in the project management and scheduling field for over 20 years. He has managed customer engagements in 13 countries and throughout the United States and presented at conferences world-wide for Microsoft, PMI and MPUG. Kenneth is the CEO of Sensei Project Solutions, a certified Microsoft partner specializing in project and portfolio management deployments. Sensei offers a complete set of services to help organizations succeed with their Microsoft PPM deployments. Services include full implementation and training as well as pre-configured solutions and report packs. Visit senseiprojectsolutions.com or contact info@senseiprojectsolutions.com for more information.
7 Comments
  1. Excellent article and accompanying video, Kenneth!

  2. It may be helpful to add some Baseline “Resource” info to this article. Baselining the entire project updates “Resource Baseline values”, but Baselining Selected Tasks (even if rolling up to the summary) does NOT update “Resource Baseline values”.

    How to see this in MSP:
    A) Make a new schedule with the usual settings (40 hrs/wk, etc)
    B) Make 1 task @ 5 days duration, and assign a resource at 100%
    C) Set the Baseline for the “entire project”
    D) In the Gatt Chart view, the Task will have Baseline Work = 40
    E) Open the Resource Sheet and the Resource has Baseline Work = 40

    Now, change the task and baseline just the selected task….
    F) Open the Gantt Chart View, change the task Duration to 10 days
    G) Set the Baseline for just the “Selected Task” and check both rollup baseline boxes
    H) The task will now have Baseline Work = 80
    I) Open the Resource Sheet – the Resource STILL has Baseline Work = 40

    Why the difference in Baseline Work: The Resource’s Baseline Work and Baseline Cost fields, do NOT get updated when Baselining “Selected Tasks”.

  3. Hi Kenneth,

    A very nice and extencive article. I like the way you used the interim plan functionality. I used to just go back to the set baseline menu and set baseline 10. This however would not work if I made changes in between. But now I know a way to grab the baseline and use that (instead of the actual schedule) to set a new baseline.

    Thanks!
    Erik van Hurck

  4. Avatar photo

    Kumar,

    In Project Server or Project Online, you can use the “Protected Baseline” option, so that the first 5 baselines are locked and only and administrator (PMO) can edit these. Some of our clients use these to make sure that no unauthorized changes are made. There’s no such option in the standalone version. However, you can check the baseline was set to verify that the PM hasn’t over-written it.

    Regards,
    Kenneth

  5. I partially like your tip on using the inactivate feature to show the before and after.

  6. Avatar photo

    Hi Greg. I think what you’re describing is the Snapshot functionality that is coming to Project Web App (PWA) with the Projectum acquisition. I’m not aware of this functionality just in the Project client though, but with PWA you should be able to do it soon.

Leave a Reply