vs2008 to improve development

23
Deploying Visual Studio Team System Deploying Visual Studio Team System 2008 Team Foundation Server at 2008 Team Foundation Server at Microsoft Microsoft Published: June 2008 Using Visual Studio 2008 to Using Visual Studio 2008 to Improve Software Development Improve Software Development

Upload: maddinapudi

Post on 28-Nov-2014

1.926 views

Category:

Technology


2 download

DESCRIPTION

Using VS 2008 to improve Software Development

TRANSCRIPT

Page 1: Vs2008  to improve Development

Deploying Visual Studio Team System 2008 Team Deploying Visual Studio Team System 2008 Team Foundation Server at MicrosoftFoundation Server at Microsoft

Published: June 2008

Using Visual Studio 2008 to Improve Using Visual Studio 2008 to Improve Software DevelopmentSoftware Development

Page 2: Vs2008  to improve Development

AgendaAgenda

● The Former Development EnvironmentThe Former Development Environment● Project Management IssuesProject Management Issues● The Team Foundation Server DeploymentThe Team Foundation Server Deployment● BenefitsBenefits

Page 3: Vs2008  to improve Development

A Staff of 11,000

Over 2,000 developers worldwide

Supports over 1,400 internal applications

Developed project requirements and technical specifications by using static documents

Documents became quickly outdated

Inconsistent development environment

Small teams used off-the-shelf products for source code controlLarger teams used custom databases and internally-developed toolsCross-project reporting was very difficultDevelopment environment used a “silo” approach

Microsoft IT Former Microsoft IT Former Development EnvironmentDevelopment Environment

Page 4: Vs2008  to improve Development

• TraceabilityTraceability• Scope creepScope creep• Missed Missed

featuresfeatures• Business value – Business value –

No effective No effective method was method was available to assign available to assign value to a value to a program featureprogram feature

• Visibility issuesVisibility issues• Source code Source code

management management issuesissues

Project DevelopmentProject Development

ChallengesChallenges RequirementsRequirements Results/BenefitsResults/Benefits

• Need a method to Need a method to build a project build a project from a business from a business perspectiveperspective

• Need a method to Need a method to break down break down program program requirementsrequirements

• Need a method to Need a method to promote promote traceabilitytraceability

• Assign business Assign business value to program value to program features.features.

• Break Break requirements requirements into work items.into work items.

• Create tasks Create tasks based on work based on work items.items.

• Force change Force change control to control to eliminate scope eliminate scope creep.creep.

• Improve visibility Improve visibility into work item into work item progress.progress.

Management Challenges and RequirementsManagement Challenges and Requirements

Page 5: Vs2008  to improve Development

Goals and ObjectivesGoals and Objectives

● Moving towards more Moving towards more formalized development formalized development methodologies and methodologies and frameworksframeworks

● Implementing Implementing standardized metrics to standardized metrics to measure successmeasure success

● Leveraging Team Leveraging Team Foundation Server to Foundation Server to facilitate the program facilitate the program delivery processdelivery process

Page 6: Vs2008  to improve Development

Team Foundation Server – DeploymentTeam Foundation Server – Deployment

● April 2006 – Visual Studio 2005April 2006 – Visual Studio 2005● Some groups start to migrate projects to Some groups start to migrate projects to

Team Foundation ServerTeam Foundation Server● January 2008 – Upgrade to Visual Studio January 2008 – Upgrade to Visual Studio

20082008● Project migration to Team Foundation Project migration to Team Foundation

Server continuesServer continues● All new projects are created in Team All new projects are created in Team

Foundation ServerFoundation Server● June 2008 – All Microsoft IT projects hosted June 2008 – All Microsoft IT projects hosted

by Team Foundation Serverby Team Foundation Server

Page 7: Vs2008  to improve Development

The SolutionThe Solution

● Four Team Foundation Server instancesFour Team Foundation Server instances● Three instances deployed on physical serversThree instances deployed on physical servers● One instance deployed by using virtual machinesOne instance deployed by using virtual machines

● Physical instances use commodity hardwarePhysical instances use commodity hardware● Application tier – Four processor, four gigabyte (GB) RAM-Application tier – Four processor, four gigabyte (GB) RAM-

based computersbased computers● Data tier – Four dual-code processor, 32 GB RAM-based Data tier – Four dual-code processor, 32 GB RAM-based

computerscomputers● Analysis Services – Four dual-core processor, 32 GB RAM-Analysis Services – Four dual-core processor, 32 GB RAM-

