The Opportunities


Visual Studio Team System not only helps you address the aforementioned challenges, it also provides additional benefits to you as a project manager. Visual Studio Team System does not include a Visual Studio Team Edition for Project Managers, primarily because Visual Studio is a software development environment, and the project manager role is not directly involved with developing software. However, the Team Foundation Server client is a Visual Studio shell that contains only Team Explorer and Source Control Explorer. In a way, you can think of the Team Foundation Server client as Visual Studio Team Edition for Project Managers because it provides access to all the Visual Studio Team System resources you need as a project manager, including work item tracking, reporting, and document libraries in the project Web portals. You can also use Team Explorer to load work items into Office Excel or Office Project, in which you can add, modify, delete, and analyze the work items. In addition, the Visual Studio Team System data warehouse gathers a great deal of information that’s useful to you as you plan and monitor your projects. You can use the Visual Studio Team System data warehouse to generate ad hoc reports and perform data mining by using your favorite analysis tools, including Office Excel.

Let’s take a closer look at a few of the ways that Visual Studio Team System can assist you.

Better Planning and Estimating

One of the strong points of Visual Studio Team System is its ability to gather historical information. As teams use Visual Studio Team System, it collects information about actual project performance. You can measure a team’s velocity, that is, the historical rate at which it completes work. This information is very useful when estimating how much work the team can take on in a given time period. You can also measure the correlation between estimates and actual time spent, to see whether the estimates tend to be high or low. Most teams tend to estimate low, by the way. This information will help the team calibrate its estimates so that future estimates will be more accurate.

Spend Less Time Tracking Projects

One of your responsibilities as a project manager is to track project status and communicate this information to all interested parties. As I’m sure you well know, this can be a rather timeconsuming and tedious process. It usually involves the collection and compilation of status reports from team members. Unless you have a team of perfect angels, you have to constantly remind people to get their reports in on time so that you can update the overall project status. By the time all the information is collected, compiled, and distributed, it’s already obsolete because it doesn’t really reflect the current status.

Visual Studio Team System reduces your workload in several ways. First, every member of the team can see the current status of all work items at any time. Everyone can see who’s doing what, which items are currently in progress, and which items need to be completed. This sort of visibility not only keeps people informed, it encourages people to keep their work items current. In addition, many work items on a software development project result in production of various work products such as source code, unit tests, build scripts, et cetera. These work products have one thing in common: they all need to be checked into the version control system. Visual Studio Team System takes advantage of this fact by allowing you to configure the Visual Studio Team System Source Control to require each set of revisions to be associated with one or more work items. The developer can quickly and easily associate work items with work products during the check-in process and even update work item status at the same time. In this way, work items get updated instantly as a by-product of the doing the work.

There is yet another way in which Visual Studio Team System reduces the time you spend tracking projects. Team Build, the automated build system for Visual Studio Team System, can be configured to automatically create a bug work item whenever a build fails. When this happens, the work associated with fixing the build is automatically added to the tracking system so that it can be assigned and monitored until completion.

Managing Risk

Every software development project has risks associated with it. As a software project manager, you need to identify the risks that can threaten the success of the project, analyze the potential impact of each risk, determine how to avoid the risk if possible, and plan what to do if the risk becomes reality. Visual Studio Team System assists with risk management by providing a tracking mechanism, early warning metrics, and software quality tools.

Visual Studio Team System can be configured to track risks as a work item type. Both versions of MSF include a work item type for documenting and tracking risks. Risk work item fields include Description, Severity, Priority, Assigned To, and State. A Risk work item can also be linked to other work items, such as a Task that mitigates the risk.

Visual Studio Team System also offers a variety of early warning metrics in the form of reports that help identify and monitor risks. For instance, MSF includes a Remaining Work report (see Figure 1-2 for an example) that shows the rate at which work is getting done. By projecting the trend line to the end of an iteration, this report can signal early in the iteration the risk of not completing the work on time.

image from book
Figure 1-2: MSF Remaining Work report

MSF also includes a Quality Indicators report, an example of which is shown in Figure 1-3, which shows the change in several key quality indicators over time. This report summarizes trends in product health, allowing the team to spot potential problems early and take corrective action.

image from book
Figure 1-3: MSF Quality Indicators report

In addition, Visual Studio Team System includes a variety of automated software quality tools that mitigate the risk of poor software quality. Unit testing tools are included in the Visual Studio Team Editions for Software Developers, Software Testers, and Database Professionals. Visual Studio Team Editions for Software Developers and Software Testers also include a static code analyzer that evaluates source code by using more than 400 rules, in addition to a dynamic code analyzer that measures unit test code coverage. The Studio Team Edition for Software Testers also includes Web test and load test tools and a test case management tool. Team Build, a feature of the Team Foundation Server, can be configured to run builds and smoke tests on a frequent basis. Any issues that break the build become visible in very short order, allowing corrective action to be taken quickly.

Repeating Successes

Visual Studio Team System can help you and your team achieve more consistent results by providing visibility into the process and tools for building quality into the product. The work item tracking system in Visual Studio Team System provides a single authoritative source of project status information that all stakeholders can access using a variety of tools and reports. This sort of real-time, detailed project status information is unprecedented for most organizations. In addition, the abundance of software quality tools in Visual Studio Team System enable the development team to not only build high-quality software but also maintain and verify the quality of the software as it’s modified and enhanced throughout its life cycle.

Harvesting Best Practices

Each time a project team completes a development iteration, it’s always a good idea to conduct a retrospective, in which the team can discuss what worked well and what needs to be improved. Based on this feedback, you can modify Visual Studio Team System to better meet the needs of the teams that use it.

Updating Process Guidance

