An iterative incremental software development process

Scrum Software Development

Subscribe to Scrum Software Development: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Scrum Software Development: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Scrum Authors: Pat Romanski, Stackify Blog, Ken Schwaber, Eric Robertson, XebiaLabs Blog

Related Topics: Scrum Software Development

Scrum: Article

Microsoft Visual Studio 2005 Team Foundation Server

Empowering the Team System

With the release of Visual Studio 2005 in November Microsoft Visual Studio entered the enterprise development tools space with a coherent set of products targeted at the distinct roles in the software development lifecycle. On March 17 2006, Microsoft released Team Foundation Server, which finally enables users of the various editions of Visual Studio 2005 to achieve the Team System.

Visual Studio 2005 Team System enables the primary stakeholders in a software development project, the architects, developers, testers, and project managers, to collaborate through a common environment provided by the Team Foundation Server.

According to the Standish Group, businesses in the United States spend around $250 billion annually on software development projects with the average software development project ranging from $430,000 to $2.3 million. Today only 16% of these projects are completed on time and within budget. The Standish Group also found that around 31% of these projects will be cancelled before they're completed; and a staggering 52% of projects, it estimates, will cost 189% of the original estimates.

Effective communication and collaboration won't guarantee projects will be among the 16% that are completed on time and on budget, but without such communication and collaboration it's unlikely that a project can be successful.

Central to enabling effective communication and collaboration within the Team System is Microsoft Team Foundation Server, which is built on Microsoft SQL Server 2005 and uses Windows SharePoint Services (WSS) to provide a Web-based portal further empowering effective communication and collaboration within the team.

Team Foundation Server is available in two editions, the first of which is known as the Workgroup edition, which limits the server to five users. Although Microsoft chose to call this edition the Workgroup Edition, it doesn't imply that the users must be members of a Windows workgroup. They can also be members of an Active Directory domain. Team Foundation Server Workgroup Edition is available for download from MSDN Subscriber Downloads and will have shipped to MSDN subscribers by the time you read this.

The Workgroup Edition provides an excellent way to evaluate the product for your development team because the license for the full edition can simply be applied to the Workgroup installation, ensuring a seamless migration from the Workgroup Edition to the full edition that doesn't impose any limitation on the number of users.

If you'll need to support more than five users during the evaluation period, there is also a time-limited trial edition available from MSDN Subscriber Downloads. This edition will also have shipped to MSDN subscribers by now. The trial edition lets you use the full edition for 180 days when the installation can be upgraded by applying a license key once the product's been purchased.

Installing the Team Foundation Server requires a server running the 32-bit version of Windows Server 2003 and, assuming you read through the installation instructions prior to the installation, you'll have the initial install completed in just over an hour. Personally, I began installing the 64-bit version of Windows Server only to discover later that Team Foundation Server currently requires the 32-bit version; so I would definitely recommend reading through the instructions first. It would be nice to see a future release support the 64-bit versions of Windows Server and SQL Server since Team Foundation Server is certainly a product that could benefit from the increased memory availability that these editions provide.

Microsoft provides unattended install scripts for installing the SQL Server 2005 instance that will host the databases that form the persistence layer for the Team Foundation Server; and the license for SQL Server 2005 is included with the full edition of Microsoft Visual Studio 2005 Team Foundation Server. Using the unattended install scripts substantially simplifies the installation process and is highly recommended.

Team Foundation Server can be installed in single- or dual-server configurations and the unattended install scripts for both configurations are provided on the installation media. While reviewing Team Foundation Server, however, we only tested the single-server configuration.

It would be nice, however, in a future release to see an option that lets the databases and associated log files be installed on to another hard drive partition, which is common practice with production database environments.

Team Projects
Once the installation has been completed, one or more team projects are created by the project architect, lead developer, or even the project manager. One decision that will definitely have to be made by the project team before the creation of each team project is the methodology to adopt for each team project.

Included with Team Foundation Server are two methodologies that have been developed by Microsoft and are focused at two different styles of development; one an agile development methodology and the second a more formal methodology based on the Capability Maturity Model Integration (CMMI) process.

It's likely that most teams will use the MSF for Agile Software Development that's recommended for smaller teams developing object-oriented applications using iterative scenario-driven development processes. Another process included with the Team Foundation Server is the MSF for CMMI Process Improvement recommended for teams implementing extensive process improvement and quality assurance initiatives. (Figure 1)

With the adoption of either process comes extensive process guidance that's available in the Visual Studio 2005 environment for users who are using one of the Visual Studio 2005 editions to interact with Team Foundation Server. This same process guidance is also available through Internet Explorer for anyone who doesn't typically use one of the Visual Studio 2005 editions to connect with the Team Foundation Server. Project managers, for example, are more likely to interact with Team Foundation Server using either Microsoft Excel or Microsoft Project since they are probably more familiar with these tools than with Visual Studio 2005. While using Excel and Project, Team Foundation Server is accessed through an additional toolbar that's installed into those applications.

Several other options exist for teams that decide that the MSF-based methodologies Microsoft provides aren't appropriate for their organization. First, the MSF methodologies can be extensively customized to provide support for an organization's development process. Second, several other methodologies have been developed by Microsoft partners that are designed to integrate with the Visual Studio Team System environment. These include Avanade Connected Architectures (Avanade) and Scrum (Conchango).

Once the appropriate methodology has been chosen the project portal is created so project information can be disseminated to all project stakeholders. This portal is based on Windows SharePoint Services SP2 (WSS) and gives stakeholders a way to upload, edit, or simply view any kind of document hosted by WSS. All documents hosted in WSS are source-controlled and documents can be checked in and checked out through the project portal. WSS also provides extensive integration with Microsoft Office 2003 so source control operations can be done directly in the products in the Office suite.

Both the MSF for Agile Software Development and MSF for CMMI Process Improvement methodologies include some extensive reports that can be accessed either through Visual Studio 2005 or through the team project's portal. (Figure 2) Some of the reports included with the MSF for CMMI Process Improvement methodology include, for example:

  • Bug Rates
  • Builds
  • Quality Indicators
  • Project Velocity
  • Issues List
  • Exit Criteria Status
Based on Microsoft SQL Server 2005 Reporting Services these reports are, like the methodologies to which they belong, fully customizable.

Team Foundation Source Control
Team Foundation Source Control is likely to have the most immediate impact on the largest group of stakeholders in the software project; these are the architects, developers, and testers. Prior to the introduction of Team Foundation Server, it's likely that the development team used Microsoft Visual SourceSafe for their source control repository.

Small teams and individual consultants can continue to use Visual SourceSafe, although I think that there are compelling reasons why they should consider Team System. Assuming that the small team or consultant has access to an MSDN Premium Subscription, it's certainly worthwhile considering the Workgroup Edition of Visual Studio 2005 Team Foundation Server.

More Stories By Doug Holland

A "blue-badge" .net architect and developer at Intel Corporation since March 2007, Doug Holland is part of the Intel Mobility group and is presently working within an advanced tools and development team with an emphasis on graphics performance. He holds a Master's Degree in Software Engineering from Oxford University and has been awarded both the Microsoft MVP and Intel Black Belt Developer awards. Outside of work, Holland enjoys spending time with his wife and four children; and is also an officer in the Civil Air Patrol / U.S. Air Force Auxiliary.

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

Most Recent Comments
a 06/26/06 01:54:21 PM EDT

The author misspelled "lose":

Shelving code before it's ready to be checked into the main branch protects the team from loosing work due to hardware failure on the developer's workstations.

"loose" => to let go (when used as a verb)
"loose" => to misplace