Managing a Team Project


Now that you have a decent understanding of what Team Foundation Server looks like from an architectural perspective, you're ready to see how you can create and host a team project within TFS. The term team project is used to distinguish a TFS-based collaboration project from a Visual Studio project.

The first step is installing the Team Foundation Server client software; this is available on the Team Foundation Server install media. After this software has been installed on your machine, several additions are made to Visual Studio to allow it to interact with a Team Foundation Server: A new option under the Tools menu will allow you to connect to a Team Foundation Server, a new Team menu is added to the Visual Studio menu bar, and new options are available under the File menu. We'll get to the Team menu in just a bit. In addition to these Visual Studio enhancements, a variety of Microsoft Office add-ins are also installed; they allow you to surface certain TFS capabilities, such as work item tracking, within applications like Microsoft Word, Microsoft Excel, or even Microsoft Project.

Creating a New Team Project

Creating a new team project works much the same as creating a new Visual Studio project: From the File menu, choose New, Team Project. The New Team Project Wizard will start.

Note

If you don't see the Team Project option available under the Visual Studio File menu, you may not have the Team Foundation Server client software installed. Another possibility is your choice of VS environment settings. Your Visual Studio environment settings will alter the way your File menu is structured. For instance, if you have the Visual Basic Development settings profile loaded, you will see the New Team Project option located directly under the File menu instead of under the New submenu. You can change environment settings by using the Import and Export Settings Wizard (which you access by choosing Tools, Import and Export Settings).


The wizard will collect all the information needed to create the various TFS structures used by a team project, including the databases and websites.

Selecting a Team Project Name

On the first page of the wizard (see Figure 18.5), you are prompted to select a name for the team project. Keep in mind that the name you choose here will, in one form or another, be embedded in many of the TFS structures from database names to SharePoint websites. Therefore, you need to select a name that doesn't conflict with any of the current projects hosted in the target TFS server.

Figure 18.5. Selecting a project name.


Selecting a Process Template

The second page of the wizard (see Figure 18.6) asks you to identify a process template. As we have mentioned, the default selections here are the MSF Agile template and the MSF for CMMI template.

Figure 18.6. Choosing a process template.


Your template selection will drive many of the behaviors in the Team System environment. For instance, the default work items, documents, and team roles that are populated when you start a new team project are all based on the information contained within the process template.

Naming the Project Portal

The next page is used to name the project portal website (see Figure 18.7). The project portal is a Windows SharePoint Services website designed to be the one-stop shop for all of a team project's collateral from the standard work items and documents to team announcements, links, and process guidance information.

Figure 18.7. Naming the project portal.


The portal name will default to the team project name that you specified on the initial wizard page; you can change it to something else, keeping in mind that the project portal has a potentially larger and more diverse audience than the other team project entry points.

Specifying Source Control Settings

The source control settings page (see Figure 18.8) enables you to control how this new project should be configured with regards to its source control repository. You have the option to create a new folder under the root source control tree, create a new branch under an existing source control folder, or leave the source control creation for a later date.

Figure 18.8. Source control settings.


Confirming Your Settings

At this point, the wizard will display a confirmation page of the settings you have chosen. Clicking Finish will start the project generate process on the server. A progress page will show you what process is currently running. After everything has been created, a final notice page (see Figure 18.9) will confirm the team project has been created and offer you the option of viewing the project process guidance (more on the guidance page later in this chapter).

Figure 18.9. Final confirmation.


You have now successfully created a new team project within TFS. The next step is to add team members to the project.

Adding Users to a Project Team

As a project administrator, you have access to the security groups that control access to your projects. In Visual Studio, you can access the group membership settings through the Team Explorer tool or through the Team menu. Take a moment to briefly examine the Team Explorer window. As a project administrator or contributor, you will want to thoroughly understand the various Team Explorer features. And indeed, in later sections of this chapter and later chapters in this book, we will provide even more focus on this tool and its use scenarios. For now, though, a high-level acquaintance is sufficient.

Working with the Team Explorer Window

When you are connected, display the Team Explorer window by selecting View, Team Explorer within Visual Studio. The Team Explorer window is a full-fledged tool window that operates just like other tool windows such as the Solution Explorer.

With a connection established to a running TFS application tier server, you will see a variety of different nodes within the Team Explorer window (see Figure 18.10). The top-level node represents the Team Foundation Server itself. Below this node are the various projects available on that server. And within each project are folders for Work Items, Documents, Reports, Team Builds, and Source Control. Also, below the server node is a Favorites folder.

Figure 18.10. The Team Explorer window.


Team Project Folders

Just as with the Solution Explorer, the folders within team project nodes serve to organize the artifacts generated within the team project. Each of the folders provides a context menu: Just right-click on the folder to access the valid actions for that particular node. Figure 18.11 shows the context menu for the Work Items node.

Figure 18.11. Team Explorer context menu for Work Items.


