ith the release of Visual Studio 2005 Team Edition last year and Team Foundation Server in March of this year, Microsoft delivered arguably one of the largest functional upgrades to the Visual Studio line of tools in years. When used with Team Foundation Server, Visual Studio Team Edition provides a wide range of tools that can help to organize teams of developers. As many groups begin to use Team Foundation Server, many groups are finding that the out-of-the-box configuration doesn't quite meet their teams' needs.
Team Foundation Servers define workflow and project tracking through Process Templates, which contain the types of work items, project organization, etc. for a project. Microsoft provides two process templates with Team Foundation Server
- MSF for Agile Software Development
- MSF for CMMI Process Improvement
The Agile process template defines a lean process that doesn't require great amounts of documentationit focuses on people. The CMMI process template defines a process more centered on process and documentation. Unfortunately, most teams find these generic default templates inadequate; the CMMI process is too complex, and the Agile process generally lacks sufficient flexibility for all but very small development teams.
|Figure 1. Project View: This view displays the various work items provided by the Agile process template.|
|Author's Note: The versions of Visual Studio that support the new team features are Team Edition and Team Suite. Team Edition comes in three flavors, supporting Software Developers, Software Testers, and Architects, each containing features intended to support each of those development roles. Team Suite supports all the features of the three Team Editions in a single tool. This article discusses features specific to the Team Editions and the Team Suite versions of Visual Studio. Visual Studio professional and other less feature-rich versions of Visual Studio do not integrate with Team Foundation Server. Unless otherwise stated, references to Visual Studio refer to either the Team Edition or Team Suite versions of the product.
When you open a team project using the Team Explorer inside Visual Studio Team Edition, you will see the list of components that make up a Team Foundation Server project (see Figure 1
The first component type listed is the work items. Work items provide the framework for much of the communication and process flow inside Team Foundation Server. Work items provide generic customizable containers for various pieces of information that must be tracked during development of a project. The Agile process template provides work items for Scenarios, Quality of Service Requirements, Tasks, Bugs, and Risks. There are other important components of a team project that are defined by a process template, such as documents, reports, and source control, but especially in the Agile process, most of the communication takes place using work items.
The goal of this article is to show you how to modify a process template's work items to meet the needs of your development team. Keep in mind that the team probably includes not only software developers, but also testers and project managers. Each of these roles likely requires different types of work items and might also require that work items include specific fields, field requirements, etc. The process template is the structure provided by Microsoft for defining these aspects (and more) of the software development project.
From the perspective of Team Foundation Server, the process template is a complete definition of a development process. To modify the work items, you'll need to modify key areas of the process template. First, the template's Process Guidance section contains the template documentation. It is set of HTML files that document the development process, which could prove valuable to the users of the Team Foundation Server project. Second, you'll need to modify the work item definitions, defining the fields used in a work item, which fields are required, etc.