Vs2008 to improve Development


Published on

Using VS 2008 to improve Software Development

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Abstract Microsoft IT used Team Foundation Server to standardize software development practices. Additionally, the solution provides improved visibility into software development at Microsoft IT. Introduction To support the IT infrastructure in the largest software company in the world, the Microsoft Information Technology (Microsoft IT) department is responsible for the ongoing development of more than 1,400 software applications that consist of approximately 2 million lines of code. These applications are a critical part of managing the day-to-day business operations at Microsoft. These business operations include the following: Sales Marketing Software licensing and operations Services Other corporate functions such as human resources (HR), legal, and finance. Microsoft IT employs approximately 11,000 people who develop and support internal business applications. As part of its mandate to support internal business applications, Microsoft IT implemented the Program Delivery Engineering Excellence strategic initiative. The goal of this initiative is to improve code quality, developer productivity, and the accuracy of the programming schedule and the programming budget for software development at Microsoft IT. To make these improvements, Microsoft IT created a series of metrics that it can use to define guidelines for software development among all of its development groups. Additionally, Microsoft IT gave these groups the tools to gather the appropriate metrics. As part of the movement toward supporting formalized development methodologies, Microsoft IT deployed Microsoft® Visual Studio® 2005 Team Foundation Server in its environment. This deployment was very successful, and many projects were migrated to the new system. With the development of Microsoft Visual Studio 2008, Microsoft IT determined that it could expand on the improvements that Visual Studio 2005 made to developer productivity without increasing hardware costs. Additionally, because of improvements in the functionality and feature set of the new product, Microsoft IT determined that it could reduce costs when migrating development projects to the new system and increase overall developer productivity with the new system. This document describes how Microsoft IT implemented Microsoft Visual Studio Team System 2008 Team Foundation Server to improve software development at Microsoft IT. An IT Showcase webcast called How Microsoft IT Leverages Microsoft’s Enterprise IT Development Platform includes a discussion on this topic. The webcast is available at http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032379180&Culture=en-US . Delete this instructional text box before publishing this presentation. Replace all text between marks (<>) as instructed, then delete marks. Update the notes page master with the presentation’s title and sub-title (view/master/notes master). The Showcase PM should create the Abstract on this notes page. Insert the Introduction in the appropriate section on this notes page.
  • Vs2008 to improve Development

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