|Important||This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here.|
Working with Calculated Fields
Microsoft Project uses a scheduling engine to determine start and finish dates for tasks. The start and finish dates are updated as constraints, dependencies, and resources and then applied to tasks. Because Team Foundation Server does not track constraints and dependencies, you should change start and finish date values only in Microsoft Project.
The scheduling engine in Microsoft Project continuously updates fields in the tasks as changes are made. For example, moving the finish date out by one day on a task will also increase the duration amount by one day. Also making a task dependent on another will update its start date so that it does not start until the dependent task is completed.
The scheduling engine also honors task constraints. For example, a task can be configured to start as soon as possible. Or a task can be configured to finish on a specific date. The scheduling engine works to make sure that all constraints are met when it reschedules tasks.
Team Foundation Server does not store task constraints or dependencies. Also, Team Foundation Server does not automatically update task fields as changes are made. For example, if you use Team Explorer to move the finish date out by one day on a task, Team Foundation Server does not update the duration. Changes where one field is incongruent with another causes inconsistent results when you refresh the project plan in Microsoft Project and the scheduling engine adjusts the task fields.
By default, the start date and finish date values are never copied into Microsoft Project when you refresh the project plan. They are published to Team Foundation Server when you publish the project plan. This guarantees that you can publish schedule information about start and finish dates to team members. As team members update completed work and remaining work fields, Microsoft Project updates the start and finish dates automatically when the project plan is refreshed.
The MSF process templates are designed to prevent start and finish dates being updated by team members. The task work item form sets the start date and finish date fields to read-only. This prevents users from trying to modify those fields.
Also, the MSF process templates configure the Microsoft Project field mapping file so that the start date and finish date fields are publish-only. This guarantees that updated schedule dates are published to Team Foundation Server, but they are not refreshed if they were changed in any way on Team Foundation Server.
You can change the field mapping file so that the start date and finish date fields are refreshed from Team Foundation Server. However we do not recommend this for the reasons identified previously. For more information, see The Microsoft Project Field Mapping File.