Forecast scheduling is the practice of periodically updating your project schedule in order to keep your project end dates current. This is a discussion about why forecast scheduling provides the most relevant prediction of schedule end dates.
“Change is inevitable – except from a vending machine.” – Robert C. Gallagher
Nothing goes according to plan! Execution may vary significantly from the project plan. Often team members discover their duration estimates were too optimistic. As projects progress, team members gain greater insight into activity durations. Scheduler’s need to reflect this better insight in order to describe the true length of the project. Additionally, tasks on the critical path get behind schedule requiring re-optimization efforts. Customers change the scope. Lots can happen during schedule execution. Forecast scheduling is a way of updating your schedule during execution to provide for the most up-to-date and accurate forecast of the schedule.
This article describes forecast scheduling: a way to keep your schedule dates up-to-date through all the chaos of the execution process.
Forecast scheduling is built upon three principles:
- Use the project baseline to capture commitment dates
- Use of appropriate task dependencies
- Use of additional snapshot baselines to describe revisions to forecasts
As mentioned above, the project manager will use the project baseline to capture commitment dates. Many schedulers use the schedule itself to highlight promises, and, therefore, they want to keep their schedule unchanged or static. This limits the dynamic nature of a schedule, and its ability to forecast.
Schedulers also need to set up the schedule with appropriate dependency relationships between tasks. They should additionally minimize the number of constraints. This enables quick updates to the schedule. And reduces the number of manual changes required for updates. This makes the schedule dynamic and suitable for forecasting.
Yes, project managers should update the schedule with revised forecasts. A forecast schedule is living and active. It updates according to your estimators updated activity duration estimates. It adjusts the schedule to accommodate your customer’s scope changes. It reduces scope to account for budget cuts. It adjusts the activities, accordingly, to describe the changing nature of resource availability. When the schedule is running behind, it looks for additional ways to optimize the schedule. The schedule adjusts, as appropriate, to account for change that is inherent in the properties of a schedule and schedule execution. These adjustments can be captured in a new, perhaps, monthly snapshot baseline.
To update a project is to enter revised estimates-to-complete and/or actuals. Again, team members have a better idea on work required to complete once the activities have commenced. Updating the schedule with these new duration estimates will provide a current and more accurate project forecast. Project managers may also want to re-optimize the schedule to try and get revised schedules to meet the deadlines.
As a demonstration of how you can capture revised estimates in your schedule refer to Figure 1.
Here we have a Primavera P6 schedule that is ready for execution. In fact the ‘Notice to Proceed’ and ‘Project Start’ milestones are completed. Note the yellow baseline bars of the schedule on the Gantt chart, Figure 1. As stated earlier, invariably, what happens is that your estimators provide you updated estimates just as execution of the project has begun. When we input these revised duration estimates into the schedule, Figure 2, we see that our schedule no longer matches the baseline.
Note, in particular, that activity B takes 2-days longer, activity C 1-day shorter, activity D 1-day shorter (but finishes exactly on time), and activity E 3-days shorter. Overall, the project ends 3-days earlier. Obviously, it is to our benefit to reflect these changes in our schedule baseline, but how?
What we can do in this case is create a new baseline based on the new duration estimates, and keep the old baseline as a means of comparing progress to the original schedule, Figure 3.
As displayed in Figure 3 we have the original project baseline in yellow bars and the new revised duration estimate project baseline in light blue bars. Thus progress of our living and active schedule is measured off the light blue baseline bars and the original schedule is measured off the yellow baseline bars. This dual baseline technique enables us, therefore, to keep our project progress measurement both active and honest. Refer to the blog How To Display Two Baselines on the Gantt chart in Primavera P6 Professional.
To reiterate, despite all the unplanned issues that appear during schedule execution you will want to have one baseline since the beginning of project execution that does not change. You may then have snapshot baselines, as we did in our above demonstration, which account for updated duration estimates, scope changes, and optimization efforts.
You will have to decide when enough schedule changes have taken place such that it would be appropriate to take another snapshot baseline of the project. You could, however, take a baseline snapshot of the project on a monthly basis. As demonstrated, it is possible in Primavera P6 Professional to display more than one baseline on the Gantt chart. Perhaps, an unchanging project baseline and an updated monthly snapshot baseline that accounts for all the schedule changes in the past month.
Forecast Scheduling goes beyond entering actuals for in-progress or completed work. It accounts for updated estimates, scope changes, resource availability, optimization efforts, and adjustments to dependency relationships. Yes, it is like a living and active schedule.
Let the project baseline remain a static reflection of the original plan. The schedule should be dynamic and adjust, accordingly, to provide the latest and most accurate forecast of project end dates.
For a more in-depth discussion on Forecast Scheduling, Eric Uyttewaal’s book “Forecast Scheduling with Microsoft Project 2010” is a good read.