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.
|
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.
.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.
.gif)
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