Visual Studio Application Lifecycle Management

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 198.107.179.90 (talk) at 14:09, 3 May 2007 (→‎Server-Side). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Visual Studio Team System is a set of software development, collaboration, metrics, and reporting tools from Microsoft. The Visual Studio Team Editions were released in November 2005, and Team Foundation Server was released in March 2006.

Platform

Visual Studio Team System consists of several products, which can be categorised into server-side and client-side applications. Microsoft encourages companies using Team System to make use of the Microsoft Solutions Framework, a metamodel which describes business and software engineering processes to help implement an effective software development process. With its initial release, Team System supports two conceptual frameworks for software development, Agile and Capability Maturity Model Integration (CMMI). Other frameworks can be added as well to support other methodologies.

Team Foundation Server

The server-side component is Team Foundation Server (commonly abbreviated TFS), which comprises two components: The application tier and the data tier. The application tier is a set of web services that provide access to TFS functionality, and a web portal and document repository facilitated by Windows SharePoint Services, whereas the data tier is essentially a Microsoft SQL Server 2005 Standard installation that warehouses all the information for TFS. Both tiers are required, but can be installed on the same or separate servers.

Any given Team Foundation Server contains one or more Team Projects, which consists of Visual Studio solutions, configuration files for Team Build and Team Load Test Agents, and a single Sharepoint repository containing the pertinent documents for the project. When creating a project, a software development framework must be chosen, and cannot be changed afterwards.

Most activity in Team Foundation Server revolves around a "work item". Work items are a single unit of work which needs to be completed. In many respects they are similar to a "bug" item in bug tracking systems such as Bugzilla, in that a work item has fields to define Area, Iteration, Assignee, Reported By, a history, file attachments, and any number of other attributes. Work items themselves can be of several different types, such as a Bug, a Task, a Quality of Service Requirement, a Scenario, and so forth. The framework chosen for any given project in a Team Foundation Server defines what types of work items are available and what attributes each type of work item contains.

Team Foundation Server provides a source control repository. Unlike Microsoft's previous source control offering, Visual SourceSafe, which relied on a file-based storage mechanism, Team Foundation source control stores all code, as well as a record of all changes and current check-outs in a SQL Server database. It supports features such as multiple simultaneous check-outs, conflict resolution, shelving and unshelving (which is a process for transferring a pending check-in to another user), branching and merging, and the ability to set security levels on any level of a source tree. The source control mechanism integrates with Team System's work items as well; when a check-in (termed "changeset") occurs, a developer can choose to have their code associated with one or more specific work items, to indicate what the check-in works towards solving specific issues. TFS administrators can enforce check-in policies that require Code Analysis requirements to have passed, as well as to enforce the association of check-ins with work items.

File:Visual Studio 2005 Team Suite with a bug rate report.png
Screenshot demonstrating a bug count report in Visual Studio 2005.

Reporting is another major component of Team Foundation Server. Using the combined data for work items, changesets, and information provided by Team Build and results from Test Agents (described below), a variety of reports can be created. For example, the rate of code change over time, lists of bugs that don't have test cases, regressions on previously passing tests, and so on. The reports are built using SQL Server Reporting Services, and can be exported in several different formats, including Excel, XML, PDF, and TIFF. Reports can be accessed both through Visual Studio, as well as through the web portal.

Team Build is a build server included with Team Foundation Server that can be installed on most any machine that can support Visual Studio. Machines configured with Team Build can be used by developers to do a complete build of the most recent bits contained in source control. Visual Studio's Code Analysis, Test Tools and Code Coverage can be enabled to further validate a build before it is deemed to be "good". Whether a build succeeds or fails, a record of every build is kept, so that developers and build administrators can keep track of the progress of the project. If a build succeeds, it analyses what changes have been made to in source control since the last successful build, and updates any work items to indicate that progress has been made. For example, if a tester filed a bug work-item against build #15, and a developer checked in a change just prior to build #18 being created, then the bug work-item would be updated to state that the bug has been fixed. A tester can then go ahead and confirm or deny that the bug has been resolved.

