Improving the Software Development Life Cycle with Visual Studio 2005 Team Services - George Wesolowski

Overview

Currently, there are many disparate tools available for managing the software development life cycle. Examples include Microsoft’s Visual SourceSafe for source code control, third-party tools for automating unit and load testing, automated build environments for automating the software build process, and diagramming tools for creating object models and database entity/relationship diagrams. However, it is often difficult and time consuming to integrate these tools into a unified development environment. Microsoft’s Visual Studio 2005 Team Services, currently in beta and scheduled for release later this year, provides a unified environment for managing the software development life cycle by integrating an array of extensible tools that manage all phases of the software life cycle (not just source code control) into a standard IDE.

What is Visual Studio 2005 Team Services?

Visual Studio 2005 Team Services is a collection of integrated software development tools that support the entire development team, not just the developer. These include generic server-based team collaboration tools for use by all team members, in addition to more specific client-side tools that integrate with the Visual Studio 2005 IDE and are targeted for architects, developers, testers, and project managers.

Team Collaboration Tools

Visual Studio 2005 Team Services server-side team collaboration tools include a new source control management system and an item tracking database. Microsoft will continue to support Visual SourceSafe as a “lightweight solution” for source code control targeted at individuals and small teams. However, a more robust, enterprise-wide source code control system is provided with Visual Studio 2005 Team Services. This provides a built-in web interface, Unicode and XML support, as well as support for multiple languages and time zones. More importantly, the source code control provider is integrated with a work item database that allows team members to enter defects (work items), link specific work items to source files, and link work items to specific builds. Reports may be generated on a per-work item basis to examine all the events that occurred to process a particular work item, from the failed test, through the source code check-in, to the successful test and closure of the work item. And, all of this is integrated with the Visual Studio 2005 IDE.

Tools for Architects

For the architect, Visual Studio 2005 Team Services includes a set of Distributed Systems Designers consisting of the Application Center Designer, Logical Datacenter Designer, System Designer, and Deployment Designer. These designers are diagramming tools, fully integrated with the Visual Studio 2005 IDE, that support an integrated model of both the development and operations domains. They allow the architect to define both the design and configuration of distributed systems using a common language. Design elements depicted in the Distributed Systems Designers are stored with the Visual Studio 2005 solution and synchronized with the source code. 

Tools for Developers

For the developer, Visual Studio 2005 Team Services includes a set of analysis tools that are geared toward the developer. These tools include source code analysis tools, performance tools, and an updated build engine known as MSBuild. Code analysis tools include PREfast, which reports common coding errors such as buffer overruns and memory and resource leaks for C and C++ code, and FxCop, which analyzes managed C# and VB.NET code and reports coding violations based on programming and design guidelines. Performance tools support both sampling and instrumentation as a means of profiling and provide the developer with reports outlining method calls that are called most frequently, do the most work, and execute the longest.

Tools for Testers

For the quality assurance engineer, Visual Studio 2005 Team Services also includes a set of testing tools that are fully integrated with the Visual Studio 2005 IDE. They provide testers with a set of graphical tools for creating, executing, and viewing the results of unit tests, load tests, generic tests, and Web tests, in both an automated and manual fashion. A code coverage user interface provides the tester with statistics of the percentage of code modules that are exercised by a particular test.

Tools for Project Managers

For the project manager, Visual Studio 2005 Team Services includes a set of project management tools and report templates based on familiar tools such as Microsoft Excel, Microsoft Project, Windows SharePoint Services, and SQL Server Reporting Services. Work items added to project plans created in Microsoft Project may be imported directly into the Team Services work item database. This allows developers to view the work items directly in their work queue. When marked as resolved by the developer, the project manager can refresh the project plan from the data stored in the work item database. Other standard reports are available such as the Code Quality Report, Schedule Progress Report, Plan Stability Report, and the Team Effectiveness Report. And, because project data is stored in the Team Services work item SQL Server database, customized reports may be generated using SQL Server Reporting Services.

Extensibility

All the tools mentioned above provide extensibility mechanisms that allow you to tailor the tools based on your own specific workflow requirements. For example, project managers may create customized work item types that are tailored for their particular project. New file types and check-in policies may be specified for source code control. Programmable APIs are provided that allow you to customize and automate specific processes.

Conclusion

Visual Studio 2005 Team Services provides tremendous improvements over the current Microsoft toolset for managing the software development life cycle by providing an integrated environment for all members of the software development team, including architects, developers, testers, and project managers. And, because Visual Studio 2005 Team Services is fully extensible and customizable, you are able to implement a workflow that meets your specific needs instead of being bound to a pre-defined process.