What-If Analysis with Microsoft Project

What-If Analysis with Microsoft Project 2010

Source: http://blogs.catapultsystems.com/epm/archive/2010/01/27/what-if-analysis-with-microsoft-project-2010.aspx

I’ve attended a couple Microsoft Project 2010 events as of late, but of yet, I haven’t seen this functionality getting much play.  On first glance, I think this could be one of the most compelling new features added to Project: the task level Active field.

Usage Scenarios

Scenario #1: The project manager has been requested to calculate the cost and schedule impact of a potential change order.  The change order is developed as a series of extra tasks in the MPP file.  Based on that model, the change request is submitted to the project stakeholders.  They deliberate for several weeks.

During that time, the project schedule is updated repeatedly.  As the project manager cannot very well report on the project with the unapproved change order requests included, the PM will have to remove the tasks and reinsert them later once the change order has been approved.

Fast forward, and now the stakeholders have approved the change request.  Now the PM has to go back to the change order calculations and reinsert them into the updated project schedule, hoping that the calculations of cost and schedule impact haven’t changed significantly.


With the Active field.  I can now add the change order, but render it inactive so that it is not included in status reporting or resource allocation calculations.  Whenever I need to revalidate the change order calculations, I can toggle the Active status to yes and review the schedule.


Scenario #2: I wish to remove tasks from a baselined in-progress schedule.  Generally, deleting tasks is frowned upon as this does not change the rolled up baseline calculations, and you therefore are removing a record of how that original baseline was calculated.  The guidance in 2007 was to zero out the remaining work on the removed tasks and then to prefix the name with something like “DELETED-Task1”.  Needless to say, this has been know to confuse project stakeholders.

Now I can simply render them inactive.  This keeps the original baseline calculations but allows me to track the historical record of how the baseline was developed:


This also allows me to start tracking the cost savings associated with eliminating specific tasks by grouping on inactive tasks with baseline data.

Scenario #3: I wish to develop a schedule with conditional branches.  I insert different branches based on potential information that may be developed at a later date.  As the information is received, I activate or deactivate specific branches.  With some macro coding and a rough Monte Carlo analysis, I could probably expand this to do all sorts of probabilistic analysis on the schedule.

Server Level Support

On the server level, you’ll note a couple of things:

1) Setting a task to inactive automatically toggles Publish to “No.”


2) Options to include inactive tasks in the OLAP Cubes.  I am still getting my head around how this would be used, but I suppose it will be heavily dependent on the organization’s methodologies, much like Proposed vs Committed in previous versions of Project Server.