Top-Down Planning of Business Requirements within an Enterprise Project Plan Mapped to a Team Project
Updated: September 2011
As a project manager, you can manage the high-level business requirements in Project Server while the development team manages task details in Visual Studio Team Foundation Server. You can define requirements and view the rollup of resources and effort, and you can also view the impact on the schedule as the development team defines, estimates, and updates its detailed tasks. The synchronization engine for Visual Studio Team Foundation Server 2010 and Project Server maintains scheduling data and resource usage for requirements in the mapped enterprise project plan and team project.
If you want to manage both the deliverables and the tasks by using Project Server, see Managing Project Details in an Enterprise Project Plan Mapped to a Team Project.
Before you can perform top-down planning in an enterprise project plan, you must first associate it with the team project. For more information, see Managing the Association of Enterprise Projects to Team Projects. Before you associate the plan with the project, you should review Recommended Configurations to Support Top-Down Planning later in this topic.
In this topic
For a demonstration video, see the following page on the Microsoft website: Top-Down Planning of Business Requirements within an Enterprise Project using Team Foundation Server and Project Server.
To perform the procedures in this topic, the following permissions must be assigned:
To publish tasks from an enterprise project plan to Team Foundation, the resource who is assigned to the task must be a member of the Contributors group for the team project.
To update work items in Team Foundation and submit them to Project Server, users must be members of the Contributors group for the team project. Also, users must be members of the Team Members group for Project Web Access or Project Web App (PWA) or must have the Open Project and View Project Site permissions in Project.
For more information, see Assigning Permissions to Support Integration of Project Server and Team Foundation Server.
As the following illustration shows, 10 main steps occur in the synchronization of requirements between the project plan and the team project.
The synchronization engine maintains scheduling data for requirements in both the project plan and team project. Team Foundation automatically calculates the rollup of remaining and actual work by resource based on the tasks that are linked to each requirement. As team members update tasks, the roll-up values are automatically updated for the requirements in the team project, and status updates appear in the instance of PWA for the approval of the project manager. The following table summarizes the tasks that are performed.
As a project manager, you perform the following tasks in Project or PWA:
Define deliverables, features, or requirements in your enterprise project plan.
Save and publish the project plan to Project Server.
Review the progress of each deliverable, and adjust the schedule based on updated information.
Set a baseline, and track progress against the baseline.
For each requirement that is set to publish, the synchronization engine performs the following tasks:
Creates a requirement work item in the team project that is mapped to the enterprise plan. The engine also creates a link that binds the requirement in Project to the work item in Team Foundation.
Creates a status update as updates occur in Team Foundation for each mapped field for each published requirement. These updates appear in the approval queue for the project manager to review.
In Team Foundation, the team lead and team members perform the following tasks:
Review the deliverables that are added to the team project.
Define the tasks that are required to implement each deliverable, and verify that each task is linked to its deliverable.
Estimate the work that is required for each task, and define it as Remaining Work.
Update the Remaining Work and Completed Work fields for each task.
To support the process that was outlined in the previous section, you must map the enterprise project plan to the team project. The following table describes the recommended configurations for both the team project and mappings. For more information, see Managing the Association of Enterprise Projects to Team Projects.
Area to configure
Process template for team project
Microsoft Solutions Framework (MSF) for Capability Maturity Model Integration (CMMI) Process Improvement v5.0
The CMMI template provides requirement and task types of work items. It also provides a Work Breakdown team query that you can use to quickly define and link tasks to requirements.
When you map the enterprise project plan to the team project, specify the requirement as the work item type. You can also disallow fixed work for tasks. Fixed work is one of three types of tasks that you can use in Project. For more information, see Change the task type Project uses to calculate task duration.
You can use the default field mappings. No additional field mappings are required.
You must add team members to the Team Members group for each instance of PWA, or you must grant them the Open Project and View Project Site permissions in Project. For more information, see To add Team Foundation members to the Team Members group.
Also, you must add all team members to the enterprise resource pool and the resource pool for the project plan.
You must grant permissions to all user accounts that are assigned as resources in the project plan or that are named in the Assigned To field for a work item. These users submit status updates that flow into the status queue for the instance of PWA.
All names that are assigned to the Resource Names field must be recognized as valid contributors of the team project.
Each time that you add team members to the resources for a project plan, you must publish the project plan so that the synchronization engine will register the changes.
Accounts of users of Project Professional must be granted View Project-level information or assigned as members of the Reader group in Team Foundation for team projects to which they will publish.
You must grant project managers permissions to modify work items for those team projects that are mapped to their enterprise project plans.
Best or required practices are provided for the following tasks that the project manager performs:
In addition to these activities, you can also view the assignment of work to resources. For more information, see Working with Resource Rollup in Enterprise Projects Mapped to Team Projects.
When you define requirements, you should assign them to the development team lead. As the following illustration shows, you must also set the Publish to Team Project field to Yes, and the Work Item Type field to Requirement. If only one type of work item is mapped for the team project, it is set automatically.
If you expect the development lead to provide work estimates, you should set either the Remaining Work field to 0 hours or the Duration field to 0 days.
Text30 is the default Project field that is associated with the Work Item Type column that is used in synchronizing tasks with work items. If you ever connect the project plan to Team Foundation Server by using the Choose Team Project option on the Team ribbon menu, an additional Project field that is also labeled Work Item Type, becomes available. This field, with a default Project field of Text24, supports mapping of project plans that are bound to Team Foundation but does not support synchronizing plans. The Text24-based field contains the full list of work item types for the team project. You can verify whether you have the correct field by pointing to it and verifying whether Text30 appears.
You should set only those requirements that you want to have tracked in Team Foundation. After you have completed the requirement definitions, you can save and publish the project plan to Project Server. As the following illustration shows, a status notification in the lower-left corner indicates when the publishing is completed.
When you publish your plan, the Team Foundation add-in to Project validates the data that you specified. If a required field is not defined or if a value is not allowed, you must resolve those errors. For more information, see Resolving Validation Errors.
Approve Status Updates
As the team makes progress on the requirements, status updates appear in your approval queue. As the following illustration shows, you can view the updates to your published requirements and the resources that are assigned to tasks. At a glance, you can see which tasks have been updated and the details of each update.
You can click a status update to open the Task Details window, as the following illustration shows. You can review the changed values for each field that is mapped for synchronization.
To update your enterprise project plan with the changes that are submitted from Team Foundation, you must accept the updates.
You can accept or reject an update and add a comment. For example, you may reject an update because you disagree with an estimate, a team member entered an inaccurate value, or you want to request that tasks are reassigned so that the work is accomplished more quickly.
Review the Schedule, and Set a Baseline
After you have approved the status updates, you can update the schedule and balance workload in Project, and you can set a baseline that is based on the estimates. As the following illustration shows, the estimates that are defined for the Shopping Cart requirement appear in Project.
To maintain control of your schedule, you set a baseline to track the team progress against the target schedule. For more information, see the following page on the Microsoft website: Create or update a baseline or an interim plan.
Preview Updates and Impacts on the Critical Path
As team members make progress, they update the Remaining Work and Completed Work fields for each task. These values roll up for each requirement that is published to Team Foundation. Before you approve the updates, you can preview the impact that the updates will have on the critical path by clicking Preview Updates in the Approval Center.
After you approve the status updates, you can view the updates to your project schedule. When a requirement takes longer than estimated, you can determine whether changes to estimates affect the critical path.
You can alert the team lead when an adverse effect to the schedule will occur and the team project tasks must be adjusted.
As a contributor to a team project, you can perform the following tasks by using Team Explorer or a Team Foundation client:
Review the New Requirements
If you publish new requirements to Project Server, they automatically appear in the team project. By using the Work Breakdown query, you can identify the requirements that have been added. For example, the following illustration shows that three requirements have been added to the team project.
By opening the work item in Team Explorer, you can view the History field to see when the synchronization engine created the work item, as the following illustration shows.
Define and Estimate Tasks That Are Linked to Each Requirement
In Team Foundation, you can quickly define and estimate tasks by using the Work Breakdown query. As an alternative, individual team members can define tasks by working in the requirement work item. As the following illustration shows, you can right-click the requirement for Shopping Cart and then click New Linked Work Item.
In the Add New Linked Work Item to Requirement window, type a Title for the task, and then click OK.
The work item form for the task appears and is automatically linked to the requirement. In the form, click Assigned To, specify the team member who will work on the task, and type the estimated hours for the Remaining Work. For more information, see Requirement (CMMI) and Task (CMMI).
As an alternative, you can open the Work Breakdown query in Excel and quickly define linked tasks and estimate work. The following illustration shows how the tasks have been divided for three requirements. For more information, see Performing Top-Down Planning Using a Tree List of Work Items (In Excel).
After all tasks are defined for the requirement, you can refresh the Work Breakdown query.
After you create and estimate all child tasks, remember to set the Remaining Work field on the parent work item to 0 hours.
Update Remaining and Completed Work
As work progresses, each team member should update the Remaining Work and Completed Work fields for each of their tasks. If more time is required to complete a task, additional time is added to the Remaining Work field. Updates are reflected in the rollup of the requirement.
Address Rejected Updates to Requirements
When a project manager rejects a status update to a requirement, the information appears in the History field, and the Last Approval Status field on the Project Server tab indicates rejected. After an update to a work item has been rejected, the work item can no longer be synchronized. You must address the rejection status before the work item can be synchronized again. You can create a team query to find work items whose update statuses were rejected. For more information, see Resolving Conflicts and Managing Rejected Work Item Submissions.