Click to Rate and Give Feedback
TechNet
TechNet Library

  Switch on low bandwidth view
Integrated Software Development at Microsoft Using Visual Studio 2005 Team System

Integrated Software Development at Microsoft Using Visual Studio 2005 Team System

Technical Case Study

Published: September 25, 2005

Microsoft® Visual Studio 2005 Team System (VSTS) provides an integrated software development environment that enables the Microsoft e*BIS (eBusiness Integration Services) business-to-business (B2B) IT development group to incorporate the complete Microsoft IT Software Development Life Cycle (SDLC) process in one solution.

Download

Download Technical Case Study,, 302 KB, Microsoft Word file

PowerPoint PowerPoint Presentation, 927 KB, Microsoft PowerPoint file

Situation

Solution

Benefits

Products & Technologies

The Microsoft EAS IT development group used several tools and applications to drive SDLC process in their projects. The lack of integration between the tools did not provide for an effective and efficient enterprise team development environment.

Microsoft Visual Studio 2005 Team System delivers a solution that tightly integrates the SDLC process and provides an environment that fosters team collaboration and communication, thereby driving predictable project results.

  • Completely integrated SDLC process environment
  • Robust, scaleable, and secure enterprise class source code control system
  • Shared platform designed for team collaboration and communications
  • Microsoft Visual Studio 2005 Team System
  • Microsoft SQL Server 2005 with SQL Server 2005 Reporting Services
  • Microsoft Windows Server 2003 with Microsoft Internet Information Services (IIS) 6.0 and Microsoft Windows SharePoint Services

Within Microsoft Information Technology (IT), the Enterprise Application Services (EAS)-e*BIS development group provides solutions to support the various document translation services that are used in B2B messaging at Microsoft. The e*BIS IT development group is in a constant state of change and product migration to meet the business requirements of their customers. To meet business requirements and increase developer productivity, the e*BIS IT development group required a product that would incorporate the Microsoft IT SDLC process in one integrated solution.

The solution that the e*BIS IT development group implemented may help other enterprise organizations move from a disconnected development environment to one integrated enterprise development solution. This case study is intended for Chief Information Officers, Project Managers, Project Leads, Development Managers, Senior Software Developers, and technical decision makers who must have an integrated software development solution.

Situation

The e*BIS IT development group consists of between 17 and 21 team members. The team members make up a collaborative group of project managers, project leads, developers, testers, and support members.

The e*BIS IT development group works on a variety of integration projects that provide document translation services for the e*BIS business unit. For example, the e*BIS IT development group is currently working on a Web application that will automate the migration from one translator product to another translator product. This application will initially provide an automated, scalable, and robust testing tool to help in the migration from Microsoft BizTalk Server 2002 to BizTalk Server 2004.

The management and development of an e*BIS project is accomplished by using several tools and applications. The tools and applications that are used in the SDLC process are largely disconnected and do not provide an integrated environment from which the team members can easily collaborate and communicate on project progress.

Figure 1 shows a diagram of the testing and bug workflow process that was used by the e*BIS IT development group.

Bb735282.vstsat01(en-us,TechNet.10).gif
If your browser does not support inline frames, click here to view on a separate page.

Figure 1. Pre-VSTS testing and bug workflow process

Most of the connections between the workflow processes were manual and hampered team productivity. The project manager manually queried the bug database and then e-mailed pasted listings to the developers and the testers to manage the testing and debugging workflow process. Subsequently, testers and developers would have to e-mail back the status of bugs and issues to the project manager and other affected team members.

The entire SDLC process was managed by using the following tools:

  • Microsoft Visual Studio® .NET 2003

  • Microsoft Visual SourceSafe® 6.0

  • Microsoft Office® Professional 2003

  • Microsoft Office Project Professional 2003

  • Microsoft Windows® SharePoint® Services

  • Internal Microsoft product bug and issue tracking application

Project 2003 was used to create the project plan. The project plan was then used to assign work items to the various team members. The project manager would manually update the project plan as tasks and milestones were reached. The project plan updates were communicated by using several methods, including e-mail messages, team meetings, telephone calls, and issue tracking queries. Office applications were used to manually extract and distribute project information from the various external sources to the team members.

The e*BIS IT development group used Visual Studio and the Visual SourceSafe plug-in to provide a development environment and source code repository. The Visual SourceSafe repository for a project could be located on any one of the many Visual SourceSafe servers, and it was sometimes difficult to associate a bug or an issue with the targeted source code. Source code bugs contained a reference to where the source code was located, but if subsequent changes occurred in the source code, the reference would become invalid.