based computersbased computers● Windows Server 2003 x64 EditionWindows Server 2003 x64 Edition

SolutionSolution

Page 8: Vs2008  to improve Development

Products and TechnologyProducts and Technology

● Visual Studio 2008Visual Studio 2008● Team Foundation ServerTeam Foundation Server● SQL Server 2005SQL Server 2005● Windows SharePoint Windows SharePoint

ServicesServices● Team System Web AccessTeam System Web Access● Source code controlSource code control

Page 9: Vs2008  to improve Development

Deployment Characteristics – Physical Deployment Characteristics – Physical InstancesInstances

Storage area network

Fibre Channel connections

Network switch Data tierApplication tier

Gigabit Ethernet Analysis serverDatabase engine

`

`

Microsoft Visual Studio Team Explorer clients

Client tier

Team Build server

Page 10: Vs2008  to improve Development

Deployment Characteristics – Virtual Deployment Characteristics – Virtual InstanceInstance

Storage area network

Fibre Channel connection

Network switch Data tierApplication tier

Gigabit EthernetDatabase engineAnalysis server

`

`

Microsoft Visual StudioTeam Explorer clients

Client tier

Team Build server

Virtual machine

Virtual machine

Page 11: Vs2008  to improve Development

Deployment Characteristics – Project Deployment Characteristics – Project MigrationMigration

Team Foundation Server instance

Projects Work items

Source code files

Virtual instance 80 8,503 523,320

First physical instance 271 251,658 6,143,367

Second physical instance 75 15,495 235,990

Third physical instance 24 24,314 462,790

Total 450 299,970 7,365,467

Page 12: Vs2008  to improve Development

How it WorksHow it Works

● Management benefitsManagement benefits● Centralized source code storageCentralized source code storage● Improved project visibilityImproved project visibility● Improved source code management – Tree pruningImproved source code management – Tree pruning

● Centralized storage benefitsCentralized storage benefits● Source code is located on a single enterprise platform – Source code is located on a single enterprise platform –

Allows for easier reorganization of groups across Allows for easier reorganization of groups across Microsoft ITMicrosoft IT

● Windows SharePoint Services hosts project documents Windows SharePoint Services hosts project documents – Electronic records generate a more realistic project – Electronic records generate a more realistic project representationrepresentation

Page 13: Vs2008  to improve Development

How it Works (cont)How it Works (cont)

● Improved reporting capabilitiesImproved reporting capabilities● Storing TSP/PSP information in work itemsStoring TSP/PSP information in work items● Easier to monitor lines of code and productivity – Visual Studio Easier to monitor lines of code and productivity – Visual Studio

2008 lets you expand project tasks to examine individual work 2008 lets you expand project tasks to examine individual work itemsitems

● Potential blocking issues are easier to detect – Gives the ability to Potential blocking issues are easier to detect – Gives the ability to work proactively with project taskswork proactively with project tasks

● Improved project collaboration Improved project collaboration ● Team System Web Access lets you access Team Foundation Team System Web Access lets you access Team Foundation

Server from a Web browserServer from a Web browser● Team System Web Access returns information as query string Team System Web Access returns information as query string

parameters – Easy to e-mail a link to a queryparameters – Easy to e-mail a link to a query

Page 14: Vs2008  to improve Development

How it Works (cont)How it Works (cont)

● Easy repository branch managementEasy repository branch management● Lets project managers fix incorrect or Lets project managers fix incorrect or

suboptimal branch structuressuboptimal branch structures● Reduces costly development errors – Reduces costly development errors –

Developers less likely to work from an incorrect Developers less likely to work from an incorrect code branchcode branch

● Easy project deletionEasy project deletion● Reduces database storage requirementsReduces database storage requirements● Reduces cache size – Speeds project accessReduces cache size – Speeds project access

Page 15: Vs2008  to improve Development

DeploymentDeployment

● Deployed by using an incremental approachDeployed by using an incremental approach● Back-end servers upgraded by using an in-place upgradeBack-end servers upgraded by using an in-place upgrade● Client tier servers upgraded between release cyclesClient tier servers upgraded between release cycles

● Updating team build definition scripts required one monthUpdating team build definition scripts required one month● Used a small team to work with each development team to Used a small team to work with each development team to

upgrade computers in the client tierupgrade computers in the client tier● Did not upgrade .NET Framework 1.1 code – Requires Did not upgrade .NET Framework 1.1 code – Requires

