How to automatically slide dates for unstarted tasks in Project 2007?

I am trying to understand how Microsoft Project 2007 manages the various date fields so that I can better track and assess my project status.  Here's what I'm doing:

When we initiate a new project, I create a new Project Plan (.mpp file) and add the known tasks.  I set the Work property for each based on the initial estimates then setup the predecessors and assign resources.  None of the date values are actually set except the Project Start Date established when I created the file.  Next, I set a baseline so that I can have a basis for comparison.

As the project progresses, the status of each task is updated by our Team Foundation Server.  As such, the Actual Work is set based on the hours indicated by our developers for each task.  The Actual Start and Actual Finish dates are also set by TFS.

In my view, I am displaying the "BaseLine Work", "Work" and "Actual Work" fields.  Likewise, I show the "Baseline Start", "Start" and "Actual Start" as well as the "Baseline Finish", "Finish" and "Actual Finish" columns.  My intent is derive a comparison between the initial estimated work, task start and finish dates versus the actual/current values.  Using work as an example, I would expect to see the Work value change if we changed the estimated value.  I could see that this is different when compared to the baseline to see how much it has changed from our original estimate.  Then, I could use the Actual Work value to see how accurate our estimates were.  However...

What I am seeing is that the Work column does what is expected until the Actual Work value exceeds it - at which point the Work value always increases to match the Actual Work.

Furthermore, when the Actual Work value increases beyond the original estimate, I would expect to see the Finish date move forward as well.  But this brings up a question about percent complete because it looks like Project always uses a strict mathmatical equation for % complete and ignores the fact that Actual Finish is NA meaning the task isn't actually complete!

Finally, and what is really causing me heartburn, is that I would like the Start date of all tasks with no Actual Start date (i.e. = NA) to shift based on today's date.  For example, if I had a task that was initially scheduled to start yesterday but no Actual Start value was set, then that task clearly hasn't been started yet so I'd like its Start date to change to today - thereby causing its Finish date to change and all successor's dates to change.

Am I asking for too much?

What I have now is a situation where my first task is still in-progress but it has passed the original start date of its successor.  Because of the Finish-to-Start relationship, I would expect the second task to alter its Start date to the current Finish date of its predecessor.  That is not happening so I have tasks that are setup to start after a previous tasks with start dates prior to their predecessor's end dates.  I didn't think this was supposed to happen when you setup predecessors like this. Oh, and I have never explicitly set any of the dates - I want them all to be dynamic.

To that same end, if I have a task that is in-progress (no Actual Finish value), then the Finish date should slide to the current date rather than remain in the past.  So in the same situation as above, if my task was originally scheduled to be completed yesterday but no Actual Finish was set, then the Finish value should be incremented to today.  This would cause all successors to shift as well giving me a more accurate projection of the project timeline.

Help, help help!!!
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Hello SonOfPirate,

I am pleased to hear that you are on the right track.  You seem to have grasped the basic seven steps to building a dynamic schedule and you are manipulating the project status date, actual work and remaining work to update your plan.

Having grasped the basics, the most common reason that a plan not being dynamic is the presence of one or more constraints.  In Microsoft Project a constraint is like a boat anchor that chains your project schedule down.  Take a look a the indicator column normally found on the left side of the table in your Gantt chart view.  Are you seeing a bunch of little blue or red calendar icons?  

I would have to look at one of your mpp files to be more specific on this point.  If you have a file you can allow the public to see, try zipping it and attaching it to this discussion.

You appear to have a grasp of project baselines and the tracking Gantt.  Its a great start.

I think its time for you to take a look a concept called Earned Value.  By looking at the earned value (actual work) of your effort to date, comparing this to the value you had planned in your baseline and resources expended (actual cost) you can present a really good picture of how the project is performing and how it is likely to finish.  

I have written a free add-in for project 2007 that will allow you to produce an earned value summary for your project with a simple mouse click.  It will be release from the Microsoft sponsored CodePlex site soon.  Look for  I'll attach a screen shot to this note to give you an idea what the tool looks like.