The authors of the process guidance contained in MSF for Agile Development and MSF for CMMI Process Improvement knew that they could not create process guidance that would work for all organizations. For this reason, the MSF process guidance is designed so that you can customize it as needed. The MSF process guidance is based on XML files you can edit by using Microsoft Office InfoPath and then compile into HTML Web pages by using a free utility called MSFWinBuild available at http://www.gotdotnet.com/workspaces/ workspace.aspx?id=.

You can also completely replace the MSF process guidance with your own custom process guidance if you like. Perhaps your company has its own in-house methodology that includes process guidance, or maybe your shop has decided to create its own process guidance for the first time. As long as the documentation can be accessed using a hyperlink, Visual Studio Team System can incorporate it into any Team Project.

Process Templates

Microsoft wanted Visual Studio Team System to work well for a broad range of development organizations from small informal teams to large highly formal teams spanning multiple continents. To this end, they designed Visual Studio Team System to be highly configurable. The primary configuration mechanism is the process template, which is a collection of XML configuration files that tell Visual Studio Team System how to set up a new team project. The process template tells Visual Studio Team System which process tools to use for a project and how those tools should be configured.

You can install and use any number of process templates on a computer running Team Foundation Server. When Team Foundation Server is installed, it includes two process templates: MSF for Agile Development and MSF for CMMI Process Improvement. In addition, there are a growing number of third-party process templates that you can add to Visual Studio Team System. You can use a process template as-is or modify it to suit the needs of your team.

The most common customization involves work items. Teams often find that the work items they are using either contain unnecessary fields or are missing fields that would be helpful. Maybe the labels on the work item form are confusing, or the status options for a work item are awkward. The Visual Studio Team System process template allows you to specify any number of work item types, specify the fields that each work item type contains, specify the valid states for each work item type, and even control the form layout for each work item type.

The Visual Studio Team System process template can be modified using any XML editor. However, in Chapter 7, “Tailoring Visual Studio Team System,” we’ll show you a handy utility called the Process Template Editor, which allows you to modify process templates quickly and easily.

Modifying Running Projects

Visual Studio Team System uses the process template only when creating a project. Changes to the process template do not affect existing projects. However, you can modify work item types in existing projects. Let’s say a project is underway and the team decides that they need a new field in the Bug work item type allowing them to identify the user who reported the bug. By using the Process Template Editor, you can add and modify work items directly in a Team Project, or you can export a work item to a local XML file, edit the file, and then import it back into a Team Project.

Coming Up Next

The remainder of this book is written in a format that follows the chronological sequence of a software development project. We recommend that you read it in the order presented for the best learning experience. However, you can also use this book as a reference guide on specific topics as needed.

Chapter 2, “Project Management Features of Visual Studio Team System,” introduces you to the project management features of Visual Studio Team System. We start with an overview of the features in Visual Studio Team System, emphasizing the features of interest to project managers. Then we discuss how Visual Studio Team System supports the project management role. Specifically, we look at how project managers can use Visual Studio Team System to promote internal standards and facilitate project governance. In addition, we show how Visual Studio Team System supports communications among project stakeholders and helps you manage various aspects of a project such as schedule, budget, quality, scope, and risk.

Chapter 3, “Project Initiation,” covers the activities performed during the initiating phase of a project. We’ll introduce the Project Management Body of Knowledge (PMBOK) and show how Visual Studio Team System and MSF support the activities in the PMBOK Initiating process group. We’ll discuss the structure of a process template and introduce you to several third-party sources. We’ll also introduce you to Chase, our fictitious project manager who deals with a variety of real-world project-management scenarios.

Chapter 4, “Planning a Project,” deals with project planning. We start by showing you how Visual Studio Team System and MSF support the activities in the PMBOK Planning process group. Then we describe an agile, iterative approach to planning. We show how to use Visual Studio Team System together with Office Excel and Office Project to plan a project iteratively: starting with requirements, breaking down requirements into an initial release plan, and then performing detailed planning at the start of each iteration. Another important aspect of project planning is risk management, so we describe how to do risk planning using the Risk work item type in MSF. We then revisit our case study to see how Chase puts it all together to plan his project. The chapter finishes up with some final thoughts on project planning, which provide you with useful tips for how to improve your planning process.

Chapter 5, “Monitoring and Controlling Project Execution,” shows you how to use Visual Studio Team System to manage execution of the project plan by monitoring and controlling the four dimensions of a project: scope, cost, schedule, and quality. We also discuss how to monitor and control risk during project execution, using Visual Studio Team System to track issues and manage corrective actions. We discuss how to use Visual Studio Team System to manage virtual teams and vendors who are participating in your project. We’ll also show you how Chase and his team used Visual Studio Team System to create an information radiator consisting of a graphical display that clearly communicates project status and product health at a glance.

Chapter 6, “Improving Your Process,” looks at the various ways you can use Visual Studio Team System to improve your team’s processes. We’ll show you how Visual Studio Team System can help you harvest lessons learned for process improvement. We’ll also introduce a light process improvement framework that complements Visual Studio Team System. To pull it all together, we illustrate these process improvement techniques by using a fictional case study with Chase and his team.

Chapter 7, “Tailoring Visual Studio Team System,” shows you how to tailor Visual Studio Team System to meet the specific needs of your teams and your projects. It describes the structure of a Visual Studio Team System process template and explains how the process template controls the configuration of a Team Project when it’s created. We also show you how to use the free Process Template Editor utility to customize process templates and to modify work item types in existing Team Projects.

Appendixes A and B provide information about the Capability Maturity Model Integration (CMMI) and the Microsoft Solutions Framework (MSF), respectively.




Managing Projects with Microsoft Visual Studio 2005 Team System
Managing Projects with Microsoft Visual Studio 2005 Team System
ISBN: 735622167
EAN: N/A
Year: 2007
Pages: 93

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