upgrades to the project files and the codeupgrades to the project files and the code● Minimal user impact – Visual Studio 2008 Team Minimal user impact – Visual Studio 2008 Team

Foundation Server supports Visual Studio 2005 clientsFoundation Server supports Visual Studio 2005 clients

Page 16: Vs2008  to improve Development

Deployment – Application and Data TiersDeployment – Application and Data Tiers

● Upgrades handled by the operations teamUpgrades handled by the operations team● Performed an in-place upgrade of Visual Performed an in-place upgrade of Visual

Studio 2008 Team Foundation ServerStudio 2008 Team Foundation Server● The team experienced a simplified server The team experienced a simplified server

installation over that of earlier versions of installation over that of earlier versions of Team Foundation ServerTeam Foundation Server

● The new version of Team Foundation The new version of Team Foundation Server enables the team to reclaim space in Server enables the team to reclaim space in the data tierthe data tier

Page 17: Vs2008  to improve Development

Deployment – Client TierDeployment – Client Tier

● End-user downtime was the most critical aspect of the End-user downtime was the most critical aspect of the upgrade – For one group, downtime could affect over 800 upgrade – For one group, downtime could affect over 800 peoplepeople

● Used the following upgrade approachUsed the following upgrade approach● Upgrade existing projectsUpgrade existing projects● Upgrade build serversUpgrade build servers● Upgrade build scriptsUpgrade build scripts● Install Visual Studio 2008 on client computersInstall Visual Studio 2008 on client computers

● Used a team-by-team progression to upgrade the client Used a team-by-team progression to upgrade the client tier in an incremental mannertier in an incremental manner

● Kept a Visual Studio 2003 implementation to support a Kept a Visual Studio 2003 implementation to support a large .NET Framework 1.1 code baselarge .NET Framework 1.1 code base

Page 18: Vs2008  to improve Development

The ResultsThe ResultsUser Experience EnhancementsUser Experience Enhancements

● Simplified development environment – Program Simplified development environment – Program development in Microsoft IT has become more development in Microsoft IT has become more standardized standardized

● Improved visibility in project progression – Improved visibility in project progression – Managers can view detailed information about a Managers can view detailed information about a project’s progressproject’s progress

● Improved source control management – Teams Improved source control management – Teams can now easily manage the branch structure for can now easily manage the branch structure for their projectstheir projects

● Enhanced deployment – Server installation in the Enhanced deployment – Server installation in the back-end is easier and less prone to user errorback-end is easier and less prone to user error

ResultsResultsBenefitsBenefits

Page 19: Vs2008  to improve Development

Best PracticesBest Practices

● Use an incremental upgrade approachUse an incremental upgrade approach● Communicate with product groups to locate Communicate with product groups to locate

and remove unneeded projectsand remove unneeded projects● Use centralized groups to manage Use centralized groups to manage

permissions – Microsoft IT uses centralized permissions – Microsoft IT uses centralized groups to manage permissions to Windows groups to manage permissions to Windows SharePoint Services and Team Foundation SharePoint Services and Team Foundation ServerServer

Page 20: Vs2008  to improve Development

SummarySummary

● A platform is available to let you manage A platform is available to let you manage project development from a business project development from a business perspectiveperspective

● Visual Studio Team System includes tools Visual Studio Team System includes tools to improve collaboration among project to improve collaboration among project team membersteam members

● Improvements in source code management Improvements in source code management help reduce costly development errorshelp reduce costly development errors

Page 21: Vs2008  to improve Development

For More InformationFor More Information

● Additional content on Microsoft IT Additional content on Microsoft IT deployments and best practices can be deployments and best practices can be found on http://www.microsoft.comfound on http://www.microsoft.com● Microsoft IT Showcase WebcastsMicrosoft IT Showcase Webcasts

http://www.microsoft.com/howmicrosoftdoesitwhttp://www.microsoft.com/howmicrosoftdoesitwebcastsebcasts

● Microsoft TechNetMicrosoft TechNet http://www.microsoft.com/technet/itshowcasehttp://www.microsoft.com/technet/itshowcase

Page 22: Vs2008  to improve Development

This document is provided for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT.

© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY. Microsoft, Microsoft Press, Visual Studio, Visual SourceSafe, Windows and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and products mentioned herein may be the trademarks of their respective owners.

Page 23: Vs2008  to improve Development

AppendixAppendix