Combine Microsoft Project and Visual Studio Team System for a One-two Punch of Productivity
Visual Studio Team System (VSTS) provides centralized storage of work item tracking features while MS Project provides rich planning and tracking features. By using them together, you can improve team productivity, minimize data conflicts, and reduce administrative overhead.
by Sanjay Narang
Dec 22, 2005
Page 1 of 5
icrosoft Visual Studio Team System (VSTS) provides tools for every role in a typical software development team: Architects, Project Managers, Developers, and Testers. It enables project managers to use the tools they know wellMicrosoft Project and Microsoft Excelto store project management data in Team Foundation Server, the collaboration server that is part of Visual Studio Team System. This article explains how to use Microsoft Project to work with VSTS data and describes the benefits of doing so.
In software development projects, project managers and project leads usually face the following problems:
They spend a lot of time in tracking project management data such as project plans, tasks, issues, risks etc. They need to do frequent status meetings with other team members to get up-to-date data. Time spent in these meetings affects team productivity.
This data is generally captured in Microsoft Project or Microsoft Excel and shared with other team members. This creates multiple copies of the data, which makes it difficult to get a consistent and synchronized view of the project status.
Because the project data exists in multiple documents, creating project reports becomes a manual and time-intensive process.
The project management tools in VSTS help solve the preceding problems. Project Managers create tasks and other project management items, such as issues and risks, using MS Project, and save them to the Team Foundation Server (TFS). Other team members can view and update these items in their development environment itself i.e. Visual Studio.
Because all these tools work on data stored in a central server, changes made through one tool get reflected in the other tool. Centralizing project data makes capturing, sharing and reporting much easier and less time consuming. Tight integration between MS Project and VSTS allows seamless transfer and synchronization of data between the two; however, this built-in integration is available only with the MS Project client in this release of VSTS. If you require such integration with MS Project's server counterpart, Microsoft Project Server, you can achieve it manually through the APIs of both Project Server and VSTS Microsoft plans to provide better integration between VSTS and Project Server in a future release.
The process of creating a project plan and sharing it with a team in VSTS is different from the more familiar process of working with a standalone instance of MS Project. This article describes the steps involved in this process, such as creating a plan, updating and sharing the plan, and fixing data conflicts. It also covers areas and features that one doesn't normally come across when working day to day with MS Project and VSTS, and provides a comparison of VSTS and Microsoft Project Server, because both allow the MS Project client to manipulate their data.
The default integration of VSTS and MS Project has some limitations that restrict project managers from using MS Project the way they do normally. But because both VSTS and MS Project provide extensibility features, you can extend and customize them to provide behavior almost identical to that project managers are accustomed to. However, such customization topic is beyond the bounds of this article.
Author's Note: VSTS works with MS Project 2003 only and does not work with earlier versions; however, for convenience, I have used "MS Project" to refer only to MS Project 2003.
VSTS Basic Concepts
To understand the MS Project integration with VSTS, it is necessary to be familiar with a few core concepts of VSTS.
Team Foundation Server (TFS). To enable collaboration within an organization, VSTS has a component called Team Foundation Server. This server-side aspect of VSTS integrates several key concepts.
Work Items. VSTS stores data such as tasks, issues, risks, etc. as work items in the TFS. Work items are units of work that can be assigned to team members and store complete information about that unit of work. VSTS provides a few predefined types of work items such as task, bug, and scenario. Each work item type (WIT) has a set of fields and valid state transitions. Users can customize these WITs or can define new WITs. MS Project can manipulate any type of work items and is not limited to only tasks.
Team Project. Because most of the activities in a software development are performed in the context of a project, VSTS also stores all the data such as roles, members, work items, and documents in project contexts, called Team Projects. A team project needs to be created in VSTS to store information about any software development project.
Process Template. Team projects are created based on process templates. A process template is a set of xml files that specify WIT definitions, project roles, project lifecycle structure, project portal structure, source control structure, and predefined reports. VSTS ships with two such templates: MSF for Agile Software Development and MSF for CMMI Process Improvement. Process templates are also referred to as Methodology Templates.
Author's Note: All WITs described in this article pertain to the MSF for Agile Software Development process template.
Using MS Project With and Without VSTS
When working with MS Project alone, Project Managers typically follow these steps:
Create a new project plan and populate it with work break down structure.
Share the project plan with the team members through e-mail or other means.
Save the project plan.
With VSTS, however, there are additional ways to work with project management data. The next few sections explain the MS Project and VSTS integration features by taking a scenario that consists of the same steps as described above. Although the steps are essentially the same, they are executed slightly differently.
Project managers create a new project plan in MS Project.
Before populating it, they connect to a team project in VSTS and import existing work items in the team project to the project plan. Then they add new work items or modify the imported work items.
Finally, they publish all the work items to the TFS so that team members can view them in Visual Studio in their respective work item lists.