Working with Microsoft Visual Studio 2005 Team System
The world has once again changed for the Microsoft application developer. Visual Studio is no longer just a desktop-centric, or even Web-centric, programming environment it is now a world-centric application lifecycle tool. The distributed nature of applications and the teams that are responsible for their construction, deployment, and iterative maintenance have permanently changed the way teams manage their software projects. Recognizing this paradigm shift, Microsoft has architected Visual Studio 2005 to facilitate this comprehensive universe of application architecture, development, and testing in their Team System environment.
Understanding the pieces that comprise Visual Studio Team System (VSTS) and the differences between the various Visual Studio configurations can be daunting possibly even overwhelming to the uninitiated. Fortunately for those seeking help with this task, Microsoft MVP Richard Hundhausen has written a book that can satiate the needs of the IT project manager, architect, developer, or tester.
The book begins with an overview of VSTS, describing the problems it solves, as well as the differences between and the primary roles of the five versions of Visual Studio 2005 that comprise the end-to-end VSTS. This is followed by an introduction to the Team Foundation Server and Team System Client Applications.
Part 2 continues with individual chapters detailing how the primary team roles of project manager, architect, developer, and tester should optimally configure and live within their specific version of the Visual Studio environment. Easily the heart of the book, this section was excellent. I especially appreciated the effort that Hundhausen spent on describing how key Microsoft technologies have been tailored to meet the needs of each specified team member and their desired development methodology.
Speaking of methodology, Part 3 covers the Microsoft Solutions Framework (MSF) 4.0 Team Model and its ability to host two of the most popular methodologies used in software development today: Agile and Capability Maturity Model Integration (CMMI) Process Improvement. MSF can be extended to support other approaches, as well, such as Extreme Programming and Scrum. This portion of the book also provides an immensely helpful summary of the roles and responsibilities of each advocate group these methodologies promote. Part 3 closes by describing how to customize and extend Team System to support specific workflows or unique organizational requirements.
Part 4 contains an appendix that describes a day in the life of Team System, an outstanding summary of the world-view necessary to conceptualize how the orchestrated use of VSTS delivers world-centric applications; it also humanizes the process. Another appendix provides a brief distributed system designer reference for use with Microsoft Distributed System Logical Datacenter, Application, and Class Designers. The final, single-page appendix lists the array of codenames associated with VSTS to help newcomers translate names used for some time by seasoned VSTS beta testers.
Overall, I was highly satisfied with the writing quality and educational impact this book delivers and I recommend placing it on the mandatory reading list of any serious .NET developer.
Title: Working with Microsoft Visual Studio 2005 Team System
Author: Richard Hundhausen
Publisher: Microsoft Press
Page Count: 336 pages