The tracking of test cases, bugs, and issues was accomplished by using an internal Microsoft application that provided a query tool to locate the issues and bugs for each project. By using the extracted issue or bug lists from each tool or application, the project manager would manually create status reports by using Microsoft Office Excel® 2003. Preparing and consolidating this information to report project status, bug rates, and resource issues took a great deal of time and was an ineffective use of project management time. This information was shared by either storing the status report on the SharePoint Web site or by e-mailing the status report to the team and stakeholders. Development project documentation was shared by using a team Windows SharePoint Services Web site.

To completely integrate the SDLC process and remove the manual external processes from the workflow, the e*BIS IT development group required the following:

  • An integrated and familiar development environment: Visual Studio was used to develop, test, and build each project.

  • An integrated workflow process: The workflow process must be integrated, instead of being made up of many disconnected manual processes that hamper team productivity.

  • Integrated management: Project management features, such as task list generation and resource assignment, must be integrated into the development environment and bound to the source code and reporting repositories.

  • An integrated SCM solution: A scalable and feature-rich Software Configuration Management (SCM) solution must provide a robust and secure source code control repository.

  • Integrated reporting: Reporting must be integrated into every task and process within the SDLC. Reporting must be real-time and must be able to integrate with other Office applications.

"Finally, instead of using three or four different products to manage a project, I now use the Team Foundation client to manage the whole project from a single console."

Megan Day

Solution

VSTS was deployed to enable the e*BIS IT development group to integrate the whole SDLC process in one solution. Additionally, VSTS provided a platform that makes team collaboration and communication easier.

VSTS is a tiered solution that can be deployed on a single server or on multiple servers. The typical installation consists of the following:

  • Database tier: The database tier is installed on a Microsoft Windows Server 2003-based computer that is running Microsoft SQL Server™ 2005. The database tier consists mainly of database objects such as tables, views, and stored procedures. In a typical installation, SQL Server 2005 Reporting Services is also located on the same server and is used by VSTS for reporting requirements.

  • Application tier: Visual Studio 2005 Team Foundation Server is the application tier. This component is installed on a Windows Server 2003-based computer that is running Microsoft Internet Information Services (IIS) 6 with Windows SharePoint Services installed. The application tier displays Microsoft ASP.NET Web services that connect to the database tier and are called from the client tier.

  • Client tier: The client tier consists of an integrated plug-in for Visual Studio 2005 and plug-ins for Excel and Project 2003. Additionally, there is a stand-alone Team Explorer client for project managers and project leads who do not require the whole Visual Studio IDE.

Team Foundation Server is at the center of the VSTS. Team Foundation Server provides an integrated platform and a shared data source for collaborating on software development projects. The following diagram shows the five core integrated components that make up Team Foundation Server.

Figure 2. The five core integrated components of Team Foundation Server

Figure 2. The five core integrated components of Team Foundation Server

e*BIS IT Development Group Implementation

To help provide a solid foundation and to train the team, the e*BIS IT development group used an internal product specialist from another group. Additionally, the product specialist helped set up and deploy the VSTS client installations to each team member. Most team members required the integrated Visual Studio IDE, and other team members only required the Team Explorer client. For example, the project manager only required the Team Explorer client to manage the workflow and report the status of the project plan.

"Visual Studio Team System provides a one stop shop for all the integration needs within the project."

Kal Viswanathan

The e*BIS IT development group was able to use the following VSTS features shortly after deployment:

  • Project management

  • Work items

  • Version control

  • Project Web site

  • Reporting

Project Management

Project plans are still created in Project 2003, but they are now published in Team Foundation Server. Therefore, the learning curve to set up the project plan in Team Foundation Server was reduced to learning how to use the Project 2003 plug-in to publish the project plan. The Project 2003 plug-in lets the project manager or project lead use the full features of Project 2003 to create the plan, and then publish the tasks and resource assignments back to Team Foundation Server. After the project plan is published, the project manager can manage the whole project by using only the Team Explorer client.

Reporting the project status to stakeholders is now done by using the integrated reporting features of VSTS. VSTS integrated reporting provides accurate information about the project health and status. The project manager now copies key metric data such as bug rates, resource work status, and task completion from the various reports to provide a more timely and more accurate report of the project status.

Work Items

In Team Foundation Server, work items are integrated into every aspect of the development environment. The e*BIS IT development group uses the different work item types that are included in the Visual Studio Project Management tools. By using the integrated work items, the project workflow is automated in the environment, and team members do not have to manually maintain work item status reports. Team members can participate in the workflow process for their work items, and team members no longer have to use external applications to collaboratively resolve project-related work item tasks and bugs.

