Introduction to Visual Studio 2005 Team System

 

More than just a tool suite

Microsoft Corporation

October 2005

Applies to:
   Visual Studio 2005 Team System

Summary: This article provides an overview of the features and versions of Microsoft Visual Studio 2005 Team System. (3 printed pages)

Note   This content originally appeared in the January 2005 edition of .NET Developer's Journal. It is reproduced here with permission of the publisher.

Contents

The Importance of Team Communication
Introducing Visual Studio 2005 Team System
Enabling a Vibrant Partner Ecosystem

Today's software systems are composed of numerous distributed services, spanning platforms, protocols, and programming languages, all with significant impact on the operations environment. Moreover, teams have become increasingly specialized and geographically distributed. Successful deployment of modern solutions depends on bridging the communication gap between development and operations so that the entire IT department is represented early and often throughout the software life cycle.

The Importance of Team Communication

We know instinctively that communication is essential to accomplishing anything as a team. The great sports teams of yore have taught us that all the talent and money in the world don't buy success on the field unless the team functions as a cohesive unit. Software developers, like modern athletes, have become increasingly specialized. The term "developer" can apply equally to those building Web front ends, groups building the server infrastructure, and the person fleshing out the database.

At the same time as roles have become more specialized, teams have become more geographically distributed. Whether it's the small consultant shop set up at customer sites across town or the large multi-site enterprise, a software development team may work together across local, national, or international boundaries.

In the months leading up to the announcement of Visual Studio Team System, Microsoft visited numerous customers, including a large financial institution on the North American East coast. In front of a large assembly at this particular company, Microsoft employees explained the virtues of Team System to solicit feedback on its initial design. The audience was divided by an aisle running between a "bride's side" and a "groom's side" of chairs. As features pertaining to software architects were described, one side of the room paid rapt attention, while the other side was nearly asleep. The discussion turned to features for operations managers. At this time, the side of the room that was nearly asleep suddenly woke up, while the other side of the room began to fidget out of boredom.

Upon further examination, it was determined that one side of the room was indeed composed of application developers and architects, while the other side consisted mainly of data center operators.

And therein lies an object lesson. In many organizations, the application design team not only fails to communicate with the network operations team, they don't even sit together or know one another.

What can Microsoft do to alleviate this pain? Clearly, such cultural boundaries will not be erased overnight or by a single release of a development tool, no matter how great. However, Microsoft can at least offer the means through which development organizations can communicate more effectively. And where there's a will, there can almost certainly be a way.

Delivering Service-Oriented Solutions

Application development itself no longer consists of monolithic applications residing on a desktop machine. Deploying a full-fledged enterprise application often means touching many aspects of the data center. A client application deployed to thousands of desktops or a Web server farm may interact with numerous back-end Web services and databases located throughout an organization. Visualizing such applications can be complicated.

At the same time, many of these Web services are hosted and managed by IT operations staff responsible for keeping the services available and functioning. Often, the operations staff has specific requirements for security, reliability, performance, and more. Application development must be informed and constrained by these requirements in order to ensure successful deployment of solutions. This is what we call design for operations, and it enables application developers and operations managers to collaborate more effectively.

Introducing Visual Studio 2005 Team System

The new Visual Studio Team System expands significantly on Microsoft's demonstrated successes in delivering highly productive tools. It offers businesses tightly integrated and extensible life-cycle tools to increase the predictability of their software development process. With Visual Studio Team System, organizations can:

  • Reduce the complexity of delivering modern service-oriented solutions that are designed for operations.
  • Facilitate collaboration among all members of a software team, speeding development time and ensuring the predictability and reliability of the development process.
  • Customize and extend the Team System with their own internal tools and process frameworks, or choose from over 450 supplemental products from over 190 partners.

Visual Studio Team System consists of:

  • Visual Studio Team Foundation Server: An extensible team collaboration server that enables all members of the extended IT team to effortlessly manage and track the progress and health of projects.
  • Visual Studio Team Edition for Software Architects: Visual designers that enable architects, operations managers, and developers to design service-oriented solutions that can be validated against their operational environments.
  • Visual Studio Team Edition for Software Developers: Advanced development tools that enable teams to build reliable, mission-critical services and applications.
  • Visual Studio Team Edition for Software Testers: Advanced load testing tools that enable teams to verify the performance of applications prior to deployment.
  • Visual Studio Team Suite: Bundle of Visual Studio Team Architect Edition, Visual Studio Team Developer Edition, and Visual Studio Team Test Edition.
  • Proven process guidance, prescriptive architectural guidance, and solution accelerators that assist organizations in improving the predictability and reliability of delivering mission-critical solutions.

Enabling a Vibrant Partner Ecosystem

Visual Studio Team System is more than a suite of life-cycle tools. It's also a life-cycle platform that enables third parties, customers, and solution providers to extend the base functionality with new features and customize the tool for the unique aspects of certain businesses.

Many organizations already employ life-cycle tools to corral their software development efforts. Often, these life-cycle tools are fraught with several issues, including:

  • Inconsistent user interfaces that force customers to learn new skills instead of leveraging their existing knowledge of the development workflow.
  • Non-integrated development tools that require multiple log-ins, external tools, and re-entering data in numerous different places.

For partners, Visual Studio Team System offers a platform for consistently integrating third-party tools into the existing workflow of the development team. With the Team System, partners can share data between tools and respond to actions teams trigger throughout the development process. Customers benefit through a wide variety of third-party tools that supplement the Team System and enable them to reuse their existing skills and knowledge of the development workflow.

Numerous partners have already indicated that they will deliver tools integrated into the Visual Studio Team System, including Compuware, Borland, Avicode, and numerous others.

© Microsoft Corporation. All rights reserved.