Double-clicking on any of the items within the project will load that item into its appropriate window within Visual Studio. We'll cover how to view and create items within a project in the section titled "Contributing to a Project Team."

Team Explorer Favorites

The Favorites folder holds shortcuts to other nodes within the explorer window. Typically, you would place links to frequently used project nodes here because they may be buried within the tree structure or at the end of a long list of explorer items.

The quickest way to add a shortcut is simply to drag the target node into the Favorites folder.

Controlling Project Groups

As we explained earlier in the discussion on the TFS security model, access to TFS functionality is controlled by privilege levels and permissions that are doled out based on group membership. Put another way, what you can do and see within a team project is based on what group your user ID belongs to. The Project Group Membership dialog box can be accessed by project administrators and is used to control group membership.

There are two ways to access this dialog box: through the Team menu or through the Team Explorer window. On the Team menu (shown in Figure 18.12), select Team Project Settings, Group Membership. Using Team Explorer, you perform the identical action by right-clicking on the project node to access the Team Project Settings menu items.

Figure 18.12. The Visual Studio Team menu.


Adding Users to a Group

The Project Group Membership dialog box is the principal mechanism for adding or removing users from a project group (see Figure 18.13).

Figure 18.13. Project Group Membership dialog box.


To add a new user to an existing group, select the group and then click on the Properties button. This will launch a properties window for that group (see Figure 18.14).

Figure 18.14. Project group properties.


From the properties window, make sure you have the Members tab selected, select the Windows User or Group radio button, and then click the Add button. This will yield the standard Windows user selection dialog box (see Figure 18.15). Selecting a user here and clicking OK will add that user to the group.

Figure 18.15. Selecting users and groups.


Adding Custom Groups

Some organizations may want to implement their own group scheme within TFS. There is nothing that prevents you from adding your own groups or, in fact, deleting the default groups that are part of the TFS setup.

To add a new group, you start at the same Project Group Membership dialog box shown in Figure 18.13. Instead of clicking on the Properties button, however, you will instead click the New button. In the resulting window (see Figure 18.16), you can enter a name for the new group and a description.

Figure 18.16. Creating a new project group.


Fine-tuning Permissions

Each group has a default set of permissions applied to it. As a project administrator or TFS administrator, you can change the permissions associated with each group. From the Team menu, select Team Project Settings, Security. The security dialog box (see Figure 18.17) will enable you to fine-tune the exact permissions associated with any of the project-level or global security groups on the Team Foundation Server machine.

Figure 18.17. Setting group permissions.


Controlling Project Structure and Iterations

Besides controlling access to a project, another responsibility of the project administrator is to define the structural aspects of a project and also control the number of iterations planned for a project.

From the previous discussions on the SDLC process in Chapter 17, you know different methodologies have different approaches to the development process. But in general, an iteration is a complete work cycle that results in a working release of the software. Subsequent iterations build on the previously generated artifacts and lessons learned until, finally, enough iterations have been processed to achieve a releasable product. Using the team settings in Visual Studio, project administrators can control how many iterations any given project will progress through.

In addition to iterations, TFS supports the concept of areas. Areas are simply logical ways to group work efforts within the project. For software development projects, an area may define the boundary of a functional group or feature set.

Both areas and iterations are controlled using the same Areas and Iterations dialog box (reached through Team Project Settings, Areas and Iterations).

Adding or Changing Project Areas

Figure 18.18 shows the Areas and Iterations dialog box, with the Area tab active. This is the work surface used for creating and structuring areas within a project. For instance, you may want to flesh out some project structure by creating OrderTracking, OrderProcessing, and OrderIntake areas. You could then further subdivide these functional areas into specific breakouts for each major component.

Figure 18.18. Adding areas to a project.


Areas are depicted within a tree control in the dialog box. To add a new area, first select the parent area and then click on the Add New Node button (on the toolbar within the Area tab). You can then edit the area's name inline within the tree. Removing a node is as simple as selecting it and then clicking on the Delete Node button in the toolbar. Nodes can also be moved within the tree hierarchy. First, select the node you want to move and then use the four buttons on the right of the dialog box's toolbar to move them up within their siblings list or move the node up or down within the parent/child relationship.

Any areas created are then used to help structure the work items for the project. In that way, they can function as a mechanism for organizing work against these functional area breakouts.

Note

Because areas will likely be very specific to a given project, no areas are created by default when you instantiate a new team project.


Adding or Changing Iterations

Iterations are handled in exactly the same fashion as areas. First, click on the Iteration tab and then add or move nodes as necessary. Unlike areas, the process template that you have selected for the current project will initially default to a number of iterations. As an example, the MSF Agile project already has three iterations defined (see Figure 18.19).

Figure 18.19. Managing project iterations.





Microsoft Visual Studio 2005 Unleashed
Microsoft Visual Studio 2005 Unleashed
ISBN: 0672328194
EAN: 2147483647
Year: 2006
Pages: 195

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net