Bob Segrest, PMP
MCITP, Microsoft Project Blackbelt
SonOfPirateAuthor Commented:
Thanks for the detailed response.  I've attached a scrubbed project plan for reference.

I think the key is to remember that I am looking at this from a forecasting perspective, not historical per se.  Even though I mentioned using the actuals to derive comparisons to the baseline, I am more concerned with seeing the impact of changes on the future.  In other words, if the original timeline was based on Task 2 being completed today but it wasn't actually completed until tomorrow, what does that do to the rest of my dates?  Or, more accurately, Task 2 hasn't been completed yet, meaning all of the remaining tasks have yet to be started, how does that impact my plan?

Referring to the attached file, Task 18 highlights the need for sliding start dates.  As you can see, it was originally estimated to start on Oct. 2nd.  There is no Actual Start date which indicates that the task hasn't started yet.  As a result, I need the Start date to "slide" to the current date (or the earliest possible based on its predecessors) because this is the earliest it can start based on the current state of the project.  I don't want to have to manually do this each and every day.

The same logic follows for the Finish date of tasks that are in-progress.  If I have started the task (i.e. Actual Start is not NA) but not yet finished it (i.e. Actual Finish is NA), then the Finish date should "slide" to the current date because this is the latest it could be finished.  This would then affect any successors down the line.

Obviously, this would be possible because all of the dates are derived.  I can reset the values by manually setting a date if it actually did occur in the past.  But, in the absence of an explicit value, I need the dates to "slide" forward so that I can have an accurate depiction of the state of my project and be able to view how that state affects the future of my project (i.e. am I going to miss my target milestone dates, etc.).  This will allow me to determine if I need to apply more resources or notify management that the date has changed or make some other change in response.

The other problem, which still exists in the sample, are the successors that pre-date their predecessors despite a Finsh-to-Start relationship.  Task 31, for instance, has Task 21 and Task 55 as predecessors.  These have Finish dates of 10/13/08 and 12/01/08, respectively.  Task 31 has a Start date of 11/05/08 - prior to the end of Task 55?!?!  I don't understand how this is possible.

I hope  all of this makes sense.  Thanks for the help.
Hello SonOfPirate,

Earned value analysis also provides you with information like Estimate At Completion (EAC) Estimate To Complete, Budget At Completion (BAC) and Variance At Completion (VAC).  Trust me, you need to look at this closer.

I have opened your sample project and would like to share a few thoughts.

Rather than making radical changes to the standard Microsoft Project views, I strongly recommend creating your own custom views.  It is a lot easier for Microsoft (and people like me) to provide support when you follow this practice.

Don't use a summary task as a predecessor.  Don't assign predecessors to a summary task.  These are poor practices and will get you in trouble.

The project start date for your sample project is set 1/1/08 (see Project | Project Information | Start Date).  But I noticed that Task 1 starts on September 8.  I looked a bit closer and it looks like a hard start and finish date has been set for each task in the project.  Normally when someone does this, Microsoft Project automatically creates a constraint and places a corresponding icon in the indicator column.  I'm not sure why or how this happened, but I suspect that it may be related to your Team Foundation Server updates.  Regardless of where these dates are coming from, this is why your project isn't dynamic.

I started with a blank project, copied the tasks, durations, dependencies and resources into it and it is behaving as expected.  Normally you set the project start date, which sets the start of the first task and Project automatically manages all of the other tasks based on duration and dependencies.  As you enter actual work and work remaining, Project automatically adjusts the subsequent task starts.  See the attached file.

Normally after applying task updates, the project manager selects any task with incomplete work in the past and clicks the reschedule button to reschedule it into the future.  As this requires judgement on the part of the project manager, it is not something that project does automatically.  But with some effort you could probably develop a macro to do this.

Bob Segrest, PMP
MCITP, Microsoft Project Blackbelt

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Learn SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