For example, team testers can directly enter bug work items in the VSTS environment, and developers are automatically notified. After a developer corrects the source code, the corrected source code is attached to the original bug work item. Each team member who is involved in this corrective process is notified. The team member can then quickly determine the status of the bug in Team Explorer by running the Active Bugs query or the My Work Items query. The work item integration makes communication easier among the team members in the SDLC process and keeps the project manager notified of changes to the source code.

Version Control

VSTS introduces a completely new version control system that provides a complete SCM solution. The new system is built on ASP.NET 2.0 Web services and uses SQL Server 2005 for the data store. SQL Server 2005 provides for a more robust, scalable, secure, and transactional data store than Visual SourceSafe.

The e*BIS IT development group uses the following features of the new source code control system:

  • Security groups and user access permissions: Team Foundation Server provides a more refined security model to grant permissions to team members. The e*BIS IT development group created security groups to break down access permissions to contributors, readers, and administrators. For example, the technical writer in the group was only given read access permissions. As a result, the e*BIS IT development group can now better manage access to source code by creating groups and by using a least privilege best practice approach to the system.

  • Work item integration: By using check-in policies, the e*BIS IT development group requires that each work item is associated with a change when a team member checks in source code. Team members can quickly locate any source code change by using work item queries. Additionally, changes are now fully documented and traceable to the task, bug, or requirement that was originally created in the system.

  • Change management: The e*BIS IT development group has only started to explore the options that are available through the source code control change management features in VSTS. The following lists some of the features that the e*BIS IT development group is using:

    • Shared access: VSTS source code control features enable parallel development by letting more than one team member check out the same source code. Project leads, developers, and testers no longer need to manually communicate with other members of the team to unlock and check in a file. This feature lets another developer or tester check out the source code to work on their respective work items at the same time.

    • Shelving: Shelving enables team developers to check in source code changes that are not yet completed or to test various development scenarios. This feature lets a developer fix a bug while another developer works on a new build and subsequently shelves his code. Later, the shelved code would be merged with the bug fix.

    • Merging: Merging and shelving enable team developers to more easily merge different team changes, versions, and builds back in to the targeted source code branch. Combined with shelving and shared access, the new and easy to use merging abilities in VSTS let the e*BIS IT development group work on new builds and fix bugs at the same time.

    • Atomic change sets: Atomic change sets let team developers check in a group of files as one change set. This feature guarantees that all the files will be checked in as one unit of work. Additionally, atomic change sets help to make sure that the e*BIS IT development group's build process finishes without errors.

Note: When the e*BIS IT development group used the various features of the new source code control system, the group experienced a significant increase in performance compared to when they used Visual SourceSafe. This increase was especially noticeable when the team worked on a project remotely over a slower link.

Project Web Site

When a new project is created, a Windows SharePoint project Web site is also created. In the project Web site, the e*BIS IT development group stores all project-related data. Project-related data includes functional specifications, technical specifications, business requirements, meeting minutes, and any other project data that the team must have to collaborate or communicate. Additionally, the project Web site contains Web parts that show some of the reporting features of VSTS. The Web parts provide a real-time digital dashboard of the project status and health.

Reporting

By using the reporting features that are included with VSTS, team members no longer have to manually report project information. In Team Explorer, team members can now quickly locate tasks, bugs, and issues that have been assigned to them. Project managers and project leads no longer have to wait to manually update the status of a task to communicate project health. Project plans can now be refreshed quickly and bound work item lists can be exported to Excel for additional analysis.

Note: All lists that are returned from queries in Team Explorer can be printed or exported to Project 2003 or Excel.

The tightly integrated shared data source in Team Foundation Server provides real-time project metrics. Project managers and project leads no longer have to consolidate data from different sources to provide project metrics reports to various stakeholders. Bug rates, work item status, and workflow metrics are maintained in real-time and are available in reports or by using any one of the Office plug-ins.

