Using Visual Studio 2008 to Improve Software Development Published: June 2008 Deploying Visual Studio Team System 2008 Team Foundation Server at Microsoft Agenda ● ● ● ● The Former Development Environment Project Management Issues The Team Foundation Server Deployment Benefits Microsoft IT Former Development Environment 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 offthe-shelf products for source code control Larger teams used custom databases and internally-developed tools Cross-project reporting was very difficult Development environment used a “silo” approach Project Development Management Challenges and Requirements Requirements Challenges • • • • Traceability • Scope creep • Missed features Business value – No effective method was available to assign value to a program feature Visibility issues Source code management issues • • • Need a method to build a project from a business perspective Need a method to break down program requirements Need a method to promote traceability Results/Benefits • • • • • Assign business value to program features. Break requirements into work items. Create tasks based on work items. Force change control to eliminate scope creep. Improve visibility into work item progress. Goals and Objectives ● ● ● Moving towards more formalized development methodologies and frameworks Implementing standardized metrics to measure success Leveraging Team Foundation Server to facilitate the program delivery process Team Foundation Server – Deployment ● ● ● April 2006 – Visual Studio 2005 ● Some groups start to migrate projects to Team Foundation Server January 2008 – Upgrade to Visual Studio 2008 ● Project migration to Team Foundation Server continues ● All new projects are created in Team Foundation Server June 2008 – All Microsoft IT projects hosted by Team Foundation Server The Solution ● Four Team Foundation Server instances ● ● ● Solution Three instances deployed on physical servers One instance deployed by using virtual machines Physical instances use commodity hardware ● ● ● ● Application tier – Four processor, four gigabyte (GB) RAM-based computers Data tier – Four dual-code processor, 32 GB RAMbased computers Analysis Services – Four dual-core processor, 32 GB RAM-based computers Windows Server 2003 x64 Edition Products and Technology ● ● ● ● ● ● Visual Studio 2008 Team Foundation Server SQL Server 2005 Windows SharePoint Services Team System Web Access Source code control Deployment Characteristics – Physical Instances Storage area network Fibre Channel connections Gigabit Ethernet Application tier Database engine Network switch Analysis server Data tier ` ` Microsoft Visual Studio Team Explorer clients Client tier Team Build server Deployment Characteristics – Virtual Instance Storage area network Fibre Channel connection Virtual machine Virtual machine Gigabit Ethernet Application tier Network switch Database engine Analysis server Data tier ` ` Microsoft Visual StudioTeam Explorer clients Client tier Team Build server Deployment Characteristics – Project Migration 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 How it Works ● Management benefits ● ● ● ● Centralized source code storage Improved project visibility Improved source code management – Tree pruning Centralized storage benefits ● ● Source code is located on a single enterprise platform – Allows for easier reorganization of groups across Microsoft IT Windows SharePoint Services hosts project documents – Electronic records generate a more realistic project representation How it Works (cont) ● Improved reporting capabilities ● ● ● ● Storing TSP/PSP information in work items Easier to monitor lines of code and productivity – Visual Studio 2008 lets you expand project tasks to examine individual work items Potential blocking issues are easier to detect – Gives the ability to work proactively with project tasks Improved project collaboration ● ● Team System Web Access lets you access Team Foundation Server from a Web browser Team System Web Access returns information as query string parameters – Easy to e-mail a link to a query How it Works (cont) ● Easy repository branch management ● ● ● Lets project managers fix incorrect or suboptimal branch structures Reduces costly development errors – Developers less likely to work from an incorrect code branch Easy project deletion ● ● Reduces database storage requirements Reduces cache size – Speeds project access Deployment ● Deployed by using an incremental approach ● ● ● ● ● ● Back-end servers upgraded by using an in-place upgrade Client tier servers upgraded between release cycles Updating team build definition scripts required one month Used a small team to work with each development team to upgrade computers in the client tier Did not upgrade .NET Framework 1.1 code – Requires upgrades to the project files and the code Minimal user impact – Visual Studio 2008 Team Foundation Server supports Visual Studio 2005 clients Deployment – Application and Data Tiers ● ● ● ● Upgrades handled by the operations team Performed an in-place upgrade of Visual Studio 2008 Team Foundation Server The team experienced a simplified server installation over that of earlier versions of Team Foundation Server The new version of Team Foundation Server enables the team to reclaim space in the data tier Deployment – Client Tier ● ● End-user downtime was the most critical aspect of the upgrade – For one group, downtime could affect over 800 people Used the following upgrade approach ● ● ● ● ● ● Upgrade existing projects Upgrade build servers Upgrade build scripts Install Visual Studio 2008 on client computers Used a team-by-team progression to upgrade the client tier in an incremental manner Kept a Visual Studio 2003 implementation to support a large .NET Framework 1.1 code base The Results Results Benefits User Experience Enhancements ● ● ● ● Simplified development environment – Program development in Microsoft IT has become more standardized Improved visibility in project progression – Managers can view detailed information about a project’s progress Improved source control management – Teams can now easily manage the branch structure for their projects Enhanced deployment – Server installation in the back-end is easier and less prone to user error Best Practices ● ● ● Use an incremental upgrade approach Communicate with product groups to locate and remove unneeded projects Use centralized groups to manage permissions – Microsoft IT uses centralized groups to manage permissions to Windows SharePoint Services and Team Foundation Server Summary ● ● ● A platform is available to let you manage project development from a business perspective Visual Studio Team System includes tools to improve collaboration among project team members Improvements in source code management help reduce costly development errors For More Information ● Additional content on Microsoft IT deployments and best practices can be found on http://www.microsoft.com ● ● Microsoft IT Showcase Webcasts http://www.microsoft.com/howmicrosoftdoesitw ebcasts Microsoft TechNet http://www.microsoft.com/technet/itshowcase 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. Appendix
© Copyright 2024