SonOfPirateAuthor Commented:

Thanks for your help.  I guess I wasn't aware that changes were made to the built-in views.  The file was based on a template created to support TFS integration and I typically only work with the TFS views.  I'll look into this further.

It sounds like you may have given me the direction I need, especially if you believe the functionality I desire is there already provided the plan is setup properly.  My guess is that our integration with TFS is the cause of the problem as you indicated.  If you found the Start and Finish dates were explicitly set, then this is the only way it could have happened because I purposely did not set those values so the plan would remain dynamic.  I will have to investigate how we are updating the file with data from TFS and see if that is, in fact, the case.

From your description, the only things we should be pulling from TFS will be the Actual Work, Actual Start and Actual Finish values.  If we pull the Start, Finish or Work values, then we lose the dynamic capbilities of the project.  Is that correct?

Also, you mention clicking "the reschedule button" to reschedule a task into the future.  It makes perfect sense to me that this would be a manual operation since it's not something everyone would want to occur automatically.  Can you explain this, though?  I am unfamiliar with this button.

Thanks for the education!
Hello SonOfPirate,

There were several odd things (things I haven't seen before) in your project sample.  I wasn't aware that it might be possible to set a start date without Project creating a constraint.  The only way I could contemplate this would be through direct manipulation of the project data set and this my speculation concerning TFS.

When I suspect a date has been manually entered and can't easily see it, I tend to select the start/finish fields and push the delete key.  When I tried this with your sample project very strange things happened.  You will notice that nothing happens when you do this to the sample-2 project that I posted.

The Reschedule Work button can be found on the Tracking toolbar.  To make it visible, simply click the View | Toolbars | Tracking option.

Don't forget to set the project status date on the Project | Project Information dialog window.  Project uses this date when determining where to reschedule a task.

The two critical questions that a project manager has to ask when updating a task are "What has been done?" and "How much is left to do?".  In Project these queries translate into Actual Work and Remaining Work.  If you fail to ask the second question you leave yourself wide open for slips and surprises.  Even if the planning was perfect, the world moves on and assuming that the amount of Work we estimated at some point in the past is always going to be correct today, is a bad bet.  Getting people to estimate remaining work isn't easy, but the results can be very rewarding if you can pull it off.

I strongly recommend the book "Dynamic Scheduling with Microsoft Office Project 2007".  It presents Project as a tool for managing the whole project life cycle and is a relatively easy read.  It can be found on Amazon at"

Bob Segrest, PMP
MCITP, Microsoft Project Blackbelt
SonOfPirateAuthor Commented:
One more quick follow-up:  Is there an easy way to know that a date has an explicit value as opposed to an implicit one?  I've tried deleting the dates for any task with no explicit "Actual Start" and "Actual Finish" but am not seeing the changes I would expect.

Plus, moving forward, I would like to be able to quickly recognize this problem so it can be corrected before it snowballs throughout the entire project plan, as is my current situation.

Hello SonOfPirate,

Normally when the Task Start or Task Finish dates are explicitly entered (IE you entered the date in the field by hand), Microsoft Project interprets this as the implicit creation of a constraint and the constraint is indicated with a constraint (calendar) icon in the indicators column.

However, as your sample project demonstrates, this is not always the case.  The only sure test that I have found to confirm that someone (or something) has set a Start or Finish date is to select these fields and push the delete key on my keyboard.

Just to avoid any confusion...  Please note that I am speaking specifically about the task start and finish dates; Not the Actual Start and Actual Finish dates.

Does this help?

Bob Segrest, PMP
MCITP, Microsoft Project Blackbelt
SonOfPirateAuthor Commented:
Yea, that's what I thought.  But, as you pointed out, I don't have the icons in my project plan so I was hoping there was another way.

Thanks for all the help!
SonOfPirateAuthor Commented:
Thanks again for all the help!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Project Management Software

From novice to tech pro — start learning today.