Making Agile Team Progress Visible to the Program Management Office
Updated: September 2011
As a project manager, you can view work progress and resource usage by using Project Server while the agile development team manages their user stories and tasks in Visual Studio Team Foundation Server. You and the Project Management Office (PMO) can view schedules, progress on user stories, and rollup of resources. Meanwhile, the development team members can define, plan, and update their work in Team Foundation. The synchronization engine for Visual Studio Team Foundation Server 2010 and Project Server maintains scheduling data and resource usage for user stories in the mapped enterprise project plan and team project.
Before you can view the progress of your agile team, you must first associate your enterprise project plan with their 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 Agile Development and PMO Visibility later in this topic.
The process and activities that this topic describes require that your deployment of Team Foundation Server 2010 has been configured to integrate with Office Project Server 2007 with Service Pack 2 (SP2) or Project Server 2010. For more information, see Configuring the Integration of Team Foundation Server and Project Server.
In this topic
For a demonstration video, see the following page on the Microsoft website: Making Agile Team Progress Visible to the Project Management Office.
To perform the procedures in this topic, the following permissions must be assigned:
To publish tasks from an enterprise project plan to Team Foundation, Team Foundation users must be members of the Contributors group for the team project.
To update work items in Team Foundation and submit them to Project Server, Team Foundation users must be members of the Team Members group for Project Web Access or Project Web App (PWA) or those users must have the Open Project and View Project Site permissions in Project. Those users must also be added to the enterprise resource pool for Project Server and the resource pool for the enterprise project plan.
For more information, see Assigning Permissions to Support Integration of Project Server and Team Foundation Server.
As the following illustration shows, the team lead initiates the process by planning the user stories and tasks in Team Foundation Server. The synchronization engine creates status updates for each user story that is submitted to Project Server. Because the project manager has enabled automatic approvals for the enterprise project plan, Project Server automatically updates the plan with changes that were made in Team Foundation. The project manager can review the plan for implementing new user stories and track their progress in the project plan.
Team Foundation automatically calculates the rollup of remaining and completed work by resource based on the tasks that are linked to each user story. As team members update tasks, the roll-up values are automatically updated for the user stories in the mapped project plan. The project manager must add team members to the enterprise resource pool for Project Server in addition to the resource pool for the enterprise project plan.
The following table summarizes the tasks that are performed:
In Team Foundation, the team lead and team members perform the following activities:
Define user stories and tasks in Team Foundation, and plan iterations by using the Iteration Backlog workbook. Balance the work that is assigned to team members by using the Capacity worksheet of the Iteration Backlog workbook.
Set the Submit to Project Server status of those user stories that will be implemented by using the Product Backlog workbook.
As work progresses, update the Remaining Work and Completed Work for each task by using individual work items or the Iteration Backlog workbook.
For each user story that is submitted to Project Server, the synchronization engine creates a status update as changes occur in Team Foundation for each mapped field for each published user story.
When you set a rule to automatically approve all status updates, Project Server automatically updates the enterprise project plan as changes occur in Team Foundation. Otherwise, status updates appear in the approval queue for the project manager to review.
As a member of the PMO, you can perform the following tasks in Project Professional or your instance of PWA:
View the schedule of user stories that are being implemented, and move user stories to iterations that are defined in your project plan.
Track progress of user stories, and review progress against the portfolio of projects that you or the PMO manage.
Review the workload that is assigned to each resource.
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 enterprise project plan and team project. 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 Agile Software Development v5.0
The agile process template provides user story and task types of work items. It also provides Iteration Backlog and Product Backlog workbooks that you can use to quickly define and link user stories and tasks and to balance workload.
You can also use a template that has been customized for the agile process or to meet your requirements.
When you map the enterprise project plan to the team project, specify the user story 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 leads and other team members to the enterprise resource pool for Project Server and the resource pool for the enterprise 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 in those team projects that are mapped to their enterprise project plans.
Define a rule to automatically approve all updates that are submitted from Team Foundation Server to Project Server.
As a project manager, you can define approval rules by using the instance of PWA for your project plan. For more information, see Approve or reject task updates.
As a team lead, you can use the Iteration Backlog and Product Backlog workbooks to perform the following tasks:
These workbooks are available when you create a team project by using the MSF for Agile Software Development v5.0 process template. For more information, see Workbooks (Agile).
Define User Stories and Tasks
You can use the Iteration Backlog workbook to plan and track work for an iteration. This workbook calculates the team capacity and burndown based on the estimated and remaining effort that are defined for tasks. The default workbooks provide five worksheets that you can use to plan the work, calculate team capacity, and visualize the burndown for the iteration. For more information, see Iteration Backlog Workbook and Performing Top-Down Planning Using a Tree List of Work Items (In Excel).
As the following illustration shows, you can use the Iteration Backlog worksheet to define user stories and the tasks that are required to implement them. When you use this worksheet, tasks are automatically linked to user stories. This association supports the rollup of work hours from all tasks to the user story.
Plan an Iteration
As the following illustration shows, you can use the Capacity worksheet to balance the workload across your team resources.
Before you balance the workload, make sure that you have assigned values to the Iteration Path, Remaining Work, and Completed Work fields for each task. Also, make sure that you have specified the time off for each team member and the team on the Interruptions worksheet.
Submit User Stories to Project Server
As a team lead, you determine when you want to submit user stories to the PMO. As the following illustration shows, you can use the Product Backlog workbook to set the publishing status of just those user stories that your team plans to implement for an iteration. You can add the Project Server Submit field to the list by either clicking Column Options in the query list before you export to Excel or by clicking Choose Columns in Excel. By setting the Project Server Submit status to Yes and publishing the workbook, you cause the user stories to be added to the enterprise project plan.
Update Remaining and Completed Work
As the following illustration shows, you can use the Iteration Planning workbook to update the Remaining Work and Completed Work fields for each task.
Team members can also update their work by using the work item forms for their tasks in Team Explorer or Team Web Access.
As a member of the program office, you can engage in the following activities to monitor the work that the agile development team is performing:
In addition, 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.
Review User Stories, and Plan Project Schedule
As new user stories are submitted to Project Server, they automatically appear in your enterprise project plan. As the following illustration shows, the three user stories that were submitted by the agile team in Submit User Stories to Project Server are added to the project plan.
You can group these stories to support your planning view. As the following illustration shows, the three user stories have been moved to occur under Iteration 1 in the plan. You can see the rollup of the three user stories, and in this example, the implementation of Iteration 1 stories requires 10 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, which is 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 that you have the correct field by pointing to it and verifying that Text30 appears.
Review Progress to Your Plan
As the members of the development team update the amount of work for their tasks, the information automatically flows into the project plan. As the following illustration shows, work has been completed on the first two stories, and the team must complete only the remaining third story.
To view updates to the plan, you may have to close and reopen it.
Review Progress of the Project Portfolio
You can review the progress of a portfolio of projects with the PMO by using the Project Center view that PWA provides. As the following illustration shows, you can easily track the progress of several agile development projects.