Team Test Load Agent

In addition to Team Foundation Server, Microsoft also offers a server component called Team Test Load Agent. This tool, which is licensed separately from Team Foundation Server and Visual Studio, is intended for use by testers to perform automated load testing on a web or Windows application. Microsoft advertises that a "typical PC" can support simulating 1,000 simultaneous users. The results of load tests are stored in the Team Foundation Server warehouse, and can be linked to specific builds so that performance testing can be tracked over the lifetime of a project.

Visual Studio integration

The client-side applications are specialized versions of Microsoft Visual Studio 2005; collectively they are called the Visual Studio Team Editions. When Visual Studio 2005 was launched in November 2005, this consisted of editions for three distinct roles in application development: Developers, Architects, and Testers. A fourth edition, targeted at Database Developers, was subsequently developed and released towards the end of 2006. A "Team Suite" edition of Visual Studio 2005 is also available, which combines the tools in each of these four roles.

Team Explorer is a component included with Team Foundation Server that provides the client-side tools and integration. More specifically, this adds Team Foundation Server as a source control provider, and adds a "Team Explorer" window alongside the standard "Solution Explorer" window. Team Explorer includes a license for Visual Studio 2005 Premier Partner Edition for those without Visual Studio 2005 for the exclusive use of Team Explorer's functionality.

Microsoft Office integration

In addition to integration support with the Visual Studio developer products, Team Foundation Server also supports integration with Microsoft Excel and Microsoft Project, part of the Microsoft Office line of products. Microsoft has suggested that these tools are intended for use by non-developers who have no skill or interest in Visual Studio, and would prefer to interact with the development team with more familiar tools. With the integration support installed into Office, a user with access to the Team Foundation Server can view, modify, and add new work items. In Excel, for instance, the list of work items and columns, once selected, becomes an interactive worksheet with drop-down boxes, range validation, and so forth.

Versions

Server-Side

  • Visual Studio 2005 Team Foundation Server - available as a separate product for an MSRP of US$2799. CALs for non-Team Edition versions of Visual Studio are available for an MSRP of US$499. Visual Studio Team Editions include a CAL for accessing Team Foundation Server.
  • Visual Studio 2005 Team Foundation Server Workgroup Edition provides access for up to 5 named users and is available for no additional charge with Team Editions accompanied by an MSDN Premium subscription.

Visual Studio Team Foundation Server (including Workgroup Edition) requires Microsoft SQL Server 2005 Standard Edition; however, a license for Standard Edition is included with both products.1

Client-Side

  • Visual Studio Team Edition for Software Architects - provides visual designers for software architects, systems operations managers, and developers
  • Visual Studio Team Edition for Software Developers - additional development tools for building applications and service-oriented products, including unit testing, profiling tools, and code analysis tools
  • Visual Studio Team Edition for Software Testers - provides Web testing, load testing, unit testing, code coverage, and other testing tools
  • Visual Studio Team Edition for Database Professionals - provides database development and testing tools. Released in December 2006.
  • Visual Studio Team Suite - includes Team Edition for Software Architects, Team Edition for Software Developers, and Team Edition for Software Testers. When Team Edition for Database Professionals is released, owners of Team Suite will get a license for it at no additional cost.

MSDN

Typically, customers purchase an MSDN Premium subscription when licensing the Team Editions and Team Suite, which provides Software Assurance that entitles users to product updates over the life of the subscription. This includes Team Foundation Server Workgroup Edition, development licenses of many Microsoft Windows versions, Visual Foxpro 9, Visual Studio 2005 Tools for Microsoft Office, development licenses of many server-side offerings, SDKs and DDKs, a large amount of documentation, and more. The Team Edition and Team Suite products can not be purchased without a MSDN Premium subscription.

External links