inset
Team Server Completes Visual Studio Team System
Mar. 27, 2006

With the release of Team Foundation Server, all the components of Microsoft's Visual Studio Team System are in place. Team System is a set of tools to help teams of developers, testers, and software architects work together more efficiently by providing source code management, work item tracking, and software modeling and testing. The client portions of Team System are included in several specialized editions of Visual Studio that shipped in Nov. 2005, but the schedule for the server lagged by four months. Before this release, customers had to use a beta version of the server to access Team System's capabilities.

Foundation for Collaboration

Team Foundation Server forms the backbone of Microsoft's Visual Studio Team System—a set of products designed to help teams of software architects, developers, and testers better plan and execute their projects and track their progress. Team System uses a three-tier architecture consisting of a SQL Server 2005 database, a middle-tier application built on ASP.NET 2.0, and a set of client applications consisting of role-based editions of the Visual Studio development environment, Microsoft Excel and Project, and third-party tools from vendors such as Borland and CompuWare.

Team Development

Team System supports several important tasks that are common to most software development projects, including the following:

  • Source-code control, which allows groups of developers to coordinate their changes to the project
  • Work-item management, which allows developers, testers, and project managers to track the status of the project, including bugs and other items needing attention
  • Reporting allows project managers and other team members to access a wide variety of project statistics, such as the number of lines of code that have been modified over a period of time, incoming bug rates, and bug fix rates.

Team System can also enforce various development methodologies—specific sets of rules that define how a software project is created and managed. Team System supports two Microsoft-defined methodologies—one for a highly structured process and one for a less formal and more iterative process—and provides an extensible platform for customers or third-parties to define their own. Developers can also choose to use no methodology at all.

Modeling and DSI

In addition to supporting core development features used by nearly all developers, Team System marks Microsoft's entry into the application-lifecycle tools market. Application-lifecycle tools move beyond the "edit-compile-debug" cycle, which forms the heart of a software development project, to help teams of developers with early-stage decisions, such as an application's architecture, as well as later stages, such as deployment and maintenance.

In particular, Team System introduces modeling features that support both early design and maintenance stages of Web applications and Web services. Team System's modeling features include the following:

  • Application Designer, a set of graphical tools and building blocks, such as ASP.NET Web Service, to compose applications and automatically generate the appropriate code
  • System Designer, to combine applications together, describe how they interact, and determine which pieces must be deployed together
  • Logical Datacenter Designer, to describe the types of servers in their datacenter and their configurations (for example, perimeter Web servers versus intranet Web servers)
  • Deployment Designer, which takes information from the System Designer and the Logical Datacenter Designer to identify potential errors that would prevent the software from being successfully deployed.

Modeling is a key concept in Microsoft's Dynamic Systems Initiative (DSI), a long-term effort to increase the manageability of software. The central idea behind DSI is that every piece of software should carry with it models, in XML format, that help IT management deploy and monitor that software. Although Team System's modeling features do not offer anywhere near the functionality envisioned by DSI, they will help developers begin thinking about the types of information that should be encapsulated into DSI-enabled applications.

However, significant limitations in Microsoft's first generation of modeling tools will limit Team System's appeal for this purpose. Eventually, Microsoft hopes to create tools that will automatically generate and maintain accurate models from an existing datacenter. Until then, maintaining models as the datacenter evolves is likely to be the weakest link in Microsoft's approach. First, IT professionals must learn to use Visual Studio, an unfamiliar tool for many. Second, the Logical Datacenter Designer describes only the types of servers found in the datacenter, not actual instances of servers. Therefore, IT departments must make sure that every instance of a given type of server is configured identically for the model to be accurate.

Workgroup Edition Targets Small Teams

Team Foundation Server is available in two editions: a Workgroup Edition for teams of up to five individuals, and the regular edition. There is no functional difference between the two editions; the Workgroup Edition is limited only in the number of users it supports.

Microsoft originally intended to sell only the stand-alone edition of Team Foundation Server. However, for a consultant or other small organizations the Open License price of US$2,230 for the server was prohibitive, and many smaller developers complained. To help those customers, Microsoft created the Workgroup Edition with a five-user limit and will allow any Microsoft Developer Network (MSDN) Universal subscriber to download it for free.

Client Editions

Visual Studio is available in three editions that support Team Foundation Server:

  • Visual Studio Team Edition for Software Architects
  • Visual Studio Team Edition for Software Developers
  • Visual Studio Team Edition for Software Testers

All editions support the core Team System features, such as tracking source-code changes or project work items. But each edition also supports features likely to be used by the particular discipline. For example, the Software Architects edition includes support for application modeling, the Developer edition includes source code performance analysis tools, and the Testers edition supports automated software test suites. A Team Suite is available which combines the features of all three role-based editions into a single development environment. (For more details on the features of each of the client editions, see the chart "Team System Client Editions".)

Microsoft requires each user to have a Client Access License (CAL), which is included in the price of the Visual Studio Team editions. But accessing Team Foundation Server from other tools, such as Project, Excel, or third-party applications, requires a CAL to be purchased separately.

Resources

For details on Team Foundation Server features such as source code control and work item management, see the Nov. 2005 Research Report, "Visual Studio 2005 and Team System."