VSTS includes many standard SCM reports and project management-related reports that the team uses to manage the SDLC. The following list includes some of the more frequently used reports:

  • My Work Items: This report provides a list of the work items that are assigned to the team member's alias. By using this report, each team member can quickly locate their work item assignments instead of trying to locate their assignments in either e-mail messages or through a team communication meeting.

  • Active Bugs: This report provides a list of the bug type work items that are not yet closed. By using this report, project leads, testers, and developers have a real-time status of bugs as the bugs are resolved. This report provides a more efficient and collaborative platform for the bug workflow process.

  • All Work Items: This report provides a list of all the work item types and provides the project manager with a complete listing of the work items that have been created in the project.

  • Remaining Work: This report provides a chart that displays the remaining work sorted by date. This report is used by the project manager to perform resource leveling on remaining work items and to report the project status to stakeholders.

  • Bug Rates: This report provides a chart that displays new, active, and resolved bug work items sorted by date. This report is used to provide metrics data for the consolidated status reports and to see if there are any patterns in bug occurrences.

  • Work Items by Owner: This report provides information about each team member's work items sorted by owner. The project manager also uses this report to help perform resource leveling to distribute work item tasks evenly within the team.

By using the various reports in Team Explorer, the e*BIS IT development group now has a real-time, consistent picture of the project status. External reporting has been eliminated, and team member communication and collaboration has been enhanced by using the integrated reporting components.

SQL Server 2005 Reporting Services is used by Visual Studio Project Management tools, and the e*BIS IT development group can view and analyze data in various formats. Additionally, data that is contained in the reports could also be viewed by using Excel pivot tables.

Note: Reports in SQL Server 2005 Reporting Services can be customized, and team members can create their own reports, if it is required.

Best Practices

The following list includes some of the best practices that the e*BIS IT development group used when they deployed VSTS:

  • Integrated workflow processes: By integrating the workflow processes within the solution, the e*BIS IT development group removed many of the manual processes that were required to maintain the SDLC. E-mail messages and team meetings are no longer required to communicate about workflow progress.

  • Stepped implementation: The e*BIS IT development group first used VSTS on a small pilot project to train the team members and to test the solution before moving to a full implementation of VSTS. Additionally, the e*BIS IT development group consulted with a product specialist on each VSTS feature before they implemented the feature into the SDLC process.

  • Least privilege access: By using the new group security model that is provided in VSTS, the team can more granularly define access permissions to the source code and other project-related data.

  • Labeling check-ins: By correctly labeling check-ins in the VSTS source code control system, the e*BIS IT operations team can make sure that they are building from the correct source code to deploy to the respective environment.

Benefits

The VSTS implementation has provided several benefits and time savings to the e*BIS IT development group. The following is a list of the key benefits that the e*BIS IT development group experienced:

  • Developer time savings: By using VSTS, the e*BIS IT development group saved between 15 percent and 20 percent in developer work. Combined with the benefits that were introduced in the Microsoft .NET Framework 2.0 with Team Foundation Server, team members can spend more time building solutions and less time maintaining external workflow processes.

  • Integrated SDLC processes: VSTS incorporated the whole SDLC into one solution. Project managers, developers, testers, and other support members all use the same data source, and each work item is associated with the project's source code.

  • Better team collaboration and communications: All the team members in the e*BIS IT development group have a real-time picture of their respective work items and the status of each item. The requirements for physical meetings, e-mail messages, and telephone calls continue to decline as team members make better use of the collaboration features and the shared data source in Team Foundation Server.

  • Integrated reporting: The integrated reports that are provided in VSTS are based on industry-proven best practices. Team members can easily access these reports in the Visual Studio IDE by using Team Explorer, in the project Web site by using the Web parts, or by using any one of the Office plug-ins.

Conclusion

The e*BIS IT development group can now work effectively as a team and collaborate on the project process. Each member of the team, including project managers, developers, testers, and support members, can contribute to the project process by using the same shared data source. The manual external processes are no longer hampering team productivity and are integrated into the solution. The real-time health and status of the project helps the e*BIS IT development group produce predictable project development results.

For More Information

For more information about VSTS, refer to the Visual Studio 2005 Team System Web site at http://lab.msdn.microsoft.com/teamsystem.

For more information about SQL Server 2005, refer to the SQL Server 2005 Web site at http://msdn.microsoft.com/SQL/2005.

For more information about Microsoft products or services, call the Microsoft Sales Information Center at (800) 426-9400. In Canada, call the Microsoft Canada information Centre at (800) 563-9048. Outside the 50 United States and Canada, please contact your local Microsoft subsidiary. To access information through the World Wide Web, refer to the following Web sites:

http://www.microsoft.com

http://www.microsoft.com/itshowcase

http://www.microsoft.com/technet/itshowcase

For any questions, comments, or suggestions on this document, or to obtain additional information about Microsoft IT Showcase, please send e-mail to:
showcase@microsoft.com

© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement
Page view tracker